成為搜索產品經理(2):認識網絡爬蟲

9 評論 7536 瀏覽 62 收藏 6 分鐘

在上文中,筆者介紹了互聯網的發展、搜索引擎的發展,從目錄搜索引擎講到搜索引擎。本章節,我們來繼續聊一聊搜索產品背后的技術。

因為我本身并不從事技術崗位,本篇文章的讀者,我也默認是與我一樣,不從事技術崗位,但對技術有一定感知的同學,我將盡力將文章寫得簡單、易懂。

索引引擎系統由多個子模塊組成,先來了解第一個模塊,網絡爬蟲。

一、網絡爬蟲是什么?

用一個程序自動地將所有的網頁下載到本地,在本地形成互聯網的鏡像備份。

二、通用爬蟲框架

了解通用爬蟲框架之前,讓我們再次回顧上個章節講過的超鏈接(hyperlinks)。

瀏覽網頁時,點擊超鏈接,瀏覽器就可跳轉到相應的網頁。有了超鏈接,我們可以從任何一個網頁出發,用圖的遍歷算法,自動地訪問每一個網頁并把他們存起來。

(圖的遍歷算法,在這里不做解釋,有興趣的同學,可以自己查詢)

上述說法較為抽象,讓我們通過一個實例來了解。

網絡爬蟲如何下載整個互聯網呢?

參考上圖,從一家門戶網站的首頁開始。我們任意選擇一家門戶網站的首頁,將其內容下載下來,并對內容進行分析,于是,我們能獲取門戶網站首頁的所有超鏈接。接著,我們分別進入不同的超鏈接,比如,進入超鏈接一,重復對該網站進行內容下載。

當然,也需要記載哪個網頁被下載過了,避免重復。

三、網絡爬蟲的特性

實用的爬蟲系統應該具備如下幾種特性:

3.1 高性能

互聯網網頁浩如煙海,因此爬蟲的性能至關重要。性能定義為爬蟲下載網頁的速度,具體評價指標為爬蟲每秒能下載的網頁數量。單位時間能夠下載網頁數量越多,性能越高。

3.2 可擴展性

因為互聯網網頁數量巨大,即使單個爬蟲性能很高,要完成爬蟲任務,所耗費的時間也是極長。為了盡可能縮短抓取周期,爬蟲系統應該有很好的可擴展性,可以通過增加爬蟲數量來達到此目的。

3.3 健壯性

爬蟲要訪問各種類型的網站服務器,可能會遇到很多種非正常情況,比如網頁HTML編碼不規范,被抓取服務器突然死機。爬蟲對各種異常情況能夠正確處理非常重要,否則可能會不定期停止工作。

3.4 友好性

爬蟲的友好性包含兩方面的含義:
1. 保護網站的部分私密性
2. 減少被抓取網站的網絡負載

四、爬蟲質量的評價標準

從用戶體驗角度,我們需要對爬蟲質量進行衡量,有以下3個指標:
1. 抓取網頁覆蓋率
2. 抓取網頁時新性
3. 抓取網頁重要性

4.1 覆蓋率

覆蓋率 = 爬蟲抓取的網頁數量 / 互聯網所有網頁數量的比例
覆蓋率高,等價于搜索引擎的召回率越高。

上圖中,互聯網有5個網頁,爬蟲系統抓取了其中3個,因此召回率 = 3 / 5 = 60%

4.2 時效性

對很多抓到本地的網頁來說,很多網頁可能已經發生變化,或者被刪除,爬蟲完整抓取一輪需要較長的時間周期,所以抓取到的網頁中必有一部分是過期的數據,即不能在網頁變化后第一時間反映到網頁庫中,所以網頁庫中過期的數據越少,則網頁的時效性越好,這對用戶體驗的作用非常重要。

4.3 重要性

互聯網網頁眾多,但是每個網頁重要性差異很大,比如來自雅虎新聞的網頁和某個作弊網頁相比,重要性有很大差異。如果搜索引擎爬蟲抓回來的網頁大都是比較重要的網頁,則其在抓取網頁重要性方面做得很好。

本章介紹了,搜索引擎的第一步,網絡爬蟲,分別從網絡爬蟲系統,網絡爬蟲的性能,以及網絡爬蟲的評價指標三大模塊,對網絡爬蟲進行了講解。

下一章,我們講搜索引擎索引。

參考

  1. 數學之美
  2. 智能時代
  3. 這就是搜索引擎核心技術詳解

 

本文由 @一顆西蘭花 原創發布于人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 求更新啊

    來自北京 回復
  2. 您有搜索相關的群之類的嗎?想多學習一下呢

    來自北京 回復
  3. 繼續啊,老板!小迷哥等你更新呢!

    來自北京 回復
  4. 這完全是seo的部分知識

    來自廣東 回復
    1. SEO(Search Engine Optimization):漢譯為搜索引擎優化。是一種方式:利用搜索引擎的規則提高網站在有關搜索引擎內的自然排名。目的是讓其在行業內占據領先地位,獲得品牌收益?!俣劝倏?>> SEO的目標是提高網站的自然排名,當然是需要了解搜索引擎的規則

      來自北京 回復
  5. 個人覺得稍微淺了些,如果深入講下就好了??

    來自湖南 回復
    1. 好的呀!會深入分析的

      來自北京 回復
  6. 菜鳥一枚,感謝通俗地分享,學習了

    來自北京 回復
    1. 不客氣

      來自北京 回復