鍍金池/ 問答/數(shù)據(jù)分析&挖掘/ 爬蟲如何確定什么時候停止

爬蟲如何確定什么時候停止

想問一下,寫一個爬蟲,如何判斷該爬蟲什么時候應該停止呢?
初始狀態(tài)為一個url;然后有一個

while(isNotEmpty(urlList)){
    // do something
}

我的思路是這樣,但是會有放入隊列url 的速度跟不上消費的速度,以至于出現(xiàn)了urlList為空的情況,這時候爬蟲就停掉了。我想問下,有哪位大牛自己寫過爬蟲的框架,是根據(jù)什么條件決定爬蟲停止運行的。

回答
編輯回答
熊出沒

思路有點奇怪,urlList的鏈接也是自己放進去吧,放一個爬一個不就行了。什么時候不往urlList放鏈接爬蟲就停了。

2017年4月13日 11:54
編輯回答
葬憶

爬蟲怎么停止,不是取決于你自己的業(yè)務的嗎。
爬蟲只要做好去重就好了。
爬蟲如果可控, 用單進程取代多線程。通過殺死進程的方法??刂婆老x程序。
screen 部署爬蟲項目。

2017年11月19日 13:32
編輯回答
話寡

視要爬取的具體情況來定:

(1)情況一:對指定網(wǎng)站,全量爬取完之后,爬蟲的全量爬取停止,之后都用定時任務爬取增量數(shù)據(jù)
(2)情況二:使用Kafka或其他消息隊列,只要監(jiān)聽到有爬取的topic,就執(zhí)行爬取,否則就一直處于待命狀態(tài)
2018年8月9日 05:51