Python爬蟲大數(shù)據(jù)采集與挖掘-微課視頻版課件 -第二版-10 反爬蟲技術(shù)與爬蟲對(duì)抗_第1頁
Python爬蟲大數(shù)據(jù)采集與挖掘-微課視頻版課件 -第二版-10 反爬蟲技術(shù)與爬蟲對(duì)抗_第2頁
Python爬蟲大數(shù)據(jù)采集與挖掘-微課視頻版課件 -第二版-10 反爬蟲技術(shù)與爬蟲對(duì)抗_第3頁
Python爬蟲大數(shù)據(jù)采集與挖掘-微課視頻版課件 -第二版-10 反爬蟲技術(shù)與爬蟲對(duì)抗_第4頁
Python爬蟲大數(shù)據(jù)采集與挖掘-微課視頻版課件 -第二版-10 反爬蟲技術(shù)與爬蟲對(duì)抗_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Python爬蟲大數(shù)據(jù)采集與挖掘(10)

--反爬蟲技術(shù)與爬蟲對(duì)抗《Python爬蟲大數(shù)據(jù)采集與挖掘》第二版.微課視頻版(清華大學(xué)出版社,2025)提綱概述反爬蟲技術(shù)爬蟲對(duì)抗技術(shù)不友好爬蟲導(dǎo)致的問題Web服務(wù)器性能下降DDOS攻擊不友好爬蟲產(chǎn)生的原因不遵守robots協(xié)議爬行策略的問題大量線程、高并發(fā)訪問爬蟲與反爬蟲之間的斗爭(zhēng)爬蟲使用各種技巧逃避Web服務(wù)器的檢測(cè)Web服務(wù)器采取各種方法檢測(cè)爬蟲,并阻止爬蟲訪問相互克制、相互促進(jìn)提綱概述反爬蟲技術(shù)爬蟲對(duì)抗技術(shù)反爬蟲主要的工作包括兩個(gè)方面不友好爬蟲的識(shí)別爬蟲行為的阻止識(shí)別爬蟲主要任務(wù)是區(qū)分不友好爬取行為與正常瀏覽行為的差異。阻止爬蟲則是阻止惡意的爬取,同時(shí)能夠在識(shí)別錯(cuò)誤時(shí)為正常用戶提供一個(gè)放行的通道。爬蟲檢測(cè)技術(shù)友好爬蟲遵守robots爬取頻率和策略比較合理給服務(wù)器的壓力小不友好爬蟲不遵守robots大量并發(fā)訪問給服務(wù)器帶來持續(xù)壓力或瞬間壓力

正常用戶瀏覽行為爬蟲行為客戶端IP地址同一個(gè)用戶的IP一般不會(huì)變化,同一時(shí)間段內(nèi)不同用戶之間的IP區(qū)別比較大,IP地理分布和請(qǐng)求量分布也比較隨機(jī)。可能通過單一IP或者代理IP訪問,簡(jiǎn)單的爬蟲往往是通過單一IP進(jìn)行訪問,但也可能不斷切換使用不同的IP地址。HTTP請(qǐng)求Headers數(shù)據(jù)的完整性使用流行的瀏覽器或者站點(diǎn)的客戶端,Headers數(shù)據(jù)由瀏覽器自動(dòng)生成并填充,主要包括User-Agent、允許的字符集以及本地文件的過期時(shí)間等??赡軙?huì)使用無Header瀏覽器,或者模擬瀏覽器進(jìn)行訪問,訪問請(qǐng)求存在無Headers數(shù)據(jù)和數(shù)據(jù)內(nèi)容不完整的情況。由機(jī)器生成的Header往往內(nèi)容相對(duì)固定,或只是簡(jiǎn)單替換部分參數(shù)。Headers.referer數(shù)據(jù)合法性HTTP請(qǐng)求的Headers.referer是本站點(diǎn)內(nèi)的頁面或者友好網(wǎng)站,例如:搜索引擎。HTTP請(qǐng)求的Headers.referer可能不存在或隨意填寫的,不在合法范圍內(nèi)。請(qǐng)求中特定的Cookies數(shù)據(jù)的合法性每次訪問使用相同的瀏覽器,也自然會(huì)調(diào)用相同的Cookies。不一定會(huì)使用Cookies。請(qǐng)求時(shí)間間隔規(guī)律性人需要花費(fèi)一定時(shí)間瀏覽頁面內(nèi)容,之后后跳轉(zhuǎn)至下一頁面,或者同時(shí)打開少量的頁面進(jìn)行預(yù)緩存。采集頁面后提取其中的超連接,即進(jìn)行下一步采集,每次訪問間隔相對(duì)固定(也有爬蟲采用增加隨機(jī)延時(shí)的方式模擬自然人訪問)。能否通過驗(yàn)證碼能夠在頁面出現(xiàn)異常顯示時(shí)及時(shí)進(jìn)行干預(yù),例如輸入驗(yàn)證碼或者點(diǎn)擊指定的按鈕等。難于處理復(fù)雜的驗(yàn)證碼或驗(yàn)證操作。頁面資源加載特征加載頁面時(shí)會(huì)加載相關(guān)的所有JS/CSS等腳本文件和圖片等靜態(tài)資源,這個(gè)過程是瀏覽器自動(dòng)完成的。大部分會(huì)只獲取HTML文件,不一定進(jìn)行頁面中的圖片等資源的二次請(qǐng)求,但使用模擬瀏覽器的爬蟲會(huì)加載JS/CSS。頁面JS執(zhí)行特征會(huì)訪問頁面的所有資源,即使是頁面上對(duì)自然人是不可見的。一般只會(huì)執(zhí)行頁面可見的JS,訪問頁面上可見的內(nèi)容。爬蟲檢測(cè)技術(shù)通過IP與訪問間隔等請(qǐng)求模式的識(shí)別通過Header內(nèi)容識(shí)別通過cookies信息識(shí)別通過驗(yàn)證碼識(shí)別通過對(duì)客戶端是否支持js的分析來識(shí)別通過是否遵循Robot協(xié)議來識(shí)別是否友好爬蟲頁面資源是否加載高級(jí)爬蟲檢測(cè)技術(shù)使用分類器等高級(jí)技術(shù),將這些特征綜合起來,同時(shí)使用多種特征來刻畫一個(gè)HTTP請(qǐng)求人工標(biāo)注樣本使用SVM、KNN以及深度學(xué)習(xí)來訓(xùn)練分類器。爬蟲阻斷技術(shù)1. 通過非200/304的ResponseStatus禁止訪問2. 封禁IP(或IP段)的訪問權(quán)限3. 使用驗(yàn)證碼或關(guān)鍵信息圖片化增加采集難度4. 使用頁面異步加載增加采集難度5. 動(dòng)態(tài)調(diào)整頁面結(jié)構(gòu)6. 設(shè)置蜜罐干擾爬蟲行為提綱概述反爬蟲技術(shù)爬蟲對(duì)抗技術(shù)1. 針對(duì)IP與訪問間隔限制不使用真實(shí)IP,爬蟲使用代理服務(wù)器或者云主機(jī)等方式進(jìn)行IP的切換在請(qǐng)求中使用代理:proxies={

'http':':8888',

'https':':8484',}

