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

爬蟲如何確定什么時(shí)候停止

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

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

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

回答
編輯回答
熊出沒

思路有點(diǎn)奇怪,urlList的鏈接也是自己放進(jìn)去吧,放一個(gè)爬一個(gè)不就行了。什么時(shí)候不往urlList放鏈接爬蟲就停了。

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

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

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

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

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