古詩詞大全網 - 字典詞典 - spider中的仿瀏覽器抓取(User-Agent)

spider中的仿瀏覽器抓取(User-Agent)

? 有些網站為了防止spider對客戶信息的抓取或者抓取壹些信息被他人所利用,對訪問網站進行了壹定的限制,但這些網頁可以通過瀏覽器正常訪問,因此,我們通過把spider偽裝成瀏覽器對網頁進行抓取,這些步驟通過在urlopen(url,headers)中添加headers來完成。

1.通過spider打開壹個csdn博主的主頁,會發現狀態碼返回403,這就說明這個博客網頁加了限制。

我們先通過Google的chrome瀏覽器打開這個csdn博客(/jizhen_tan/article/details/51661203),再通過F12打開抓包工具,找到network這壹選項欄再刷新網頁,就會發現這些東西:

?我們點開第壹個Name51661203,會在headers中發現有三個元素:General、Response Headers、Requset Headers。我們要做的是模仿Requset Headers中的寫法來把spider偽裝成瀏覽器對網頁進行訪問。

2.這次用到的庫為urllib2,它是urllib的擴展。

在headers中主要添加四個元素:User-Agent、Host、GET,這些都可以在Requset Headers中找到。headers是壹個字典型。

3.壹些網站會對User-Agent進行檢測,如果壹個時間段內過多的訪問就會遭到封IP,因此我們可以通過隨機變換User-Agent來進行訪問:

通過壹個循環來實現: