所以我想刮从分页网站的文章。基本上,每个页面都是文章链接的列表,并且蜘蛛遵循parse_article
方法在页面上的链接以及在下一个连续页面链接之后。但是,在给定数量的文章被刮掉后,有没有办法让这个停止?例如,这是我迄今使用crawlspider
:Scrapy在条件下停止分页?
rules = (
#next page rule:
Rule(LinkExtractor(restrict_xpaths="//a[@class='next']"),follow=True)
#Extract all internal links which follows this regex:
Rule(LinkExtractor(allow=('REGEXHERE',),deny=()),callback='parse_article'),
)
def parse_article(self, response):
#do parsing stuff here
我想停下来之后的下一个页面,一旦我已经解析了150篇。无论我是否超过150,我只是想在达到这个数字后停止进入下一页。有没有办法做到这一点?就像在parse_article
方法中有一个计数器一样? scrapy
只是新的,所以我不知道该怎么尝试....我看着depth_limit,但我不太确定这就是我正在寻找的。
任何帮助将不胜感激,谢谢!
感谢您的建议!但是,对于一个包含多个蜘蛛的项目,是否可以让这个'CLOSESPIDER_ITEMCOUNT'只适用于一个蜘蛛? – ocean800
@ ocean800我已经更新了我的答案。请尝试让我知道它是否按预期工作 –
对不起,对于迟到的回复,但它的工作,谢谢:) – ocean800