首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何告诉抓取爬虫停止动态跟踪更多的链接?

如何告诉抓取爬虫停止动态跟踪更多的链接?
EN

Stack Overflow用户
提问于 2015-07-22 14:03:01
回答 3查看 473关注 0票数 1

基本上,我对页面后面有一个正则表达式

每页有50个链接

当我点击一个太老的链接(基于预定义的日期-时间)

我想告诉scrapy停止跟踪更多的页面,但不是完全停止它,它必须继续刮掉它已经决定刮掉-> (完成创建的所有Request对象)的链接。只是它不能跟随任何更多的链接。所以这个程序最终会停止运行(当它完成了所有的链接)

我能在蜘蛛里面做这个吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-07-23 14:39:48

Scrapy的CrawlSpider有一个内部的_follow_links成员变量,这个变量还没有文档化(目前是实验性的)

设置self._follow_links = False将告诉scrapy停止跟踪更多的链接。但是继续完成它已经创建的所有Request对象。

票数 0
EN

Stack Overflow用户

发布于 2015-07-22 14:04:42

一旦点击了“太旧”页面,就会抛出CloseSpider异常。在这种情况下,Scrapy将完成正在计划的链接处理,然后关闭。

票数 0
EN

Stack Overflow用户

发布于 2017-08-29 06:36:40

从回调引发CloseSpider异常。

代码语言:javascript
复制
def parse_page(self, response):
if 'Bandwidth exceeded' in response.body:
    raise CloseSpider('bandwidth_exceeded')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31565422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档