通用爬蟲與聚焦爬蟲

有頭髮的程式猿發表於2023-04-18

根據使用場景,網路爬蟲可分為 通用爬蟲 和 聚焦爬蟲 兩種。

  1. 通用爬蟲

通用網路爬蟲 是 捜索引擎抓取系統(Baidu、Google、Yahoo等)的重要組成部分。主要目的是將網際網路上的網頁下載到本地,形成一個網際網路內容的映象備份。

通用網路爬蟲 從網際網路中搜集網頁,採集資訊,這些網頁資訊用於為搜尋引擎建立索引從而提供支援,它決定著整個引擎系統的內容是否豐富,資訊是否即時,因此其效能的優劣直接影響著搜尋引擎的效果。

1.1 通用搜尋引擎(Search Engine)工作原理

第一步:抓取網頁

搜尋引擎網路爬蟲的基本工作流程如下:

首先選取一部分的種子URL,將這些URL放入待抓取URL佇列;

取出待抓取URL,解析DNS得到主機的IP,並將URL對應的網頁下載下來,儲存進已下載網頁庫中,並且將這些URL放進已抓取URL佇列。

分析已抓取URL佇列中的URL,分析其中的其他URL,並且將URL放入待抓取URL佇列,從而進入下一個迴圈…

搜尋引擎如何獲取一個新網站的URL:

新網站向搜尋引擎主動提交網址:(如百度

在其他網站上設定新網站外鏈(儘可能處於搜尋引擎爬蟲爬取範圍)

搜尋引擎和DNS解析服務商(如DNSPod等)合作,新網站域名將被迅速抓取。

但是搜尋引擎蜘蛛的爬行是被輸入了一定的規則的,它需要遵從一些命令或檔案的內容,如標註為nofollow的連結,或者是Robots協議。

Robots協議(也叫爬蟲協議、機器人協議等),全稱是“網路爬蟲排除標準”(Robots Exclusion

Protocol),網站透過Robots協議告訴搜尋引擎哪些頁面可以抓取,哪些頁面不能抓取,例如:

淘寶網:

騰訊網:  http://www.qq.com/robots.txt

第二步:資料儲存

搜尋引擎透過爬蟲爬取到的網頁,將資料存入原始頁面資料庫。其中的頁面資料與使用者瀏覽器得到的HTML是完全一樣的。

搜尋引擎蜘蛛在抓取頁面時,也做一定的重複內容檢測,一旦遇到訪問權重很低的網站上有大量抄襲、採集或者複製的內容,很可能就不再爬行。

第三步:預處理

搜尋引擎將爬蟲抓取回來的頁面,進行各種步驟的預處理。

提取文字

中文分詞

消除噪音(比如版權宣告文字、導航條、廣告等……)

索引處理

連結關係計算

特殊檔案處理

除了HTML檔案外,搜尋引擎通常還能抓取和索引以文字為基礎的多種檔案型別,如 PDF、Word、WPS、XLS、PPT、TXT 檔案等。我們在搜尋結果中也經常會看到這些檔案型別。

但搜尋引擎還不能處理圖片、影片、Flash 這類非文字內容,也不能執行指令碼和程式。

第四步:提供檢索服務,網站排名

搜尋引擎在對資訊進行組織和處理後,為使用者提供關鍵字檢索服務,將使用者檢索相關的資訊展示給使用者。

同時會根據頁面的PageRank值(連結的訪問量排名)來進行網站排名,這樣Rank值高的網站在搜尋結果中會排名較前,當然也可以直接使用 Money 購買搜尋引擎網站排名,簡單粗暴。

但是,這些通用性搜尋引擎也存在著一定的侷限性:

  1. 通用搜尋引擎所返回的結果都是網頁,而大多情況下,網頁裡90%的內容對使用者來說都是無用的。

  2. 不同領域、不同背景的使用者往往具有不同的檢索目的和需求,搜尋引擎無法提供針對具體某個使用者的搜尋結果。

  3. 全球資訊網資料形式的豐富和網路技術的不斷髮展,圖片、資料庫、音訊、影片多媒體等不同資料大量出現,通用搜尋引擎對這些檔案無能為力,不能很好地發現和獲取。

  4. 通用搜尋引擎大多提供基於關鍵字的檢索,難以支援根據語義資訊提出的查詢,無法準確理解使用者的具體需求。

針對這些情況,聚焦爬蟲技術得以廣泛使用。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70026917/viewspace-2946608/,如需轉載,請註明出處,否則將追究法律責任。

相關文章