python - 抓取网站时出现错误 "Took longer than 180.0 seconds"。为什么?

标签 python python-2.7 scrapy

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

Took longer than 180.0 seconds

出现这个问题的原因是什么,有什么具体的解决办法吗?

这是此消息的屏幕截图。 image

最佳答案

您在下载时遇到了 scrapy 超时。

参见 DOWNLOAD_TIMEOUT

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

根据文档你的设置

can be populated using different mechanisms, each of which having a different precedence. Here is the list of them in decreasing order of precedence:

Command line options (most precedence)
Settings per-spider
Project settings module
Default settings per-command
Default global settings (less precedence)

你没有分享你的代码,所以很难说,但是你要么修改你的蜘蛛的设置,要么将它们作为命令行选项提供。

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

关于python - 抓取网站时出现错误 "Took longer than 180.0 seconds"。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50118568/

相关文章:

python - WinError 2 系统找不到指定的文件(Python)

python - Scrapy 不使用我当前的语法返回网页的文本正文

python - Scrapy 遗漏了一些 html 元素

python - 从列表中删除字典

python - 使用不同目录中的源代码构建 Python 包

python - 如何获取当前的python解释器路径

python - 如何选择性地转义 Python 字符串中的百分比 (%)?

python - 是否可以找到具有相同dom结构的节点

python - 清理一列字符串并添加新列的更有效方法

python - 傅立叶空间中的滤波器表现不佳