gpt4 book ai didi

python - Scrapy - 遇到重复项时停止爬虫

转载 作者:行者123 更新时间:2023-12-01 07:12:13 25 4
gpt4 key购买 nike

有很多网站我必须对页面跟随进行硬编码(在抓取项目后增加页码),其中一些网站在最后一页后返回到第 1 页。例如,如果网站有 25 页的项目,则向第 26 页发送请求会产生第一页的响应。

此时,Scrapy 的重复过滤器工作正常,不会抓取项目,但爬虫会继续运行。当像这样触发重复过滤器时,有什么方法可以停止抓取过程吗?

我不想像这样对页码进行硬编码,因为它会随着时间的推移而改变。

if self.page < 25:
yield scrapy.Request(...)

最佳答案

  1. 配置您的请求不被重复过滤器过滤掉(将 dont_filter=True 添加到请求构造函数)

  2. raise scrapy.exceptions.CloseSpider 时,使用请求回调来停止爬网程序 ( response.url )居然是首页的URL

关于python - Scrapy - 遇到重复项时停止爬虫,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58149088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com