更新時間:2020年09月18日15時38分 來源:傳智播客 瀏覽次數(shù):
通用爬蟲是一個自動提取網(wǎng)頁的程序,它為搜索引擎從Internet網(wǎng)上下載網(wǎng)頁,是搜索引擎的重要組成部分。
通用爬蟲從一個或若干初始網(wǎng)頁的URL開始,獲得初始網(wǎng)頁上的URL,在抓取網(wǎng)頁的過程中,不斷從當(dāng)前頁面上抽取新的URL放入隊列,直到滿足系統(tǒng)的一定停止條件。圖1演示了通用爬蟲抓取網(wǎng)頁的流程。
通用網(wǎng)絡(luò)爬蟲從互聯(lián)網(wǎng)中搜集網(wǎng)頁,采集信息,這些網(wǎng)頁信息用于為搜索引擎建立索引提供支持,它決定著整個引擎系統(tǒng)的內(nèi)容是否豐富,信息是否及時,因此其性能的優(yōu)劣直接影響著搜索引擎的效果。
但是,用于搜索引擎的通用爬蟲其爬行行為需要符合一定的規(guī)則,遵從一些命令或文件的內(nèi)容,如標(biāo)注為nofollow的鏈接,或者是Robots協(xié)議(后續(xù)會有相關(guān)介紹)。
多學(xué)一招:搜索引擎的工作流程
搜索引擎是通用爬蟲的最重要應(yīng)用領(lǐng)域,也是大家使用網(wǎng)絡(luò)功能時的最大助手。接下來就為大家介紹搜索引擎的工作流程,其主要包含以下幾個步驟。
1. 抓取網(wǎng)頁
搜索引擎使用通用爬蟲來抓取網(wǎng)頁,其基本工作流程與其他爬蟲類似,大致步驟如下:
(1)首先選取一部分的種子URL,將這些URL放入待抓取URL隊列;
(2)取出待抓取URL,解析DNS得到主機的IP,并將URL對應(yīng)的網(wǎng)頁下載下來,存儲進已下載網(wǎng)頁庫中,并且將這些URL放進已抓取URL隊列。
(3)分析已抓取URL隊列中的URL,分析其中的其他URL,并且將URL放入待抓取URL隊列,從而進入下一個循環(huán)。
那么,搜索引擎如何獲取一個新網(wǎng)站的URL?
(1)新網(wǎng)站向搜索引擎主動提交網(wǎng)址:(如百度http://zhanzhang.baidu.com/linksubmit/url)。
(2)在其他網(wǎng)站上設(shè)置新網(wǎng)站外鏈(盡可能處于搜索引擎爬蟲爬取范圍)。
(3)搜索引擎和DNS解析服務(wù)商(如DNSPod等)合作,新網(wǎng)站域名將被迅速抓取。
2. 數(shù)據(jù)存儲
搜索引擎通過爬蟲爬取到網(wǎng)頁后,將數(shù)據(jù)存入原始頁面數(shù)據(jù)庫。其中的頁面數(shù)據(jù)與用戶瀏覽器得到的HTML是完全一樣的。
搜索引擎蜘蛛在抓取頁面時,也做一定的重復(fù)內(nèi)容檢測,一旦遇到訪問權(quán)重很低的網(wǎng)站上有大量抄襲、采集或者復(fù)制的內(nèi)容,很可能就不再爬行。
3. 預(yù)處理
搜索引擎將爬蟲抓取回來的頁面,進行各種步驟的預(yù)處理,包括:
·提取文字
·中文分詞
·消除噪音(比如版權(quán)聲明文字、導(dǎo)航條、廣告等……)
·索引處理
·鏈接關(guān)系計算
·特殊文件處理
·....
除了HTML文件外,搜索引擎通常還能抓取和索引以文字為基礎(chǔ)的多種文件類型,如 PDF、Word、WPS、XLS、PPT、TXT 文件等。我們在搜索結(jié)果中也經(jīng)常會看到這些文件類型。
但搜索引擎還不能處理圖片、視頻、Flash這類非文字內(nèi)容,也不能執(zhí)行腳本和程序。
4. 提供檢索服務(wù),網(wǎng)站排名
搜索引擎在對信息進行組織和處理后,為用戶提供關(guān)鍵字檢索服務(wù),將用戶檢索相關(guān)的信息展示給用戶。
同時會根據(jù)頁面的PageRank值(鏈接的訪問量排名)來進行網(wǎng)站排名,這樣Rank值高的網(wǎng)站在搜索結(jié)果中會排名較前,當(dāng)然也可以直接付費購買搜索引擎網(wǎng)站排名,付費購買排名是搜索引擎公司的盈利業(yè)務(wù)之一。
圖2演示了搜索引擎的工作原理和主要組成部分。
猜你喜歡: