成為搜索產(chǎn)品經(jīng)理(2):認(rèn)識網(wǎng)絡(luò)爬蟲
在上文中,筆者介紹了互聯(lián)網(wǎng)的發(fā)展、搜索引擎的發(fā)展,從目錄搜索引擎講到搜索引擎。本章節(jié),我們來繼續(xù)聊一聊搜索產(chǎn)品背后的技術(shù)。
因?yàn)槲冶旧聿⒉粡氖录夹g(shù)崗位,本篇文章的讀者,我也默認(rèn)是與我一樣,不從事技術(shù)崗位,但對技術(shù)有一定感知的同學(xué),我將盡力將文章寫得簡單、易懂。
索引引擎系統(tǒng)由多個(gè)子模塊組成,先來了解第一個(gè)模塊,網(wǎng)絡(luò)爬蟲。
一、網(wǎng)絡(luò)爬蟲是什么?
用一個(gè)程序自動(dòng)地將所有的網(wǎng)頁下載到本地,在本地形成互聯(lián)網(wǎng)的鏡像備份。
二、通用爬蟲框架
了解通用爬蟲框架之前,讓我們再次回顧上個(gè)章節(jié)講過的超鏈接(hyperlinks)。
瀏覽網(wǎng)頁時(shí),點(diǎn)擊超鏈接,瀏覽器就可跳轉(zhuǎn)到相應(yīng)的網(wǎng)頁。有了超鏈接,我們可以從任何一個(gè)網(wǎng)頁出發(fā),用圖的遍歷算法,自動(dòng)地訪問每一個(gè)網(wǎng)頁并把他們存起來。
(圖的遍歷算法,在這里不做解釋,有興趣的同學(xué),可以自己查詢)
上述說法較為抽象,讓我們通過一個(gè)實(shí)例來了解。
網(wǎng)絡(luò)爬蟲如何下載整個(gè)互聯(lián)網(wǎng)呢?
參考上圖,從一家門戶網(wǎng)站的首頁開始。我們?nèi)我膺x擇一家門戶網(wǎng)站的首頁,將其內(nèi)容下載下來,并對內(nèi)容進(jìn)行分析,于是,我們能獲取門戶網(wǎng)站首頁的所有超鏈接。接著,我們分別進(jìn)入不同的超鏈接,比如,進(jìn)入超鏈接一,重復(fù)對該網(wǎng)站進(jìn)行內(nèi)容下載。
當(dāng)然,也需要記載哪個(gè)網(wǎng)頁被下載過了,避免重復(fù)。
三、網(wǎng)絡(luò)爬蟲的特性
實(shí)用的爬蟲系統(tǒng)應(yīng)該具備如下幾種特性:
3.1 高性能
互聯(lián)網(wǎng)網(wǎng)頁浩如煙海,因此爬蟲的性能至關(guān)重要。性能定義為爬蟲下載網(wǎng)頁的速度,具體評價(jià)指標(biāo)為爬蟲每秒能下載的網(wǎng)頁數(shù)量。單位時(shí)間能夠下載網(wǎng)頁數(shù)量越多,性能越高。
3.2 可擴(kuò)展性
因?yàn)榛ヂ?lián)網(wǎng)網(wǎng)頁數(shù)量巨大,即使單個(gè)爬蟲性能很高,要完成爬蟲任務(wù),所耗費(fèi)的時(shí)間也是極長。為了盡可能縮短抓取周期,爬蟲系統(tǒng)應(yīng)該有很好的可擴(kuò)展性,可以通過增加爬蟲數(shù)量來達(dá)到此目的。
3.3 健壯性
爬蟲要訪問各種類型的網(wǎng)站服務(wù)器,可能會(huì)遇到很多種非正常情況,比如網(wǎng)頁HTML編碼不規(guī)范,被抓取服務(wù)器突然死機(jī)。爬蟲對各種異常情況能夠正確處理非常重要,否則可能會(huì)不定期停止工作。
3.4 友好性
爬蟲的友好性包含兩方面的含義:
1. 保護(hù)網(wǎng)站的部分私密性
2. 減少被抓取網(wǎng)站的網(wǎng)絡(luò)負(fù)載
四、爬蟲質(zhì)量的評價(jià)標(biāo)準(zhǔn)
從用戶體驗(yàn)角度,我們需要對爬蟲質(zhì)量進(jìn)行衡量,有以下3個(gè)指標(biāo):
1. 抓取網(wǎng)頁覆蓋率
2. 抓取網(wǎng)頁時(shí)新性
3. 抓取網(wǎng)頁重要性
4.1 覆蓋率
覆蓋率 = 爬蟲抓取的網(wǎng)頁數(shù)量 / 互聯(lián)網(wǎng)所有網(wǎng)頁數(shù)量的比例
覆蓋率高,等價(jià)于搜索引擎的召回率越高。
上圖中,互聯(lián)網(wǎng)有5個(gè)網(wǎng)頁,爬蟲系統(tǒng)抓取了其中3個(gè),因此召回率 = 3 / 5 = 60%
4.2 時(shí)效性
對很多抓到本地的網(wǎng)頁來說,很多網(wǎng)頁可能已經(jīng)發(fā)生變化,或者被刪除,爬蟲完整抓取一輪需要較長的時(shí)間周期,所以抓取到的網(wǎng)頁中必有一部分是過期的數(shù)據(jù),即不能在網(wǎng)頁變化后第一時(shí)間反映到網(wǎng)頁庫中,所以網(wǎng)頁庫中過期的數(shù)據(jù)越少,則網(wǎng)頁的時(shí)效性越好,這對用戶體驗(yàn)的作用非常重要。
4.3 重要性
互聯(lián)網(wǎng)網(wǎng)頁眾多,但是每個(gè)網(wǎng)頁重要性差異很大,比如來自雅虎新聞的網(wǎng)頁和某個(gè)作弊網(wǎng)頁相比,重要性有很大差異。如果搜索引擎爬蟲抓回來的網(wǎng)頁大都是比較重要的網(wǎng)頁,則其在抓取網(wǎng)頁重要性方面做得很好。
本章介紹了,搜索引擎的第一步,網(wǎng)絡(luò)爬蟲,分別從網(wǎng)絡(luò)爬蟲系統(tǒng),網(wǎng)絡(luò)爬蟲的性能,以及網(wǎng)絡(luò)爬蟲的評價(jià)指標(biāo)三大模塊,對網(wǎng)絡(luò)爬蟲進(jìn)行了講解。
下一章,我們講搜索引擎索引。
參考
- 數(shù)學(xué)之美
- 智能時(shí)代
- 這就是搜索引擎核心技術(shù)詳解
本文由 @一顆西蘭花 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議
求更新啊
您有搜索相關(guān)的群之類的嗎?想多學(xué)習(xí)一下呢
繼續(xù)啊,老板!小迷哥等你更新呢!
這完全是seo的部分知識
SEO(Search Engine Optimization):漢譯為搜索引擎優(yōu)化。是一種方式:利用搜索引擎的規(guī)則提高網(wǎng)站在有關(guān)搜索引擎內(nèi)的自然排名。目的是讓其在行業(yè)內(nèi)占據(jù)領(lǐng)先地位,獲得品牌收益。——百度百科 >> SEO的目標(biāo)是提高網(wǎng)站的自然排名,當(dāng)然是需要了解搜索引擎的規(guī)則
個(gè)人覺得稍微淺了些,如果深入講下就好了??
好的呀!會(huì)深入分析的
菜鳥一枚,感謝通俗地分享,學(xué)習(xí)了
不客氣