數據采集:要小心爬蟲的行為檢測

爬蟲不是真實用戶,其行為模式與真實用戶不同。因此,平臺經常檢測用戶行為模式,以識別當前用戶是人類還是爬蟲機器。這個平臺是通過哪些方式測試的?我們來看看下面的小編。
 
1.訪問內容。
 
爬蟲通常不抓取css、js和其他資源文件。如果是垂直爬蟲,訪問數據的目的往往很明顯。如果某些IP訪問某些數據的頻率高于正常情況,而這些IP沒有訪問任何其他資源,那么可以斷定它是一個爬蟲。
 
2.訪問頻率。
 
頻率限制:每分鐘訪問次數超過n次的IP被屏蔽。如果3小時內有50次以上的訪問,會彈出一個驗證框。如果驗證內容輸入不正確,將被列入黑名單。
 
做一個計數器記錄一天的總次數和特定ip的每秒頻率,從而達到實時攔截的目的(這個類似淘寶的TMD使用分布式緩存進行計數,超出規則,或者直接拒絕或者跳轉到輸入驗證碼的頁面)。
 
 
3.港口檢查。
 
檢查端口80與netstat的連接:
 
sh netstat-nt | grep you hostip:80 | awk ' ' | awk-F ":" " | sort | uniq-c | sort-r-n
 
在這一行中,shell可以根據80端口連接數對源IP進行排序,從而直觀地判斷網絡爬蟲。一般來說,爬蟲的并發連接非常高。封鎖爬蟲直接所在的C網段的地址。這是因為一般的爬蟲都是在托管機房運行的,一個C段可能有多個服務器上的爬蟲,但是這個C段不能是用戶的寬帶上網。阻塞C段可以在很大程度上解決問題。
 
4.js埋點。
 
對比apache或nginx日志分析與js埋點,當爬蟲請求無法模擬瀏覽器請求時,js代碼無法執行,頁面上沒有埋點,但這個請求會留在web日志中。js有一個小問題,就是當用戶請求時,如果瀏覽器有緩存,其實并不會請求服務器,但是js確實埋了一個點,對比分析后效果會好很多。
 
5.訪問間隔的規律性。
 
爬蟲抓取網頁的頻率是相對固定的,不像人訪問網頁,兩者之間的間隔時間是比較不規律的,所以我們可以為每個IP地址設置一個時間窗口,記錄下該IP地址最近12次的訪問,每條記錄滑動一次窗口,將最近的訪問時間與當前時間進行比較。如果間隔較長,判斷不是爬蟲,則清除時間窗口;如果間隔不長,追溯計算指定時間段的訪問頻率;如果訪問頻率超過閾值,請轉到驗證碼頁面,讓用戶填寫驗證碼。
 
綜上所述,網絡爬蟲畢竟不是人,會留下痕跡。因此,為了獲取信息,爬蟲需要先偽裝數據的各個方面。對于無法偽裝的數據——IP地址,可以使用IP模擬器進行IP地址的切換,使數據能夠順利采集。
 
主站蜘蛛池模板: 樱桃视频直播在线观看免费| 舞蹈班的三个小女孩唐嫣| 男女猛烈xx00免费视频试看| 国产女同无遮挡互慰高潮视频| 91亚洲va在线天线va天堂va国产| 少妇精品久久久一区二区三区| 久久伊人成人网| 樱桃视频高清免费观看在线播放| 亚洲爆乳无码专区www| 精品久久久久久无码人妻蜜桃| 国产精品福利午夜在线观看| 《调教办公室》在线观看| 日日噜噜夜夜狠狠久久aⅴ| 亚洲精品免费在线视频| 精品综合一区二区三区| 国产亚洲欧美日韩精品一区二区| 老司机天堂影院| 国语自产精品视频在线第| yellow字幕网在线zmzz91| 欧美疯狂性受xxxxx喷水| 免费看的黄网站| 老公说我是不是欠g了| 国产在线无码制服丝袜无码| 俄罗斯精品bbw| 国产肥熟女视频一区二区三区| igao激情在线视频免费| 忘忧草www日本| 中文字幕精品无码亚洲字| 毛片试看120秒| 免费国产在线视频| 美女裸免费观看网站| 国产乱偷国产偷高清| 丁香婷婷亚洲六月综合色| 国产精品免费看| 8x网站免费入口在线观看| 在免费jizzjizz在线播| 99久无码中文字幕一本久道| 夜栋病勤1一12在线观看| ass亚洲**毛茸茸pics| 天天天天躁天天爱天天碰2018| japanese日本护士xxxx18一19|