在請求網頁爬取的時候,輸出的text訊息會出現抱歉,無法存取等字眼,這就是禁止爬取,需要透過反爬機制去解決這個問題。
headers是解決requests請求反爬的方法之一,相當於我們進去這個網頁的伺服器本身,假裝自己本身在爬取資料。
對反爬蟲網頁,可以設定一些headers訊息,模擬成瀏覽器取訪問網站 。
headers
「Google或火狐瀏覽器,在網頁面上點選:右鍵–檢查;點選更多工具-開發者工具;直接F12亦可。然後再按Fn F5刷新出網頁來顯示元素
有的瀏覽器是點選:右鍵->查看元素,刷新
相關推薦:《Python影片教學》
注意:headers中有很多內容,主要常用的就是user-agent 和host,他們是以鍵對的形式展現出來,如果user-agent 以字典鍵對形式作為headers的內容,就可以反爬成功,就不需要其他鍵對;否則,需要加入headers下的更多鍵對形式。
設定
import urllib2 import urllib values={"username":"xxxx","password":"xxxxx"} data=urllib.urlencode(values) url= "https://ssl.gstatic.com/gb/images/v2_730ffe61.png" user_agent="Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1" referer='http://www.google.com/' headers={"User-Agent":user_agent,'Referer':referer} request=urllib2.Request(url,data,headers) response=urllib2.urlopen(request) print response.read()
以上是python爬蟲怎麼設定請求頭的詳細內容。更多資訊請關注PHP中文網其他相關文章!