2010-12-09 37 views
4

我要抓取一個網站的一些信息。它大約有17萬多頁。那麼,我可以提出多少請求?我要提取直到HTML並獲得一些信息。這是一個非常受歡迎的網站,所以如果只是快速瀏覽所有網頁,我不認爲它會死亡......唯一讓我感到緊張的是我不知道擁有者是否會阻止我的IP或某些東西如果你這樣做?這是正常的嗎?我應該只加載5頁/分鐘?然後它將永遠......我想每24小時看一次新數據。我能夠以多快的速度抓取一個網站?

感謝您的回覆!

回答

1

每次請求後的第二個或兩個延遲應該足夠。儘可能快地讓你的機器人爬行可能實際上讓你被禁止。在我的日常工作中,我管理幾個報紙的網站,偶爾看到本土爬蟲。不好的可能會導致很多系統代碼,並導致IP黑名單的新增加。不要成爲那個人。

+0

我有5個IP地址。還有我隨機選擇的一個龐大的useragents列表。你認爲他們阻止我,如果每個IP請求1頁/ 2秒? – IQlessThan70 2010-12-09 06:05:17

1

只要你服從他們的robots.txt指示,你應該沒問題。我在兩次請求之間看到的標準延遲時間爲2秒 - 這通常是極限,之後您可能會開始阻止流量或IP被阻止。

+1

2秒只是一種非正式商定的延遲,或者是在某個地方建立的?另外,我應該如何解釋未指定抓取延遲的robots.txt文件?這是否意味着他們不關心我抓取的速度有多快,還是通常沒有指定?謝謝! – abw333 2013-01-23 21:35:52

+0

我不認爲它在任何地方正式建立。許多系統會建立2秒的默認值,如果你低於這個閾值,即使他們沒有提及它,或者不在乎,它會開始虐待你。 – blueberryfields 2013-01-24 20:41:22

5

這需要一段時間,實際上我建議你使用旋轉代理,並添加多線程。 10個線程會做。這樣,你可以同時有10個請求。使用代理服務器的速度會很慢,並且每次請求至少增加1.5秒的超時時間,這會減慢你的速度,但會降低被禁止的風險。

2

幾年前,我創建了一個webcrawler,每天從BBC的網站每晚抓取大約7GB(受帶寬限制),永遠不會被阻止,但在請求之間添加1秒的延遲是件好事。