2011-10-14 50 views
3

我正在與圖書管理員合作,重新組織他的數碼攝影檔案。Web Scraper:限於單個域每分鐘/小時的請求數?

我已經構建了一個Python機器人MechanizeBeautifulSoup來從一個集合中抽取大約7000個結構性很差且溫和的不正確/不完整的文檔。數據將被格式化爲電子表格,他可以用它來糾正它。現在,我總共猜測7500個HTTP請求來構建搜索字典,然後收集數據,不計算代碼中的錯誤和遺漏,隨着項目的進展,還有更多。

我認爲我可以提出這些請求的速度有一些內置的限制,即使沒有,我也會給我的機器人延遲表現出對負擔過重的Web服務器的禮貌。我的問題(不可能完全準確地回答)是關於在遇到內置速率限制之前可以多快地發出HTTP請求?

我不希望發佈我們正在抓取的域名的URL,但如果相關,我會問我的朋友是否可以分享。

注意:我意識到這是而不是解決我們的問題的最佳方法(重構/組織數據庫),但我們正在構建一個概念證明來說服上級相信我的朋友與數據庫的副本,他將從中導航必要的官僚機構,以便我直接處理數據。

他們也向我們提供了ATOM feed的API,但它需要一個關鍵字來搜索,並且對於逐步瀏覽特定集合中的每張照片似乎沒有用處。

+1

我建議你每秒提出一個請求,並在夜間或週末運行。你應該保存。 – janoliver

回答

4

HTTP沒有內置速率限制。最常見的網絡服務器不是開箱即用以限制速度。如果速度限制已經到位,那麼網站的管理員幾乎肯定會將其放在那裏,並且您不得不問他們配置了什麼。

某些搜索引擎會對robots.txt表示一個非標準擴展程序,建議使用率限制,因此請在robots.txt中檢查Crawl-delay

HTTP確實有併發連接兩個連接的限制,但瀏覽器已經開始忽略這一點,並且正在努力修改該部分標準,因爲它已經過時了。

+0

robots.txt(= PERFECT!「Crawl-delay:10」 - 我假設這意味着10秒? –

相關問題