1. 程式人生 > >python爬蟲系列二:requests-設定headers(3)

python爬蟲系列二:requests-設定headers(3)

1、為什麼要設定headers?
在請求網頁爬取的時候,輸出的text資訊中會出現抱歉,無法訪問等字眼,這就是禁止爬取,需要通過反爬機制去解決這個問題。headers是解決requests請求反爬的方法之一,相當於我們進去這個網頁的伺服器本身,假裝自己本身在爬取資料。
2、 headers在哪裡找?
谷歌或者火狐瀏覽器,在網頁面上點選右鍵,–>檢查–>剩餘按照圖中顯示操作,需要按Fn+F5刷新出網頁來
這裡寫圖片描述
3、headers中有很多內容,主要常用的就是user-agent 和 host,他們是以鍵對的形式展現出來,如果user-agent 以字典鍵對形式作為headers的內容,就可以反爬成功,就不需要其他鍵對;否則,需要加入headers下的更多鍵對形式。

import requests
res=requests.get("http://www.dianping.com/",headers=headers)
print(res.text)
#輸出會出現:抱歉!頁面無法訪問....這就是限制爬蟲了

#解決方法:加入headers,在requests.get(headers=headers)裡面,新增headers
#構建headers

import requests
headers={
"Host": "www.dianping.com"
"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36"
} res=requests.get("http://www.dianping.com/",headers=headers) print(res.text)