Python 2.7 从FTP下载文件
我需要从FTP下载一组使用scrapy的csv。但是首先我需要抓取一个网站()以便在ftp中获取csv的URL 设置Python 2.7 从FTP下载文件,python-2.7,file,download,ftp,scrapy,Python 2.7,File,Download,Ftp,Scrapy,我需要从FTP下载一组使用scrapy的csv。但是首先我需要抓取一个网站()以便在ftp中获取csv的URL 设置 custom_settings = { 'ITEM_PIPELINES': { 'scrapy.pipelines.files.FilesPipeline': 1, }, 'FILES_STORE' : os.path.dirname(os.path.abspath(__file__)) }
custom_settings = {
'ITEM_PIPELINES': {
'scrapy.pipelines.files.FilesPipeline': 1,
},
'FILES_STORE' : os.path.dirname(os.path.abspath(__file__))
}
解析
def parse(self, response):
self.logger.info("In parse method!!!")
# Property Ownership
property_ownership = response.xpath("//a[contains(., 'Property Ownership')]/@href").extract_first()
# Property Location
property_location = response.xpath("//a[contains(., 'Property Location')]/@href").extract_first()
# Property Improvements
property_improvements = response.xpath("//a[contains(., 'Property Improvements')]/@href").extract_first()
# Property Value
property_value = response.xpath("//a[contains(., 'Property Value')]/@href").extract_first()
item = FiledownloadItem()
self.insert_keyvalue(item,"file_urls",[property_ownership, property_location, property_improvements, property_value])
yield item
但是我犯了以下错误
回溯(最近一次调用上次):文件
“/usr/local/lib/python2.7/dist-packages/twisted/internet/defer.py”,
第653行,正在运行回调
current.result=回调(current.result,*args,**kw)文件“/usr/local/lib/python2.7/dist packages/scrapy/pipelines/media.py”,
第79行,过程中项目
requests=arg_to_iter(self.get_media_requests(item,info))文件“/usr/local/lib/python2.7/dist packages/scrapy/pipelines/files.py”,
第382行,在获取媒体请求中
返回[item.get(self.files\u url\u field,[])文件中x的请求(x)]
“/usr/local/lib/python2.7/dist packages/scrapy/http/request/init.py”,
第25行,在init
self.\u set\u url(url)文件“/usr/local/lib/python2.7/dist-packages/scrapy/http/request/init.py”,
第58行,输入设置url
raise VALUERROR('请求url中缺少方案:%s'%self.\u url)VALUERROR:请求url中缺少方案:[
对我的问题最好的解释就是这个问题,它解释了问题是要下载的URL缺少“http://”
在我的情况下我应该怎么做?我可以使用文件管道吗?或者我需要做一些不同的事情
提前谢谢
ValueError('请求url中缺少方案:%s'%self.\u url)
ValueError:请求url中缺少方案:[
根据回溯,scrapy认为您的文件url是“[”。我最好的猜测是您在
insert\u keyvalue()
方法中有一个错误。还有,为什么要有这样的方法呢?简单的作业应该有效。这正是我的问题,非常感谢,我认为我的问题是另一个问题。简单的作业应该有效,但我通常使用这种方法,因为对于其他项目,我需要验证结果是否无效。