首页 > 解决方案 > 当错误的请求号码到达我设置的号码时停止爬虫的最佳实践

问题描述

例如,我有 400 个页面要抓取。有些页面可能会返回 3xx 或 4xx 。我希望当错误请求的数量达到 100 个时,例如。scrapy 任务自动停止.Thks~

标签: scrapy

解决方案


您可以使用不同的系统:

  • 类中的全局变量(不推荐,但可能是最简单的解决方案)
  • 使用管道将其存储在数据库中

达到您配置的数量后,您可以使用以下命令停止爬虫:

if errors > maxNumberErrors:
    raise CloseSpider('message error')

或(来自这个答案)

from scrapy.project import crawler
crawler._signal_shutdown(9,0)

推荐阅读