Python3 偽裝瀏覽器的方法示例
一、偽裝瀏覽器
對(duì)于一些需要登錄的網(wǎng)站,如果不是從瀏覽器發(fā)出的請(qǐng)求,則得不到響應(yīng)。所以,我們需要將爬蟲程序發(fā)出的請(qǐng)求偽裝成瀏覽器正規(guī)軍。
具體實(shí)現(xiàn):自定義網(wǎng)頁(yè)請(qǐng)求報(bào)頭。
二、使用Fiddler查看請(qǐng)求和響應(yīng)報(bào)頭
打開工具Fiddler,然后再瀏覽器訪問“https://www.douban.com/”,在Fiddler左側(cè)訪問記錄中,找到“200 HTTPS www.douban.com”這一條,點(diǎn)擊查看其對(duì)應(yīng)的請(qǐng)求和響應(yīng)報(bào)頭具體內(nèi)容:

三、訪問豆瓣
我們自定義請(qǐng)求報(bào)頭與上圖Request Headers相同內(nèi)容:
'''''
偽裝瀏覽器
對(duì)于一些需要登錄的網(wǎng)站,如果不是從瀏覽器發(fā)出的請(qǐng)求,則得不到響應(yīng)。
所以,我們需要將爬蟲程序發(fā)出的請(qǐng)求偽裝成瀏覽器正規(guī)軍。
具體實(shí)現(xiàn):自定義網(wǎng)頁(yè)請(qǐng)求報(bào)頭。
'''
#實(shí)例二:依然爬取豆瓣,采用偽裝瀏覽器的方式
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)頁(yè)的各類信息
print(type(res))
print(res.geturl())
print(res.info())
print(res.getcode())
四、輸出的結(jié)果結(jié)果(截取部分)

結(jié)果文件內(nèi)容

GitHub代碼鏈接
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python中的np.argmin()和np.argmax()函數(shù)用法
這篇文章主要介紹了Python中的np.argmin()和np.argmax()函數(shù)用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
基于Python開發(fā)PDF轉(zhuǎn)Doc格式小程序
這篇文章主要為大家詳細(xì)介紹了如何基于Python開發(fā)PDF轉(zhuǎn)Doc格式小程序,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-03-03
Python中八種數(shù)據(jù)導(dǎo)入方法總結(jié)
數(shù)據(jù)分析過程中,需要對(duì)獲取到的數(shù)據(jù)進(jìn)行分析,往往第一步就是導(dǎo)入數(shù)據(jù)。導(dǎo)入數(shù)據(jù)有很多方式,不同的數(shù)據(jù)文件需要用到不同的導(dǎo)入方式,相同的文件也會(huì)有幾種不同的導(dǎo)入方式。下面總結(jié)幾種常用的文件導(dǎo)入方法2022-11-11

