Python爬蟲UA偽裝爬取的實例講解
在使用python爬取網站信息時,查看爬取完後的數據發現,數據並沒有被爬取下來,這是因為網站中有UA這種請求載體的身份標識,如果不是基於某一款瀏覽器爬取則是不正常的請求,所以會爬取失敗。本文介紹Python爬蟲采用UA偽裝爬取實例。
一、python爬取失敗原因如下:
UA檢測是門戶網站的服務器會檢測對應請求的載體身份標識,如果檢測到請求的載體身份標識為某一款瀏覽器,說明該請求是一個正常的請求。如果檢測到請求的載體身份標識不是基於某一款瀏覽器的。則表示該請求為不正常的請求,則服務器端就很有可能會拒絕該次請求。
二、解決方法:采用UA偽裝
讓爬蟲對應的請求載體身份標識偽裝成某一款瀏覽器,這裡采用的偽裝成Chrome瀏覽器。
采用UA偽裝爬取實例
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("輸出關鍵字") 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+"爬取結束")
知識點擴展:
采用UA偽裝:讓爬蟲對應的請求載體身份標識偽裝成某一款瀏覽器,這裡采用的偽裝成Chrome瀏覽器
代碼如下:
import requests #UA:User—Agent(請求載體的身份標識) # UA檢測:門戶網站的服務器會檢測對應請求的載體身份標識,如果檢測到請求的載體身份標識為某一款瀏覽器,說明該請求是一個正常的請求。 # 如果檢測到請求的載體身份標識不是基於某一款瀏覽器的。則表示該請求為不正常的請求,則服務器端就很有可能會拒絕該次請求 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("輸出關鍵字") 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+"爬取結束")
到此這篇關於Python爬蟲UA偽裝爬取的實例講解的文章就介紹到這瞭,更多相關Python爬蟲如何UA偽裝爬取內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python Requests爬蟲之求取關鍵詞頁面詳解
- python百行代碼實現漢服圈圖片爬取
- python做圖片搜索引擎並保存到本地詳情
- Python爬蟲入門教程02之筆趣閣小說爬取
- Python10行代碼實現模擬百度搜索的示例