【发布时间】:2016-05-21 21:07:30
【问题描述】:
为什么我会收到这个错误?
[scrapy] WARNING: File (code: 302): Error downloading file from <GET <url> referred in <None>
该 URL 似乎在我的浏览器中下载没有任何问题,并且 302 只是一个重定向。为什么 scrapy 不直接按照重定向下载文件?
process = CrawlerProcess({
'FILES_STORE': 'C:\\Users\\User\\Downloads\\Scrapy',
'USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)',
'ITEM_PIPELINES': {'scrapy.pipelines.files.FilesPipeline': 1},
})
process.crawl(MySpider)
process.start() # the script will block here until the crawling is finished
【问题讨论】:
-
尝试不同的用户代理,这里是我的浏览器:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36 -
用户代理不工作。我怀疑 donwloader 中间件有问题,因为我能够使用 scrapy.Request 下载文件。我正在进一步调查。
-
好的,到目前为止我发现
request.meta.get('handle_httpstatus_all', False)在下载器中间件中返回true。