您好,登錄后才能下訂單哦!
本文實例講述了Python3爬蟲學習之應對網站反爬蟲機制的方法。分享給大家供大家參考,具體如下:
如何應對網站的反爬蟲機制
在訪問某些網站的時候,網站通常會用判斷訪問是否帶有頭文件來鑒別該訪問是否為爬蟲,用來作為反爬取的一種策略。
例如打開搜狐首頁,先來看一下Chrome的頭信息(F12打開開發者模式)如下:
如圖,訪問頭信息中顯示了瀏覽器以及系統的信息(headers所含信息眾多,具體可自行查詢)
Python中urllib中的request模塊提供了模擬瀏覽器訪問的功能,代碼如下:
from urllib import request url = 'http://www.baidu.com' # page = request.Request(url) # page.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36') headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'} page = request.Request(url, headers=headers) page_info = request.urlopen(page).read().decode('utf-8') print(page_info)
可以通過add_header(key, value)
或者直接以參數的形式和URL一起請求訪問,
urllib.request.Request() urllib.request.Request(url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None)
其中headers是一個字典,通過這種方式可以將爬蟲模擬成瀏覽器對網站進行訪問。
https://docs.python.org/3/library/urllib.request.html?highlight=request#module-urllib.request
更多關于Python相關內容可查看本站專題:《Python Socket編程技巧總結》、《Python正則表達式用法總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。