溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

爬蟲如何做反爬措施

發(fā)布時(shí)間:2020-06-30 14:04:59 來源:億速云 閱讀:159 作者:清晨 欄目:編程語言

小編給大家分享一下爬蟲如何做反爬措施,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討方法吧!

爬蟲常見的反爬措施有三種:

1、header頭部信息

解決方法:

加User-Agent值:
如果不加header頭,部分網(wǎng)站服務(wù)器判斷不到用戶的訪問來源,所以會返回一個(gè)404錯(cuò)誤來告知你是一個(gè)爬蟲,拒絕訪問,解決辦法如下:

headers = {
    'User-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.56 Safari/537.36'
           }

這樣服務(wù)器就會把用戶當(dāng)做瀏覽器了。

加Referer值
這類反爬網(wǎng)站也很常見,例如美團(tuán),僅僅加User-Agnet還是返回錯(cuò)誤信息,這時(shí)就要把Referer值也加到頭部信息中:

爬蟲如何做反爬措施這樣就會返回正常網(wǎng)頁了。

加Host值
根據(jù)同源地址判斷用戶是否為爬蟲,解決辦法為:

爬蟲如何做反爬措施

加Accept值
之前遇到過這種網(wǎng)站,我加了一圈header頭部信息才成功,最后發(fā)現(xiàn)是需要加Accept值,這類反爬措施的解決辦法為:

爬蟲如何做反爬措施

2、限制IP的請求數(shù)量

這種就更常見了,大部分網(wǎng)站都有此類反爬措施,也就是說網(wǎng)站服務(wù)器會根據(jù)某個(gè)ip在特定時(shí)間內(nèi)的訪問頻率來判斷是否為爬蟲,然后把你把你拉進(jìn)“黑名單”,素質(zhì)好的給你返回403或者出來個(gè)驗(yàn)證碼,素質(zhì)不好的會給你返回兩句臟話。此種情況有兩種解決辦法:

①降低爬蟲請求速率,但是會降低效率;

②添加代理ip,代理ip又分為付費(fèi)的和不要錢的,前者比較穩(wěn)定,后者經(jīng)常斷線。

添加格式為:

爬蟲如何做反爬措施

3、Ajax動態(tài)請求加載

這類一般是動態(tài)網(wǎng)頁,無法直接找到數(shù)據(jù)接口,以某易新聞網(wǎng)站為例:

爬蟲如何做反爬措施

我想爬取該網(wǎng)頁內(nèi)的新聞圖片,發(fā)現(xiàn)它的網(wǎng)頁url一直不變,但是下拉網(wǎng)頁的時(shí)候會一直加載圖片,那么我們該怎么辦呢?

首先按照開頭方式打開流量分析工具

爬蟲如何做反爬措施

點(diǎn)擊左上角“垃圾桶”圖標(biāo)清空緩存,然后下拉新聞網(wǎng)頁:

爬蟲如何做反爬措施

會出現(xiàn)一大堆東西,但是不用慌,我們可以根據(jù)類型去尋找,一般圖片信息肯定實(shí)在html、js或json格式的文件中,一個(gè)一個(gè)點(diǎn)進(jìn)去看看,很快就找到了結(jié)果:

爬蟲如何做反爬措施

結(jié)果中把callback去掉之后就是個(gè)json文件,它的url為:

爬蟲如何做反爬措施

看完了這篇文章,相信你對爬蟲如何做反爬措施有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI