天天看點

精通Python網絡爬蟲:核心技術、架構與項目實戰.3.5 身份識别

<b>3.5 身份識别</b>

<b></b>

在爬蟲對網頁爬取的過程中,爬蟲必然需要通路對應的網頁,正規的爬蟲一般會告訴對應網頁的網站站長其爬蟲身份。網站的管理者則可以通過爬蟲告知的身份資訊對爬蟲的身份進行識别,我們稱這個過程為爬蟲的身份識别過程。

那麼,爬蟲應該如何告知網站站長自己的身份呢?

一般地,爬蟲在對網頁進行爬取通路的時候,會通過http請求中的user agent字段告知自己的身份資訊。一般爬蟲通路一個網站的時候,首先會根據該站點下的robots.txt檔案來确定可爬取的網頁範圍,robots協定是需要網絡爬蟲共同遵守的協定,對于一些禁止的url位址,網絡爬蟲則不應爬取通路。同時,如果爬蟲在爬取某一個站點時陷入死循環,造成該站點的服務壓力過大,如果有正确的身份設定,那麼該站點的站長則可以想辦法聯系到該爬蟲方,然後停止對應的爬蟲程式。

當然,有些爬蟲會僞裝成其他爬蟲或浏覽器去爬取網站,以獲得一些額外資料,或者有些爬蟲,會無視robots協定的限制而任意爬取。從技術的角度來說,這些行為實作起來不難,但是這些行為是我們不提倡的,因為隻有共同遵守一個良好的網絡規則,才能夠達到爬蟲方和站點服務方的雙赢。