2012-02-15 103 views

回答

12

在調度重複的過濾器僅過濾掉已經看到在一個單一的蜘蛛運行的URL(這意味着它會被重置在後續運行中)。 IgnoreVistedItems中間件將保持運行之間的狀態並避免在過去看到的訪問URL,但僅限於最終的項目URL,以便可以重新爬取網站的其他部分(以便查找新項目)。

+0

太棒了。這是我想到的另一個問題,就是如何避免在運行之間重新訪問URL。所以這個答案解決了這兩個查詢。謝謝。 – Divick 2012-02-20 06:52:36

+1

查看了上面的快速片段中存在的IgnoreVisitedItems中間件的源代碼,它似乎並未將訪問過的url存儲在文件或永久存儲器中,因此似乎沒有修改它就會像重複過濾器一樣調度程序。 – Divick 2012-02-27 19:54:11

+0

也不清楚你會怎麼稱呼單次跑步和後續跑步。這是否意味着停止刮板和再次運行刮板將是後續運行或刮板調用一組網址下載將被稱爲單次運行,然後另一組網址作爲另一個運行下載? – Divick 2012-02-27 19:55:10