Web 瀏覽器與 Web Scrapper 之間的每秒請求數

Web 瀏覽器與 Web Scrapper 之間的每秒請求數

我的理解:當 Web 瀏覽器發出查看頁面的請求時,伺服器會使用 HTML 來回應。然後,Web 瀏覽器呈現該 HTML 程式碼,並在不到一秒鐘(給予或接受)的時間內將其在 HTML 中看到的每個嵌入物件(例如圖像)的請求傳送到伺服器。但是,使用 Web Scrapper 向伺服器發出請求,僅抓取 HTML,完全不渲染 HTML。

網頁抓取的正確禮儀表明,您應該將請求限制為每秒最多一次,以免伺服器過載。

那麼,為什麼當Web 瀏覽器為每個嵌入物件發送一個請求(一秒內多個請求)時沒有問題,但對於Web Scrapper 來說,一秒鐘發送多個請求,只是針對不同頁面的HTML 來源,卻是一個問題呢?

答案1

網路抓取工具(不是抓取工具)使用延遲的原因是:

  • 隱藏他們正在抓取網絡並被禁止訪問他們試圖抓取的網站(透過在頁面之間使用輕微的延遲,它們看起來更像是由正在網上沖浪的人類操作的網絡瀏覽器)
  • 出於對網站所有者的禮貌(在很短的時間內請求大量數據可能會使伺服器超載,並使網站對網站的其他用戶似乎沒有回應)

當您的瀏覽器(或網頁抓取工具)請求頁面時,它不必在請求同一頁面上的物件之間等待整整一秒。它可以立即請求它們 - 這會帶來更好的用戶體驗(更快的頁面加載)。

「普通」用戶不會做的是在很短的時間內請求不同的頁面。
使用者會查看一個頁面,點擊連結進入下一頁等。這很可能是您在問題中提到的 1 秒延遲。

顯然,為了快速抓取網站,網頁抓取工具會希望使用盡可能短的延遲。他們將使用不同的方法來加速這個過程(例如並行抓取多個網站;使請求看起來好像來自多個不同的使用者)。
對於網頁抓取工具來說,延遲的原因和完成工作的必要性之間總是需要權衡。

有關更多信息,請參閱以下條目維基百科

相關內容