在使用python爬取網(wǎng)站信息時(shí),查看爬取完后的數(shù)據(jù)發(fā)現(xiàn),數(shù)據(jù)并沒有被爬取下來,這是因?yàn)榫W(wǎng)站中有UA這種請(qǐng)求載體的身份標(biāo)識(shí),如果不是基于某一款瀏覽器爬取則是不正常的請(qǐng)求,所以會(huì)爬取失敗。本文介紹Python爬蟲采用UA偽裝爬取實(shí)例。
一、python爬取失敗原因如下:
UA檢測(cè)是門戶網(wǎng)站的服務(wù)器會(huì)檢測(cè)對(duì)應(yīng)請(qǐng)求的載體身份標(biāo)識(shí),如果檢測(cè)到請(qǐng)求的載體身份標(biāo)識(shí)為某一款瀏覽器,說明該請(qǐng)求是一個(gè)正常的請(qǐng)求。如果檢測(cè)到請(qǐng)求的載體身份標(biāo)識(shí)不是基于某一款瀏覽器的。則表示該請(qǐng)求為不正常的請(qǐng)求,則服務(wù)器端就很有可能會(huì)拒絕該次請(qǐng)求。
二、解決方法:采用UA偽裝
讓爬蟲對(duì)應(yīng)的請(qǐng)求載體身份標(biāo)識(shí)偽裝成某一款瀏覽器,這里采用的偽裝成Chrome瀏覽器。
采用UA偽裝爬取實(shí)例
import requests if __name__=="__main__": headers={ "User-Agent":"Mozilla/5.0(Windows NT 10.0;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 88.0.4324.150 Safari / 537.36" } url="https://www.sogou.com/web" queryword=input("輸出關(guān)鍵字") param={ "query":queryword } res=requests.get(url=url,params=param,headers=headers) res.encoding="utf-8" page_text=res.text fileName=queryword+".html" with open(fileName,"w",encoding="utf-8") as fs: fs.write(page_text) print(page_text+"爬取結(jié)束")
知識(shí)點(diǎn)擴(kuò)展:
采用UA偽裝:讓爬蟲對(duì)應(yīng)的請(qǐng)求載體身份標(biāo)識(shí)偽裝成某一款瀏覽器,這里采用的偽裝成Chrome瀏覽器
代碼如下:
import requests #UA:User—Agent(請(qǐng)求載體的身份標(biāo)識(shí)) # UA檢測(cè):門戶網(wǎng)站的服務(wù)器會(huì)檢測(cè)對(duì)應(yīng)請(qǐng)求的載體身份標(biāo)識(shí),如果檢測(cè)到請(qǐng)求的載體身份標(biāo)識(shí)為某一款瀏覽器,說明該請(qǐng)求是一個(gè)正常的請(qǐng)求。 # 如果檢測(cè)到請(qǐng)求的載體身份標(biāo)識(shí)不是基于某一款瀏覽器的。則表示該請(qǐng)求為不正常的請(qǐng)求,則服務(wù)器端就很有可能會(huì)拒絕該次請(qǐng)求 if __name__=="__main__": headers={ "User-Agent":"Mozilla/5.0(Windows NT 10.0;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 88.0.4324.150 Safari / 537.36" } url="https://www.sogou.com/web" queryword=input("輸出關(guān)鍵字") param={ "query":queryword } res=requests.get(url=url,params=param,headers=headers) res.encoding="utf-8" page_text=res.text fileName=queryword+".html" with open(fileName,"w",encoding="utf-8") as fs: fs.write(page_text) print(page_text+"爬取結(jié)束")
到此這篇關(guān)于Python爬蟲UA偽裝爬取的實(shí)例講解的文章就介紹到這了,更多相關(guān)Python爬蟲如何UA偽裝爬取內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:海南 烏蘭察布 大慶 平頂山 合肥 烏蘭察布 哈爾濱 郴州
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python爬蟲UA偽裝爬取的實(shí)例講解》,本文關(guān)鍵詞 Python,爬蟲,偽裝,爬,取的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。