爬蟲之JAVA搜尋引擎爬蟲識別

2021-09-19 12:42:17 字數 1562 閱讀 1432

所謂人之初性本善,爬蟲誕生之初也是善良的,但是隨著時代發展,尤其大資料|機器學習等興起之後,爬蟲也像慢慢長大的人一樣,有了善意惡意之分(說明:爬蟲技術無分善惡,這裡指技術利用,最好遵循reboot君子協議,至少不要把人家爬癱吧)。

善意爬蟲最常見的莫過於各個大的搜尋引擎廠家,他們釋放數以億計的爬蟲每天孜孜不倦的穿梭於各個服務之間,收錄我們的**服務資訊,以供使用者檢索查詢(雖然搜尋出來大多數都是廣告),作為**服務的運營商,每天都大開方便之門歡迎他們來爬,雖偶爾會造成伺服器壓力,可以通過君子協議約束(如reboot檔案),這種爬蟲就可定義為善意的。

惡意的爬蟲就不那麼友好了,有的是小惡、有的是萬惡;常見的小惡:每年的畢業設計來臨之季,有些做資料分析相關畢設的同學,為了收集資料,釋放了n多個小爬蟲在網上亂竄。最重要的是:同學收集好了資料,記得關一下呀,交了畢設,爬蟲也被拋到九宵雲外,這些無人認領的小爬蟲也就成了殭屍爬蟲,這種往往是小惡。

常見的大惡:有沒有想過為啥搶不到火車票、為啥搶不到專家號,因為你的手不可能快過爬蟲;還有一些所謂大資料創業公司,他們的大資料從哪來?爬蟲;這些收集來的資料其中就有很多敏感的個人資訊資料,比如某些提供徵信服務的小公司,比如某簡歷大資料公司被「一鍋端」(網上可查);這些涉及個人敏感資料非法收集的都是大惡了,還有那些把別人伺服器爬癱的等等。

理清楚了善惡,就要懲惡揚善了;在發賞善罰惡令之前,要先識別善惡,辨惡通常的手法是:1、ip頻次識別 2、ua判斷 3、referer判斷 4、引數hash驗證 等手段,這裡不是今天的重點(以後詳談識別防護)。重點揚善,就是如何識別善意爬蟲,要不花那麼多錢做seo不是打水漂了。

技術手段很簡單,就是通過ip網域名稱反查來實現,window下通過nslookup、linux下通過host來反查,不扯淡,直接上**(demo)。

public class nslookup 

/* * googlebot 66.249.67.254 谷歌

* msnbot-103-25-156-254.search.msn.com 103.25.156.254 必應

* unknown-68-180-228-x.yahoo.com 68.180.228.254 雅虎

} // 360匹配

private static boolean spider360(string ip)

return false;

}}

搜尋引擎之網路爬蟲

1 網路爬蟲結構 網路爬蟲把網路分為5個部分 5不可知網頁集合 即爬蟲無法獲取的網頁,而且這部分網頁佔較大比例 2 爬蟲分類 1批量型 有明確抓取範圍和目標,達到目標停止抓取,目標可以使網頁輸也可以是時間量。2增量型 會保持不斷的抓取2 爬蟲分類 1批量型 有明確抓取範圍和目標,達到目標停止抓取,目...

搜尋引擎 網路爬蟲

原文出自 瀏覽器和網路爬蟲是兩種不同的網路客戶端,都以相同的方式來獲取網頁 1 首先,客戶端程式連線到網域名稱系統 dns 伺服器上,dns伺服器將主機 名轉換成ip 位址。2 接下來,客戶端試著連線具有該ip位址的伺服器。伺服器上可能有多個 不同程序程式在執行,每個程序程式都在監聽網路以發現新的選...

搜尋引擎 網路爬蟲

5 多執行緒 主要目的減少cpu資源的浪費 通過網路爬蟲獲取網域名稱,得到網域名稱之後,查詢,對比,存到資料庫中,更新 拿新資訊,將一些訪問量大的資訊存入快取中 6 一般伺服器為30 40個執行緒 7 seo 搜尋排名優化技術 8 執行緒池 代替我們管理執行緒,相當於乙個執行緒框架,執行緒池中有乙個...