如何高效的識別出網路爬蟲?

例如根據數據如何識別出是爬蟲?
有什麼演算法推薦的嗎?


謝邀。

樓主的問題是如何高效識別出爬蟲,其實最高效的方法就一個:爬蟲自己標記自己是爬蟲,比如百度和谷歌。

樓主肯定不是想問這樣的問題,樓主的問題肯定是這樣,有些爬蟲偽裝成ua在自己的網站上定期爬數據,樓主不希望自己的網站內容被系統性搬運,可採取如下措施:

1、限制單個ip/api token的訪問量,比如15分鐘限制訪問頁面180次,具體標準可參考一些大型網站的公開api,如twitter api,對於抓取用戶公開信息的爬蟲要格外敏感。

2、蜜罐資源。爬蟲解析離不開正則匹配,適當在頁面添加一些正常瀏覽器瀏覽訪問不到的資源,一旦有ip訪問,過濾下頭部是不是搜素引擎的蜘蛛,不是就可以直接封了。

3、定期分析日誌。系統分析的效果肯定要強過過濾單條日誌,比如裝一個awstat之類的專門分析web伺服器日誌的應用。


推薦閱讀:

MATLAB循環嵌套的優化,可否改成矩陣運算?
一個N*N的矩陣,取值為0或1,有什麼好的演算法判斷一行或一列全為1啊?
卡爾曼濾波器是如何運用於多感測器融合的?
MD5加密相比於其他加密有什麼好處?
怎麼看演算法書?

TAG:演算法 | 爬蟲計算機網路 | 信息檢索 | 網頁爬蟲 |