Python爬蟲UA偽裝爬取的實(shí)例講解
在使用python爬取網(wǎng)站信息時(shí),查看爬取完后的數(shù)據(jù)發(fā)現(xiàn),數(shù)據(jù)并沒有被爬取下來,這是因?yàn)榫W(wǎng)站中有UA這種請求載體的身份標(biāo)識,如果不是基于某一款瀏覽器爬取則是不正常的請求,所以會爬取失敗。本文介紹Python爬蟲采用UA偽裝爬取實(shí)例。
一、python爬取失敗原因如下:
UA檢測是門戶網(wǎng)站的服務(wù)器會檢測對應(yīng)請求的載體身份標(biāo)識,如果檢測到請求的載體身份標(biāo)識為某一款瀏覽器,說明該請求是一個(gè)正常的請求。如果檢測到請求的載體身份標(biāo)識不是基于某一款瀏覽器的。則表示該請求為不正常的請求,則服務(wù)器端就很有可能會拒絕該次請求。
二、解決方法:采用UA偽裝
讓爬蟲對應(yīng)的請求載體身份標(biāo)識偽裝成某一款瀏覽器,這里采用的偽裝成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é)束")
知識點(diǎn)擴(kuò)展:
采用UA偽裝:讓爬蟲對應(yīng)的請求載體身份標(biāo)識偽裝成某一款瀏覽器,這里采用的偽裝成Chrome瀏覽器
代碼如下:
import requests #UA:User—Agent(請求載體的身份標(biāo)識) # UA檢測:門戶網(wǎng)站的服務(wù)器會檢測對應(yīng)請求的載體身份標(biāo)識,如果檢測到請求的載體身份標(biāo)識為某一款瀏覽器,說明該請求是一個(gè)正常的請求。 # 如果檢測到請求的載體身份標(biāo)識不是基于某一款瀏覽器的。則表示該請求為不正常的請求,則服務(wù)器端就很有可能會拒絕該次請求 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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python數(shù)據(jù)可視化常用4大繪圖庫原理詳解
這篇文章主要介紹了Python數(shù)據(jù)可視化常用4大繪圖庫原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10Python+selenium 獲取一組元素屬性值的實(shí)例
今天小編就為大家分享一篇Python+selenium 獲取一組元素屬性值的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06PyCharm安裝庫numpy失敗問題的詳細(xì)解決方法
今天使用pycharm編譯python程序時(shí),由于要調(diào)用numpy包,但又未曾安裝numpy,于是就根據(jù)pycharm的提示進(jìn)行安裝,最后竟然提示出錯(cuò),下面這篇文章主要給大家介紹了關(guān)于PyCharm安裝庫numpy失敗問題的詳細(xì)解決方法,需要的朋友可以參考下2022-06-06matlab、python中矩陣的互相導(dǎo)入導(dǎo)出方式
這篇文章主要介紹了matlab、python中矩陣的互相導(dǎo)入導(dǎo)出方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06一文詳解Python中實(shí)現(xiàn)單例模式的幾種常見方式
這篇文章主要為大家介紹了Python中實(shí)現(xiàn)單例模式的幾種常見方式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03