程田
雖然已經上映有一段時日了,《美國隊長3》仍然是大家熱搜的焦點。當你在百度搜索里輸入“美國隊長3”時,會發現百度為你找到了約有272000個相關結果。而當你想要搜索最新加入的蜘蛛俠,只要輸入“美國隊長3 蜘蛛俠”,百度就會為你找到約3470000個相關結果。在浩如星海的網絡信息中,究竟是什么技術幫助我們抓住了真正需要的信息呢?
網絡搜索靠“神馬”
還記得影片中蜘蛛俠為了能夠迎戰強大的美國隊長,而接受了鋼鐵俠提供的最新技術裝備嗎?搜索引擎,就是人們在網絡時代抓取信息時的必備技術裝備。這套裝備也是在相應的條件下不斷進步的。據統計,截至2015年,中國網頁數量已經突破了2000億,人們通過互聯網一個一個查找信息的手段已經OUT。說得再深入一些,你會發現身邊人們的消費方式也發生了巨大的改變。那些知名的企業為了推廣品牌,紛紛加入了網絡推廣的大軍,就像知名的漫威公司,在營銷自己的電影時也有一套網絡推廣方案。而搜索引擎,正是網絡推廣中最廉價、最高效的方式。因此,由于時代的召喚和大眾的需求,搜索引擎自然成為了網絡搜索中人們的首選。
其實用一句話來說,搜索引擎就是以一定的策略在互聯網中搜集發現信息,同時對信息進行理解、提取、組織和處理,并為用戶提供檢索服務的一種方式。
搜索引擎主要有兩種基本的類型:一類是利用全文檢索的技術型搜索引擎,像大家熟悉的百度、谷歌等。這一類搜索引擎利用數據挖掘提取技術收集網絡信息,并根據相應的算法建立數據庫索引供用戶查詢。這種類型的搜索引擎是最常用的。
而另一類則被稱為分類目錄,這種搜索引擎是通過人工編輯網絡信息,利用關鍵字和描述信息進行信息檢索,并將符合條件的結果人工錄入數據庫,能夠形成有針對性的逐級查詢。不過也有一個缺點,就是對網站要求特別高,有時即使登錄多次,也不一定會成功。而大家最熟悉的例子大概就是巨難登錄的超級引擎YAHOO了。
搜索引擎的基本構造
就像蜘蛛俠的裝備覆蓋了頭、身、手、腳,搜索引擎也從四個基本的部分武裝和完善了信息抓取的技術,它們就是:Spider、索引模塊、信息檢索和用戶接口。
Spider
也就是網絡爬蟲,它是搜索引擎數據收集的關鍵技術,也是網絡抓取技術的重要手段(對于最關鍵的這點,我們還會在下面說得更詳細)。
索引模塊
利用索引分析器對Spider獲得的信息進行分析和處理,過濾掉無效以及冗余的信息,并把信息表示成一種便于建立索引的方式,建立索引數據庫,便于用戶查詢信息。
信息檢索
根據用戶查詢的關鍵詞從索引數據庫中快速查找相應的文檔,并進行相關度的計算,然后將結果根據相關度排序反饋給用戶。
用戶接口
用戶接口作為用戶與搜索引擎交互的窗口,將接受的關鍵字或相關的重要信息輸入到系統之中,并反饋用戶的查詢結果。
Spider—信息抓取關鍵者
如果說,蜘蛛俠裝備的核心技術是能夠噴射大網,并能逮捕敵人的蛛絲發射器。那么Spider也可以說是搜索引擎中最關鍵的一環了。
和蛛絲發射器的用法差不多,搜索引擎利用Spider尋找網絡內容的基本工作流程,也就是說將網絡上的HTML文檔使用超鏈接鏈接起來,織成一張大網,然后Spider就像蜘蛛一樣沿著這張網把相應的網頁信息抓取下來,并抽取相應的超鏈接作為下一步爬行的線索(請自行腦補蜘蛛俠不停發射蛛絲并前進的畫面)。當搜索完成后,建立相應的索引數據庫。最后,利用算法對搜索結果進行處理和排序。當然了,由于網絡更新速度快,需要定期地多次爬取以更新相應的網絡信息,避免死鏈接和無效鏈接。
就像超級英雄們在行動之前都會制定相應的行動方針,Spider在網絡中的移動也需要遵循一定的方法和策略。通常的網頁分析方法包括基于網絡拓撲結構、網頁內容以及用戶的訪問行為等分析方法。基于網絡拓撲結構的方法主要利用網絡結構的特性,即相應網絡節點中的出入度,權值或節點粒度,進行相應的優先度(重要性)分析?;诰W頁內容的分析方法主要利用了文本檢索的技術,對網頁進行快速有效的分類和聚類?;谟脩粼L問行為的分析主要根據用戶行為的上下文信息對網絡路徑進行預測。
而說到搜索策略,Spider主要有兩種搜索方法:廣度優先遍歷法和深度優先遍歷法。這就相當于超級英雄們的作戰策略了。
廣度優先用于網絡搜索法則,是指Spider會先抓取起始網頁中鏈接的所有網頁,然后再選擇其中的一個鏈接網頁,繼續抓取在此網頁中鏈接的所有網頁。比如在瀏覽網頁時,先打開你要瀏覽的全部內容,像體育板塊,新聞板塊、論壇板塊、財經板塊等等,在選擇其中一個板塊后以之前相同的方式向下瀏覽,例如你選擇了體育版塊,再打開籃球版塊,然后再接著打開籃球中的科比新聞,以這樣方式循環向下瀏覽。
深度優先用于網絡搜索法則是指網絡爬蟲會從起始頁開始,一個一個鏈接跟蹤下去,處理完這條線路之后再轉入下一個起始頁繼續跟蹤鏈接。換句話說,就是指把一種內容看完后再更換其他內容,比如瀏覽網頁時,先看體育版塊,在瀏覽體育版塊中的籃球區,籃球區看完后去看足球區,等所有在體育板塊中我想看完的內容都看完后,我再選擇其他版塊進行觀看。
雖然從目前的基本工作流程來看,Spider能夠很輕易地實現搜索,但隨著互聯網技術的不斷發展,網絡抓取技術還會面臨新的挑戰。網頁數量爆發式的增長,意味著在一定時間之內,只能抓取其中的一部分。為了更好地抓取信息,Spider不僅需要能夠完成基本的工作流程,還需要研發者們提供更好的爬取策略。當信息抓取技術進一步提升時,就能幫你把想要的信息一網打盡了。