我正在研究Python中的一個多進程蜘蛛。它應該開始抓取一個頁面的鏈接,並從那裏工作。具體而言,頂級頁面包含類別列表,這些類別中的第二級頁面事件以及事件中的最終第三級頁面參與者。我無法預測將會有多少類別,活動或參與者。在Python中設計一個多進程蜘蛛
對於如何最好地設計這樣一個蜘蛛,特別是如何知道它何時完成爬行(預計它將繼續前進直到它發現並檢索每個相關頁面),我有點不知所措, 。
理想情況下,第一次刮會是同步的,其他所有異步最大化並行解析和添加到數據庫,但我堅持如何確定何時完成抓取。
對於並行進程,特別是上面的問題,你會如何建議我構建蜘蛛?
嗯。我怎麼知道隊列是空的,因爲一切都完成了,或者因爲比工作進程更少的類別,即使這個隊列還沒有完成,它會清空隊列? – wbg 2009-11-23 18:39:35
對不起,我發佈的過快。我更多地考慮過你說的,multiprocessing.JoinableQueue.task_done()和.join()正是我正在尋找的。我只需要確保在調用task_done()之前將新任務添加到隊列中。 謝謝! – wbg 2009-11-23 18:52:51