Python反爬蟲偽裝瀏覽器進(jìn)行爬蟲
對(duì)于爬蟲中部分網(wǎng)站設(shè)置了請(qǐng)求次數(shù)過(guò)多后會(huì)封殺ip,現(xiàn)在模擬瀏覽器進(jìn)行爬蟲,也就是說(shuō)讓服務(wù)器認(rèn)識(shí)到訪問(wèn)他的是真正的瀏覽器而不是機(jī)器操作
簡(jiǎn)單的直接添加請(qǐng)求頭,將瀏覽器的信息在請(qǐng)求數(shù)據(jù)時(shí)傳入:
打開瀏覽器--打開開發(fā)者模式--請(qǐng)求任意網(wǎng)站
如下圖:找到請(qǐng)求的的名字,打開后查看headers欄,找到User-Agent,復(fù)制。然后添加到請(qǐng)求頭中
代碼如下:
import requests url = 'https://www.baidu.com' headers ={ 'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/65.0.3325.181 Safari/537.36' } rq = requests.get(url=url, headers=headers) print(rq.text)
更深的偽裝瀏覽器,添加多個(gè)瀏覽器信息,每次請(qǐng)求的時(shí)候隨機(jī)發(fā)送瀏覽器信息,讓服務(wù)器了解不是一個(gè)瀏覽器一直在訪問(wèn),(可以百度查找user-agent)
代碼如下:
import requests import random url = 'https://www.baidu.com' headers_lists =( 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/65.0.3325.181 Safari/537.36', 'Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Maxthon2.0', 'Opera/9.80(Android2.3.4;Linux;Operamobi/adr-1107051709;U;zh-cn)Presto/2.8.149Version/11.10', 'Mozilla/5.0(WindowsNT6.1;rv:2.0.1)Gecko/20100101Firefox/4.0.1', 'Mozilla/5.0(Android;Linuxarmv7l;rv:5.0)Gecko/Firefox/5.0fennec/5.0',) rq = requests.get(url=url,headers={'User-Agent':random.choice(headers_lists)}) print(rq.text)
完整的請(qǐng)求體解釋:
以下是筆者訪問(wèn)百度的請(qǐng)求體。
Accept:瀏覽器端可以接受的媒體類型
Accept-Encoding:瀏覽器申明自己接收的編碼方法
Accept-Language:瀏覽器申明自己接收的語(yǔ)言
Connection:keep-alive 客戶端和服務(wù)器之間還在連接中,如果關(guān)閉就是close
Host:請(qǐng)求報(bào)頭域主要用于指定被請(qǐng)求資源的Internet主機(jī)和端口號(hào)
User-Agent:使用的操作系統(tǒng)和瀏覽器的名稱和版本
Cookie:是用來(lái)存儲(chǔ)一些用戶信息以便讓服務(wù)器辨別用戶身份的
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python爬蟲爬取淘寶商品比價(jià)(附淘寶反爬蟲機(jī)制解決小辦法)
- 用sleep間隔進(jìn)行python反爬蟲的實(shí)例講解
- python中繞過(guò)反爬蟲的方法總結(jié)
- cookies應(yīng)對(duì)python反爬蟲知識(shí)點(diǎn)詳解
- python反爬蟲方法的優(yōu)缺點(diǎn)分析
- python 常見的反爬蟲策略
- Python爬蟲與反爬蟲大戰(zhàn)
- Python常見反爬蟲機(jī)制解決方案
- 詳解python 破解網(wǎng)站反爬蟲的兩種簡(jiǎn)單方法
- python爬蟲 urllib模塊反爬蟲機(jī)制UA詳解
- 用python3 urllib破解有道翻譯反爬蟲機(jī)制詳解
- Python反爬蟲技術(shù)之防止IP地址被封殺的講解
- Python3爬蟲學(xué)習(xí)之應(yīng)對(duì)網(wǎng)站反爬蟲機(jī)制的方法分析
- python通過(guò)偽裝頭部數(shù)據(jù)抵抗反爬蟲的實(shí)例
- python網(wǎng)絡(luò)爬蟲之如何偽裝逃過(guò)反爬蟲程序的方法
- python解決網(wǎng)站的反爬蟲策略總結(jié)
- Requests什么的通通爬不了的Python超強(qiáng)反爬蟲方案!
相關(guān)文章
python中的import絕對(duì)導(dǎo)入與相對(duì)導(dǎo)入詳解
這篇文章主要介紹了python中的import絕對(duì)導(dǎo)入與相對(duì)導(dǎo)入詳解,在使用python做一些簡(jiǎn)單項(xiàng)目時(shí),import一般不會(huì)出現(xiàn)問(wèn)題,但項(xiàng)目結(jié)構(gòu)復(fù)雜時(shí),import可能發(fā)生報(bào)錯(cuò),需要的朋友可以參考下2023-11-11Python中optparser庫(kù)用法實(shí)例詳解
這篇文章主要介紹了Python中optparser庫(kù)用法實(shí)例詳解,介紹了optparser的引入,初始化等相關(guān)內(nèi)容,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01使用GitHub和Python實(shí)現(xiàn)持續(xù)部署的方法
這篇文章主要介紹了使用GitHub和Python實(shí)現(xiàn)持續(xù)部署的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05Celery批量異步調(diào)用任務(wù)一直等待結(jié)果問(wèn)題
這篇文章主要介紹了Celery批量異步調(diào)用任務(wù)一直等待結(jié)果問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11python編程實(shí)現(xiàn)清理微信重復(fù)緩存文件
這篇文章主要為大家介紹了使用python編程來(lái)實(shí)現(xiàn)清理微信重復(fù)緩存文件的示例代碼過(guò)程,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11pandas去重復(fù)行并分類匯總的實(shí)現(xiàn)方法
這篇文章主要介紹了pandas去重復(fù)行并分類匯總的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01Python實(shí)現(xiàn)監(jiān)控遠(yuǎn)程主機(jī)實(shí)時(shí)數(shù)據(jù)的示例詳解
這篇文章主要為大家詳細(xì)介紹了Python如何使用Socket庫(kù)和相應(yīng)的第三方庫(kù)來(lái)監(jiān)控遠(yuǎn)程主機(jī)的實(shí)時(shí)數(shù)據(jù),比如CPU使用率、內(nèi)存使用率、網(wǎng)絡(luò)帶寬等,感興趣的可以了解一下2023-04-04跟老齊學(xué)Python之使用Python操作數(shù)據(jù)庫(kù)(1)
本文詳細(xì)講述了使用python操作數(shù)據(jù)庫(kù)所需要了解的知識(shí)以及準(zhǔn)備工作,十分的詳盡,這里推薦給想學(xué)習(xí)python的小伙伴。2014-11-11深度學(xué)習(xí)入門之Pytorch 數(shù)據(jù)增強(qiáng)的實(shí)現(xiàn)
這篇文章主要介紹了深度學(xué)習(xí)入門之Pytorch 數(shù)據(jù)增強(qiáng)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02Pytorch如何加載自己的數(shù)據(jù)集(使用DataLoader讀取Dataset)
這篇文章主要介紹了Pytorch如何加載自己的數(shù)據(jù)集(使用DataLoader讀取Dataset)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12