溫馨提示×

溫馨提示×

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

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

Python反爬蟲偽裝瀏覽器進行爬蟲

發(fā)布時間:2020-09-15 19:05:13 來源:腳本之家 閱讀:143 作者:Tynam.Yang 欄目:開發(fā)技術(shù)

對于爬蟲中部分網(wǎng)站設(shè)置了請求次數(shù)過多后會封殺ip,現(xiàn)在模擬瀏覽器進行爬蟲,也就是說讓服務器認識到訪問他的是真正的瀏覽器而不是機器操作

簡單的直接添加請求頭,將瀏覽器的信息在請求數(shù)據(jù)時傳入:

打開瀏覽器--打開開發(fā)者模式--請求任意網(wǎng)站

如下圖:找到請求的的名字,打開后查看headers欄,找到User-Agent,復制。然后添加到請求頭中

Python反爬蟲偽裝瀏覽器進行爬蟲

代碼如下:

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)

更深的偽裝瀏覽器,添加多個瀏覽器信息,每次請求的時候隨機發(fā)送瀏覽器信息,讓服務器了解不是一個瀏覽器一直在訪問,(可以百度查找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)

完整的請求體解釋:

以下是筆者訪問百度的請求體。

Python反爬蟲偽裝瀏覽器進行爬蟲

Accept:瀏覽器端可以接受的媒體類型

Accept-Encoding:瀏覽器申明自己接收的編碼方法

Accept-Language:瀏覽器申明自己接收的語言

Connection:keep-alive 客戶端和服務器之間還在連接中,如果關(guān)閉就是close

Host:請求報頭域主要用于指定被請求資源的Internet主機和端口號

User-Agent:使用的操作系統(tǒng)和瀏覽器的名稱和版本

Cookie:是用來存儲一些用戶信息以便讓服務器辨別用戶身份的

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

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

AI