Python3 偽裝瀏覽器的方法示例
一、偽裝瀏覽器
對于一些需要登錄的網(wǎng)站,如果不是從瀏覽器發(fā)出的請求,則得不到響應(yīng)。所以,我們需要將爬蟲程序發(fā)出的請求偽裝成瀏覽器正規(guī)軍。
具體實現(xiàn):自定義網(wǎng)頁請求報頭。
二、使用Fiddler查看請求和響應(yīng)報頭
打開工具Fiddler,然后再瀏覽器訪問“https://www.douban.com/”,在Fiddler左側(cè)訪問記錄中,找到“200 HTTPS www.douban.com”這一條,點擊查看其對應(yīng)的請求和響應(yīng)報頭具體內(nèi)容:
三、訪問豆瓣
我們自定義請求報頭與上圖Request Headers相同內(nèi)容:
''''' 偽裝瀏覽器 對于一些需要登錄的網(wǎng)站,如果不是從瀏覽器發(fā)出的請求,則得不到響應(yīng)。 所以,我們需要將爬蟲程序發(fā)出的請求偽裝成瀏覽器正規(guī)軍。 具體實現(xiàn):自定義網(wǎng)頁請求報頭。 ''' #實例二:依然爬取豆瓣,采用偽裝瀏覽器的方式 import urllib.request #定義保存函數(shù) def saveFile(data): path = "E:\\projects\\Spider\\02_douban.out" f = open(path,'wb') f.write(data) f.close() #網(wǎng)址 url = "https://www.douban.com/" headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/51.0.2704.63 Safari/537.36'} req = urllib.request.Request(url=url,headers=headers) res = urllib.request.urlopen(req) data = res.read() #也可以把爬取的內(nèi)容保存到文件中 saveFile(data) data = data.decode('utf-8') #打印抓取的內(nèi)容 print(data) #打印爬取網(wǎng)頁的各類信息 print(type(res)) print(res.geturl()) print(res.info()) print(res.getcode())
四、輸出的結(jié)果結(jié)果(截取部分)
結(jié)果文件內(nèi)容
GitHub代碼鏈接
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python3 批量獲取對應(yīng)端口服務(wù)的實例
今天小編就為大家分享一篇python3 批量獲取對應(yīng)端口服務(wù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07Python樹莓派學(xué)習(xí)筆記之UDP傳輸視頻幀操作詳解
這篇文章主要介紹了Python樹莓派學(xué)習(xí)筆記之UDP傳輸視頻幀操作,結(jié)合實例形式詳細(xì)分析了Python樹莓派編程中使用UDP協(xié)議進行視頻幀傳輸?shù)南嚓P(guān)操作技巧與注意事項,需要的朋友可以參考下2019-11-11python之pyqt5通過按鈕改變Label的背景顏色方法
今天小編就為大家分享一篇python之pyqt5通過按鈕改變Label的背景顏色方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06Python3基礎(chǔ)教程之遞歸函數(shù)簡單示例
這篇文章主要給大家介紹了關(guān)于Python3基礎(chǔ)教程之遞歸函數(shù)簡單示例的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Python3具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06