worker_session=requests.Session()

r=worker_session.get(url,proxies=proxies,cookies=_cookies,verify=False,stream=True,headers=headers,timeout=5000)2. 針對(duì)Header的內(nèi)容驗(yàn)證使用Selenium或其他內(nèi)嵌瀏覽器進(jìn)行瀏覽器的訪問和模擬,同時(shí)構(gòu)造合理的Headers信息,主要包括User-Agent和Hosts信息。使用Selenium則會(huì)調(diào)用瀏覽器。也可以根據(jù)規(guī)則自行組裝Headers信息,在爬蟲實(shí)現(xiàn)中盡可能完整地填寫Headers的各個(gè)屬性值。3. 針對(duì)Cookies驗(yàn)證使用不同的線程來記錄訪問的信息,如Python中的requests.session,為每個(gè)線程保存Cookies,每次請(qǐng)求的Header均附上正確的Cookies,或者按照站點(diǎn)要求正確使用Cookies內(nèi)的數(shù)據(jù)(例如使用cookies內(nèi)的指定密鑰進(jìn)行加密校驗(yàn))。4. 針對(duì)驗(yàn)證碼驗(yàn)證碼形式當(dāng)前,Web網(wǎng)站推送的驗(yàn)證碼大多分為四類:計(jì)算驗(yàn)證碼、滑塊驗(yàn)證碼、識(shí)圖驗(yàn)證碼、語音驗(yàn)證碼。目前主流的驗(yàn)證碼破解主要有兩種:機(jī)器圖像識(shí)別與人工打碼,此外還可以使用瀏覽器插件繞過驗(yàn)證碼的類似技術(shù)。5. 針對(duì)頁面異步加載與客戶端JS支持判斷可以使用Selenium或PhantomJS進(jìn)行JS解析,并執(zhí)行頁面內(nèi)容獲取所需要的正確的JS方法/請(qǐng)求。當(dāng)然也可以使用真實(shí)的瀏覽器作為采集工具的基礎(chǔ),例如自定義封裝一個(gè)自定義的firefox瀏覽器,以插件的形式實(shí)現(xiàn)采集工具。6. 針對(duì)動(dòng)態(tài)調(diào)整頁面結(jié)構(gòu)對(duì)于這種方式的反爬蟲技術(shù),最好的辦法是首先采集頁面,而后根據(jù)采集到的頁面再進(jìn)行分類處理,在爬蟲程序中異常的捕獲更是不能少。如果一個(gè)頁面的html毫無規(guī)則,那么其的顯示也將是一個(gè)問題,因此對(duì)于動(dòng)態(tài)調(diào)整結(jié)構(gòu)的頁面可以采用Selenium加載瀏覽器,按照信息的區(qū)域進(jìn)行采集的方式進(jìn)行嘗試采集;此外還可以嘗試使用正則表達(dá)式,將結(jié)構(gòu)中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論