所以我想刮從分頁網站的文章。基本上,每個頁面都是文章鏈接的列表,並且蜘蛛遵循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