在抓取网站时,我收到错误“超过180.0秒”。为什么?

时间:2018-05-01 14:43:56

标签: python python-2.7 scrapy scrapy-spider

当我运行脚本时,scrapy不断抛出这条消息:

{
    "errors": [{
        "message": "Parse error on \"query\" (STRING) at [1, 2]",
        "locations": [{
            "line": 1,
            "column": 2
        }]
    }]
}

此问题的原因是什么,以及针对此问题的具体解决方案?

以下是此消息的屏幕截图。 image

1 个答案:

答案 0 :(得分:6)

下载时你正在达到scrapy超时。

参见 DOWNLOAD_TIMEOUT

默认为360秒= 6分钟。调整设置以使其更长。

根据您的设置文档

  

可以使用不同的机制填充,每个机制具有不同的优先级。以下是按优先顺序递减的列表:

     

命令行选项(最优先)
  每蜘蛛的设置
  项目设置模块
  每个命令的默认设置
  默认全局设置(优先级较低)

您没有共享您的代码,因此很难分辨,但要么修改了蜘蛛的设置,要么将它们作为命令行选项提供。

scrapy crawl myspider -s DOWNLOAD_TIMEOUT=<some value that benefits you crawling>

另外,你可以像蜘蛛一样设置它们:

class MySpider(scrapy.Spider):
    name = 'myspider'

    custom_settings = {
        'DOWNLOAD_TIMEOUT': 'some value',
    }

有关详细信息,请参阅the settings-manual