首先,搜索引擎的處理對象是網頁
搜索引擎爬蟲指的是搜索引擎用于自動抓取網頁的程序或者說叫機器人。這個就是從某一個網址為起點,去訪問,然后把網頁存回到數據庫中,如此不斷循環,一般認為搜索引擎爬蟲都是沒鏈接爬行的,所以管他叫爬蟲。他只有開發搜索引擎才會用到。我們做網站,只需有鏈接指向我們的網頁,爬蟲就會自動提取我們的網頁。
下圖是通用的爬蟲框架流程:
首先從互聯網頁面中精心選擇一部分網頁,以這些網頁的鏈接地址作為種子URL,將這些種子URL放入待抓取URL隊列中,爬蟲從待抓取URL隊列依次讀取,并將URL通過DNS解析,把鏈接地址轉換為網站服務器對應的IP地址。
然后將其和網頁相對路徑名稱交給網頁下載器,網頁下載器負責頁面內容的下載。對于下載到本地的網頁,一方面將其存儲到頁面庫中,等待建立索引等后續處理;另一方面將下載網頁的URL放入已抓取URL隊列中,這個隊列記載了爬蟲系統已經下載過的網頁URL,以避免網頁的重復抓取。對于剛下載的網頁,從中抽取出所包含的所有鏈接信息,并在已抓取URL隊列中檢查,如果發現鏈接還沒有被抓取過,則將這個URL放入待抓取URL隊列末尾,在之后的抓取調度中會下載這個URL對應的網頁。如此這般,形成循環,直到待抓取URL隊列為審,這代表著爬蟲系統已將能夠抓取的網頁盡數抓完,此時完成了一輪完整的抓取過程。
互聯網頁面劃分為5個部分:
1.已下載網頁集合:爬蟲已經從互聯網下載到本地進行索引的網頁集合。
2.已過期網頁集合:由于網頁數最巨大,爬蟲完整抓取一輪需要較長時間,在抓取過程中,很多已經下載的網頁可能過期。之所以如此,是因為互聯網網頁處于不斷的動態變化過程中,所以易產生本地網頁內容和真實互聯網網頁不一致的情況。
3.待下載網頁集合:即處于上圖中待抓取URL隊列中的網頁,這些網頁即將被爬蟲下載。
4.可知網頁集合:這些網頁還沒有被爬蟲下載,也沒有出現在待抓取URL隊列中,不過通過已經抓取的網頁或者在待抓取URL隊列中的網頁,總足能夠通過鏈接關系發現它們,稍晚時候會被爬蟲抓取并索引。
5.不可知網頁集合:有些網頁對于爬蟲來說是無法抓取到的,這部分網頁構成了不可知網頁集合。事實上,這部分網頁所占的比例很高。
![]() |
不含病毒。www.avast.com |