網絡爬蟲技術初識

爬蟲基礎

網絡爬蟲(又被稱爲網頁蜘蛛,網絡機器人),是一種按照一定的規則,自動的抓取萬維網信息的程序或者腳本,是搜索引擎的重要組成。傳統爬蟲從一個或若干初始網頁的URL開始,獲得初始網頁上的URL,在抓取網頁的過程中,不斷從當前頁面上抽取新的URL放入隊列,直到滿足系統的一定停止條件。

1、 通用爬蟲 :     通常指搜索引擎的爬蟲(https://www.baidu.com)

2、 聚焦爬蟲 :     針對特定網站的爬蟲

robots協議

通用爬蟲並不是萬物皆可爬,它也需要遵守規則。 在網站根目錄下robots.txt文件中會指明爬蟲可爬取的網頁,當然這只是一個君子協議,並不是所有爬蟲都遵循,一般只有大型的搜索引擎的爬蟲才遵守。 在網頁head中增加mate標籤也可以 <meta name="robots" content="noindex,nofollow" /> 例如:https://www.taobao.com/robots.txt

採集策略

 1. 深度優先遍歷策略 (ABF CGHI DE)

2. 廣度優先遍歷策略 (ABCDE FG HI)

3. 大站優先策略  對於待抓取URL隊列中的所有網頁,根據所屬的網站進行分類。對於待下載頁面數多的網站,優先下載。這個策略也因此叫做大站優先策略。

清洗策略

 如何獲取解析爬來的數據

1,json格式的數據jsckson,jsonObject

2,html格式xml格式Jsoup ,SAXReader,Dom4j

3,字符串正則匹配

濾重策略

1、布隆過濾器 2、基於Hash算法 3、基於MD5壓縮映射 4、基於輕量級KVDB

反爬策略

1,設置請求頭

如何設置請求頭?

2,ip訪問頻率限制

nginx

3,輸入驗證碼

4,要求登錄&cookie驗證

5,js渲染

可以將重要的內容寫道js中,瀏覽器加載可以解析js,而爬蟲不具備js代碼執行能力

5,自定義字體

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章