日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

你真的知道了嗎,爬蟲工程師( 四 )


然后看爬蟲執(zhí)行的成功情況 。在上面提到了用任務(wù)隊列控制爬蟲工作 , 這樣解耦可以帶來很多好處 , 其中一個就是可以就是可以對一次爬蟲執(zhí)行進(jìn)行日志 ??梢栽诿看闻老x任務(wù)執(zhí)行的時候 , 將執(zhí)行的時間、狀態(tài)、目標(biāo)url、異常等放入一個日志系統(tǒng)(比如kibana) , 然后通過一個可視化的手段可以清晰地看到爬蟲的失敗率 。爬蟲拋出的Exception 。
【你真的知道了嗎,爬蟲工程師】幾乎所有的項目都會用到錯誤日志收集(Sentry) , 這里需要注意的一點(diǎn)是 , 忽略正常的異常(比如Connection錯誤 , 鎖沖突等) , 否則的話你會被這些錯誤淹沒 。三、爬蟲與反爬這同樣是很深的一個話題 , 就像攻擊武器與防御武器一樣 , 雙方總是在不斷升級 。常見的反爬措施(我遇到過的)有下面幾種:1.訪問頻率很好理解 , 如果訪問太頻繁網(wǎng)站可能針對你的ip封鎖一段時間 , 這和防DDoS的原理一樣 。
對于爬蟲來說 , 碰到這樣的限制一下任務(wù)的頻率就可以了 , 可以盡量讓爬蟲想人類一樣訪問網(wǎng)頁(比如隨機(jī)sleep一段時間 , 如果每隔3s訪問一次網(wǎng)站很顯然不是正常人的行為) 。2.登錄限制也比較常見 。不過公開信息的網(wǎng)站一般不會有這個限制 , 這樣讓用戶也麻煩了 。其實(shí)反爬措施都或多或少的影響真實(shí)用戶 , 反爬越嚴(yán)格 , 誤殺用戶的可能性也越高 。
對爬蟲來說 , 登錄同樣可以通過模擬登錄的方式解決 , 加個cookie就行了(話又說回來 , 網(wǎng)絡(luò)的原理很重要) 。3.通過Header封殺一般瀏覽器訪問網(wǎng)站會有header , 比如Safari或者Chrome等等 , 還有操作系統(tǒng)信息 。如果使用程序訪問并不會有這樣的header 。破解也很簡單 , 訪問的時候加上header就行 。
4.JavaScript腳本動態(tài)獲取網(wǎng)站數(shù)據(jù)有一些網(wǎng)站(尤其是單頁面網(wǎng)站)的內(nèi)容并不是通過服務(wù)器直接返回的 , 而是服務(wù)器只返回一個客戶端JavaScript程序 , 然后JavaScript獲取內(nèi)容 。更高級的是 , JavaScript在本地計算一個token , 然后拿這個token來進(jìn)行AJAX獲取內(nèi)容 。而本地的JavaScript又是經(jīng)過代碼混淆和加密的 , 這樣我們做爬蟲的通過看源代碼幾乎不可能模擬出來這個請求(主要是token不可能破解) , 但是我們可以從另一個角度:headless的瀏覽器 , 也就是我們直接運(yùn)行這個客戶端程序 , 這可以100%地模擬真實(shí)用戶!5.驗證碼這幾乎是終極武器了 , 驗證碼是專門用來區(qū)分人和計算機(jī)的手段 。
對于反爬方來說 , 這種方式對真實(shí)用戶和搜索引擎(其實(shí)可以通過記錄搜索引擎爬蟲的ip來區(qū)別對待 , 可以解決)的危害比較大 , 相信讀者都有輸入驗證碼的痛苦經(jīng)歷 。但這種方法也并不是無敵的!通過現(xiàn)在很火的機(jī)器學(xué)習(xí)可以輕松的識別大部分的驗證碼!Google的reCAPTCHA是一種非常高級的驗證碼 , 但是聽過通過模擬瀏覽器也是可以破解的 。
6.ip限制網(wǎng)站可能將識別的ip永久封殺 , 這種方式需要的人力比較大 , 而且誤傷用戶的代價也很高 。但是破解辦法卻非常簡單 。目前代理池幾乎是搞爬蟲的標(biāo)配了 , 甚至還有很多高匿代理等好用的東西 。所以這基本上只能殺殺小爬蟲 。7.網(wǎng)站內(nèi)容反爬有一些網(wǎng)站將網(wǎng)站內(nèi)容用只有人類可以接收的形式來呈現(xiàn)(其實(shí)反爬就是區(qū)別對待人類和機(jī)器嘛) 。

推薦閱讀