问题
如何在Scrapy中忽略响应的内容长度?
解释
考虑这个curl命令“
curl -u <user:pass> http://data.icecat.biz/export/level4/NL/files.index.xml
它目前失败,因为Icecat已经错误地设置了内容长度标题。
我们可以通过使用curl的 ignore-content-length 参数忽略内容长度来解决这个问题:
curl --ignore-content-length -u <user:pass> http://data.icecat.biz/export/level4/NL/files.index.xml
一切正常!
但我不知道如何在Scrapy中执行此操作。 谷歌和文档对我没有任何启示。
在我深入研究Scrapy代码来解决这个问题之前,也许有人已经这样做了。
答案 0 :(得分:2)
您可以在命令行使用download_maxsize=0
将Scrapy下载的最大响应大小设置为“无限制”(使用scrapy crawl myspider -s download_maxsize=0
)。默认值为1024字节。
您也可以在scrapy.spiders.Spider.custom_settings
属性,Scrapy项目的myproject.settings
模块中的每个项目或scrapy.settings.default_settings
模块中的全局项目中执行每个蜘蛛。
答案 1 :(得分:1)
此问题已在Scrapy 1.5中修复 引入了新设置 - DOWNLOAD_FAIL_ON_DATALOSS 您需要在项目设置中将其设置为False。