2010-08-06 96 views
5

在過去的一個月中,我一直在使用Scrapy開展一個網絡爬蟲項目。最佳網絡圖爬行速度?

該項目涉及從主頁可訪問的單個域名中拉下所有網頁的全部文檔內容。使用Scrapy編寫它非常簡單,但運行速度太慢。在2-3天內,我只能打10萬頁。

我意識到我最初的觀點認爲Scrapy並不適合這種類型的抓取,這是在揭示它自己。

我已經開始專注於Nutch和Methabot,希望有更好的表現。我需要在抓取過程中存儲的唯一數據是網頁的全部內容,並且最好是頁面上的所有鏈接(但即使這些數據可以在後期處理中完成)。

我在尋找一種快速並使用許多並行請求的爬網程序。

回答

5

這是我的錯,服務器不是Scrapy。服務器可能沒有你想要的那麼快,也可能是它(或網站管理員)檢測到抓取並限制此連接/ cookie的速度。 你使用代理服務器嗎?這也可能會減慢爬行速度。 這可能是Scrapy的智慧,如果你爬得太緊密,你可能會禁止在這臺服務器上。對於我的C++ handwritten crawler我人爲地設置了每秒1個請求的限制。但是這個速度足夠用於1個線程(1個請求* 60秒* 60分鐘* 24個小時= 86400個請求/天)。如果你感興趣,你可以寫信給whalebot.helmsman {AT} gmail.com。

+0

它也可能是你的ISP。 – 2013-02-12 18:22:06

2

Scrapy允許您確定併發請求的數量和its settings中的請求之間的延遲。

0

你知道瓶頸在哪裏嗎?正如whalebot.helmsman所指出的那樣,這個限制可能不在Scrapy本身,而是在你爬行的服務器上。

您應該首先找出瓶頸是網絡還是CPU。