官术网_书友最值得收藏!

1.4 爬蟲的搜索策略

在互聯網數據時代,有三大搜索策略需要有所了解,下面一一介紹。

1.深度優先搜索

深度優先搜索是在開發爬蟲早期使用較多的方法,目的是達到被搜索結構的葉結點(那些不包含任何超級URL的HTML文件)。在一個HTML文件中,當一個URL被選擇后,被選URL將執行深度優先搜索,搜索后得到新的HTML文件,再從新的HTML獲取新的URL進行搜索,以此類推,不斷地爬取HTML中的URL,直到HTML中沒有URL為止。

深度優先搜索沿著HTML文件中的URL走到不能再深入為止,然后返回到某一個HTML文件,再繼續選擇該HTML文件中的其他URL。當不再有其他URL可選擇時,說明搜索已經結束。其優點是能遍歷一個Web站點或深層嵌套的文檔集合。缺點是因為Web結構相當深,有可能造成一旦進去再也出不來的情況發生。

舉個例子,比如一個網站的首頁里面帶有很多URL,深度優先通過首頁的URL進入新的頁面,然后通過這個頁面里的URL再進入新的URL,不斷地循環下去,直到返回的頁面沒有URL為止。如果首頁有兩個URL,選擇第一個URL后,生成新的頁面就不會返回首頁,而是在新的頁面選擇一個新的URL,這樣不停地訪問下去。

2.寬度優先搜索

寬度優先搜索是搜索完一個Web頁面中所有的URL,然后繼續搜索下一層,直到底層為止。例如,首頁中有3個URL,爬蟲會選擇其中之一,處理相應的頁面之后,然后返回首頁再爬取第二個URL,處理相應的頁面,最后返回首頁爬取第三個URL,處理第三個URL對應的頁面。

一旦一層上的所有URL都被選擇過,就可以開始在剛才處理過的頁面中搜索其余的URL,這就保證了對淺層的優先處理。當遇到一個無窮盡的深層分支時,不會導致陷進深層文檔中出不來的情況發生。寬度優先搜索策略還有一個優點,能夠在兩個頁面之間找到最短路徑。

寬度優先搜索策略通常是實現爬蟲的最佳策略,因為它容易實現,而且具備大多數期望的功能。但是如果要遍歷一個指定的站點或者深層嵌套的HTML文件集,用寬度優先搜索策略就需要花費較長時間才能到達最底層。

3.聚焦爬蟲的爬行策略

聚焦爬蟲的爬行策略只針對某個特定主題的頁面,根據“最好優先原則”進行訪問,快速、有效地獲得更多與主題相關的頁面,主要通過內容與Web的URL結構指導進行頁面的抓取。聚焦爬蟲會給所下載的頁面一個評價分,根據得分排序插入一個隊列中。最好下一個搜索對彈出隊列的第一個頁面進行分析后執行,這種策略保證爬蟲能優先跟蹤那些最有可能URL到目標頁面的頁面。

決定網絡爬蟲搜索策略的關鍵是評價URL價值,即URL價值的計算方法,不同的價值評價方法計算出的URL的價值不同,表現出的URL的“重要程度”也不同,從而決定不同的搜索策略。由于URL包含于頁面之中,而通常具有較高價值的頁面包含的URL也具有較高價值,因此對URL價值的評價有時也轉換為對頁面價值的評價。

主站蜘蛛池模板: 闵行区| 翁牛特旗| 蓬溪县| 兴和县| 福贡县| 宝山区| 霍州市| 浦县| 广平县| 长子县| 巴东县| 杨浦区| 水城县| 明水县| 蕲春县| 武强县| 凤山市| 百色市| 邢台市| 遂溪县| 临桂县| 女性| 夹江县| 虎林市| 绥芬河市| 松原市| 额济纳旗| 黄山市| 赣州市| 九寨沟县| 雅安市| 莆田市| 军事| 湘西| 阜宁县| 错那县| 延长县| 共和县| 会理县| 吉首市| 额尔古纳市|