99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

詳解常見的反爬蟲的兩種機制

馬哥Linux運維 ? 來源:CSDN ? 作者:DA1YuH ? 2021-07-29 15:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

最近在學爬蟲時發(fā)現(xiàn)許多網站都有自己的反爬蟲機制,這讓我們沒法直接對想要的數(shù)據進行爬取,于是了解這種反爬蟲機制就會幫助我們找到解決方法。

常見的反爬蟲機制有判別身份和IP限制兩種,下面我們將一一來進行介紹。

(一) 判別身份

首先我們看一個例子,看看到底什么時候反爬蟲。

我們還是以 豆瓣電影榜top250(https://movie.douban.com/top250) 為例。

import requests

# 豆瓣電影榜top250的網址url = ‘https://movie.douban.com/top250’# 請求與網站的連接res = requests.get(url)# 打印獲取的文本print(res.text)

這是段簡單的請求與網站連接并打印獲取數(shù)據的代碼,我們來看看它的運行結果。

c8b2c35a-edfe-11eb-a97a-12bb97331649.png

我們可以發(fā)現(xiàn)我們什么數(shù)據都沒有獲取到,這就是由于這個網站有它的身份識別功能,把我們識別為了爬蟲,拒絕為我們提供數(shù)據。不管是瀏覽器還是爬蟲訪問網站時都會帶上一些信息用于身份識別。而這些信息都被存儲在一個叫請求頭(request headers) 的地方。而這個請求頭中我們只需要了解其中的一個叫user-agent(用戶代理) 的就可以了。user-agent里包含了操作系統(tǒng)、瀏覽器類型、版本等信息,通過修改它我們就能成功地偽裝成瀏覽器。

下面我們來看怎么找這個user-agent吧。

首先得打開瀏覽器,隨便打開一個網站,再打開開發(fā)者工具。

再點擊network標簽,接著點第一個請求,再找到Request Headers,最后找到user-agent字段。(有時候可能點擊network標簽后是空白的,這時候刷新下網頁就好啦!)

找到請求頭后,我們只需要把他放進一個字典里就好啦,具體操作見下面代碼。

import requests

# 復制剛才獲取得請求頭headers = { ‘user-agent’:‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36’}# 豆瓣電影榜top250的網址url = ‘https://movie.douban.com/top250’# 請求與網站的連接res = requests.get(url, headers=headers)# 打印獲取的文本print(res.text)

現(xiàn)在我們再來看部分輸出結果。

c8e9e81c-edfe-11eb-a97a-12bb97331649.png

我們可以發(fā)現(xiàn)已經將該網站的HTML文件全部爬取到了,至此第一種方法就將完成了。下面我們來看第二種方法。

(二) IP限制

IP(Internet Protocol) 全稱互聯(lián)網協(xié)議地址,意思是分配給用戶上網使用的網際協(xié)議的設備的數(shù)字標簽。它就像我們身份證號一樣,只要知道你的身份證號就能查出你是哪個人。

當我們爬取大量數(shù)據時,如果我們不加以節(jié)制地訪問目標網站,會使網站超負荷運轉,一些個人小網站沒什么反爬蟲措施可能因此癱瘓。而大網站一般會限制你的訪問頻率,因為正常人是不會在 1s 內訪問幾十次甚至上百次網站的。所以,如果你訪問過于頻繁,即使改了 user-agent 偽裝成瀏覽器了,也還是會被識別為爬蟲,并限制你的 IP 訪問該網站。

因此,我們常常使用 time.sleep() 來降低訪問的頻率,比如上一篇博客中的爬取整個網站的代碼,我們每爬取一個網頁就暫停一秒。

import requestsimport timefrom bs4 import BeautifulSoup

# 將獲取豆瓣電影數(shù)據的代碼封裝成函數(shù)def get_douban_movie(url):# 設置反爬蟲的請求頭 headers = {‘user-agent’:‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36’ }

# 請求網站的連接 res = requests.get(‘https://movie.douban.com/top250’, headers=headers)# 將網站數(shù)據存到BeautifulSoup對象中 soup = BeautifulSoup(res.text,‘html.parser’)# 爬取網站中所有標簽為‘div’,并且class=‘pl2’的數(shù)據存到Tag對象中 items = soup.find_all(‘div’, class_=‘hd’)for i in items:# 再篩選出所有標簽為a的數(shù)據 tag = i.find(‘a’)# 只讀取第一個class=‘title’作為電影名 name = tag.find(class_=‘title’).text# 爬取書名對應的網址 link = tag[‘href’] print(name,link)

url = ‘https://movie.douban.com/top250?start={}&filter=’# 將所有網址信息存到列表中urls = [url.format(num*25) for num in range(10)]for item in urls: get_douban_movie(item)# 暫停 1 秒防止訪問太快被封 time.sleep(1)

至此兩種比較簡單的應對反爬蟲方法就講完啦,希望能對大家有所幫助,如果有問題,請及時給予我指正,感激不盡!

原文鏈接:https://blog.csdn.net/qq_41564422/article/details/104212511

(版權歸原作者所有,侵刪)

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 爬蟲
    +關注

    關注

    0

    文章

    83

    瀏覽量

    7503

原文標題:詳解python 破解網站反爬蟲的兩種簡單方法

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    貼片晶振中兩種常見封裝介紹

    貼片晶體振蕩器作為關鍵的時鐘頻率元件,其性能直接關系到系統(tǒng)運行的穩(wěn)定性。今天,凱擎小妹帶大家聊聊貼片晶振中兩種常見封裝——金屬面封裝與陶瓷面封裝。
    的頭像 發(fā)表于 07-04 11:29 ?428次閱讀
    貼片晶振中<b class='flag-5'>兩種</b><b class='flag-5'>常見</b>封裝介紹

    兩種驅動方式下永磁直線開關磁鏈電機的研究

    摘要:永磁開關磁鏈電機數(shù)學模型可以等效為永磁無刷電機,普遍采用方波驅動方式。在有限元基礎上分析6/7極直線式磁鏈電機電勢波形,采用方波和正弦波驅動方式,比較兩種方式下的電流、電壓、平均推力大小
    發(fā)表于 06-09 16:18

    覆銅的兩種形式是什么

    在電子電路設計與制造領域,覆銅的實現(xiàn)形式多樣,其中大面積的覆銅和網格銅是最為常見且各具特色的兩種,它們在不同的應用場景下發(fā)揮著關鍵作用。 大面積的覆銅,顧名思義,是指在印刷電路板(PCB)的特定區(qū)域
    的頭像 發(fā)表于 02-04 14:10 ?541次閱讀

    基于ISOS測試標準,兩種封裝方式對鈣鈦礦太陽能電池性能影響分析

    鈣鈦礦太陽能電池(PSCs)極具潛力,但濕度和氧氣會導致其性能快速下降,因此封裝技術對提高其穩(wěn)定性至關重要。文章研究了兩種常見的封裝策略:基于層壓的玻璃-玻璃封裝(COM)和基于膠水的封裝(LAB
    的頭像 發(fā)表于 01-03 09:03 ?975次閱讀
    基于ISOS測試標準,<b class='flag-5'>兩種</b>封裝方式對鈣鈦礦太陽能電池性能影響分析

    AMC1204有兩種封裝,SOIC-8和SOIC-16,功能一樣嗎?為什么要推出兩種封裝?

    呢?AMC1204,AMC1304這樣做有什么好處嗎? 2、AMC1204有兩種封裝,SOIC-8和SOIC-16,功能一樣嗎?為什么要推出兩種封裝?
    發(fā)表于 12-27 07:22

    IP地址數(shù)據信息和爬蟲攔截的關聯(lián)

    IP地址數(shù)據信息和爬蟲攔截的關聯(lián)主要涉及到方面的內容,也就是數(shù)據信息和爬蟲。IP 地址數(shù)據信息的內容豐富,包括所屬地域、所屬網絡運營商、訪問時間序列、訪問頻率等。 從IP地址信息中可以窺見
    的頭像 發(fā)表于 12-23 10:13 ?377次閱讀

    常見人體姿態(tài)評估顯示方式的兩種方式

    人體姿態(tài)評估中有兩種常見的顯示方式,分別是火柴人效果與BodyPix效果。其中火柴人效果本質就是基于關鍵點的深度學習模型推理以后的顯示效果;Bodypix本質就就是語義分割模型
    的頭像 發(fā)表于 11-11 11:21 ?657次閱讀
    <b class='flag-5'>常見</b>人體姿態(tài)評估顯示方式的<b class='flag-5'>兩種</b>方式

    噪聲傳導的兩種模式

    噪聲傳導有兩種模式,一為差模傳導,一為共模傳導。
    的頭像 發(fā)表于 10-15 11:33 ?773次閱讀
    噪聲傳導的<b class='flag-5'>兩種</b>模式

    基于GPU器件行為的創(chuàng)新分布式功能安全機制為智能駕駛保駕護航

    在鎖步和重復校驗兩種常見的功能安全機制之外,全球領先的GPU IP廠商Imagination帶來一全新的、高性價比的分布式功能安全機制
    的頭像 發(fā)表于 10-11 13:14 ?611次閱讀
    基于GPU器件行為的創(chuàng)新分布式功能安全<b class='flag-5'>機制</b>為智能駕駛保駕護航

    Linux應用層控制外設的兩種不同的方式

    眾所周知,linux下一切皆文件,那么應用層如何控制硬件層,同樣是通過 文件I/O的方式來實現(xiàn)的,那么應用層控制硬件層通常有兩種方式。
    的頭像 發(fā)表于 10-05 19:03 ?1332次閱讀
    Linux應用層控制外設的<b class='flag-5'>兩種</b>不同的方式

    兩種常見的硬件消抖實現(xiàn)方式

    由于機械按鍵在操作過程中會產生抖動現(xiàn)象,這種抖動信號如果不加以處理,就可能導致單片機等電子設備誤判按鍵狀態(tài),從而引發(fā)錯誤操作。本文將詳細介紹兩種常見的硬件消抖實現(xiàn)方式:RS觸發(fā)器和電容濾波。 RS
    的頭像 發(fā)表于 09-25 16:54 ?3724次閱讀
    <b class='flag-5'>兩種</b><b class='flag-5'>常見</b>的硬件消抖實現(xiàn)方式

    晶閘管的阻斷狀態(tài)有兩種是什么

    晶閘管(Thyristor)是一半導體器件,具有單向導電性,廣泛應用于電力電子領域。晶閘管的阻斷狀態(tài)有兩種:正向阻斷狀態(tài)和反向阻斷狀態(tài)。以下是對這兩種阻斷狀態(tài)的分析。 正向阻斷狀態(tài) 正向阻斷狀態(tài)
    的頭像 發(fā)表于 08-14 16:49 ?1413次閱讀

    接地保護分為哪兩種方式

    接地保護是電氣工程中非常重要的一安全措施,其目的是確保電氣設備和系統(tǒng)在發(fā)生故障時能夠安全地將電流導向地面,從而保護人身安全和設備安全。接地保護主要分為兩種方式:工作接地和保護接地。以下是對這兩種
    的頭像 發(fā)表于 08-05 10:24 ?2310次閱讀

    wdm設備的兩種傳輸方式

    系統(tǒng)中,有多種傳輸方式,其中最常見兩種是密集波分復用(DWDM)和粗波分復用(CWDM)。 1. 密集波分復用(DWDM) 1.1 DWDM技術原理 密集波分復用(Dense Wavelength Division Multiplexing,簡稱DWDM)是一
    的頭像 發(fā)表于 07-18 09:45 ?934次閱讀

    三相負載的連接方式有哪兩種

    三相負載的連接方式主要有星形連接(Y連接)和三角形連接(Δ連接)兩種。這兩種連接方式在電氣工程中非常常見,它們各自具有不同的特性和應用場景。下面將介紹這兩種連接方式的原理、特點、應用以
    的頭像 發(fā)表于 07-17 10:33 ?8065次閱讀