scrapy - 当错误的请求号码到达我设置的号码时停止爬虫的最佳实践
问题描述
例如,我有 400 个页面要抓取。有些页面可能会返回 3xx 或 4xx 。我希望当错误请求的数量达到 100 个时,例如。scrapy 任务自动停止.Thks~
解决方案
您可以使用不同的系统:
- 类中的全局变量(不推荐,但可能是最简单的解决方案)
- 使用管道将其存储在数据库中
达到您配置的数量后,您可以使用以下命令停止爬虫:
if errors > maxNumberErrors:
raise CloseSpider('message error')
或(来自这个答案)
from scrapy.project import crawler
crawler._signal_shutdown(9,0)
推荐阅读
- powerbi - Power BI 排名
- typescript - Typescript Axios 类型作为回报
- python - 将特定字符串转换为 pandas 数据框
- plsql - 使用 myBatis 查询 sysdate 有问题吗?
- r - 在 R 中透视/重塑数据
- javascript - jest.fn() 的别名?
- tensorflow - L-BFGS 是否有 tf.keras.optimizers 实现?
- android - 正则表达式删除除句点以外的所有特殊字符
- javascript - React Js onClick 下拉菜单打开
- amazon-web-services - AWS S3 - 指定的密钥不存在。- 对于上传的文件夹