1. 程式人生 > >python爬蟲學習第一章

python爬蟲學習第一章

neu ext 完成 通信 關鍵詞 更新 ide address idt

python網絡爬蟲的學習

什麽是網絡爬蟲

按照特定需求,從互聯網中搜索有用信息網頁進行過濾,就叫網絡爬蟲。

網絡爬蟲算法

當瀏覽信息的時候需要按照我們制定的規則進行,這些規則就叫做網絡爬蟲算法

網絡爬蟲的組成

技術分享圖片
網絡爬蟲由控制節點、爬蟲節點、資源庫構成。
網絡爬蟲可以有多個控制節點,每個節點下有多個爬蟲節點,控制節點間可以通信,控制節點和各爬蟲節點也可以相互通信,屬於同一個控制節點的爬蟲節點也可以相互通信。
控制節點也稱為中央控制器,主要負責根據URL地址分配線程,並調用爬蟲節點進行具體的爬行。
爬蟲節點會按照相關算法,對網頁進行具體的爬行,主要包括下載網頁,對網頁文本處理,爬行後,會將對應的爬行結果存儲在對應的資源庫中。

網絡爬蟲的類型

  1. 通用網絡爬蟲
    又名全網爬蟲,爬行範圍非常大,數據海量,其爬取的性能要求非常高,主要應用於大型搜索引擎,有非常高的應用價值
    基本構成:
    • 初始URL集合
    • URL隊列
    • 頁面爬行模塊
    • 頁面分析模塊
    • 頁面數據庫
    • 鏈接過
    • 濾模塊
      爬行策略:
    • 深度優先策略
    • 廣度優先策略
  2. 聚焦網絡爬蟲
    也叫主題爬蟲,按照預先設定好的主題有選擇的進行頁面爬去的一種爬蟲,目標網頁定位與主題相關的頁面中,範圍比通用網絡爬蟲小,大大節省了爬蟲爬取時所需的帶寬資源和服務器資源。聚焦網絡爬蟲主要應用在特定的信息的爬取中,為某一類特定的人群服務基本構成:
    • 初始URL集合
    • URL隊列
    • 頁面爬行模塊
    • 頁面分析模塊
    • 頁面數據庫
    • 鏈接過濾模塊
    • 內容評價模塊
    • 鏈接評價模塊爬行策略:
    • 基於內容評價的爬行策略
    • 基於鏈接評價的爬行策略
    • 基於增強學習的爬行策略
    • 基於語境圖的爬行策略
  3. 增量式網絡爬蟲
    增量式指的是增量式更新,在爬取頁面時,只爬取內容發生變化的網頁或者新產生的網頁,為發生變化的內容不會爬取。增量式爬蟲盡可能的保證頁面時最新的。
  4. 深層網絡爬蟲
    在互聯網中,網頁分為表層頁面和深層頁面。表層頁面就是靜態頁面,直接可以爬取。而深層頁面需要提交表單,才能獲取表單後面的頁面。就是深層頁面
    爬蟲的構成:
    • URL列表
    • LVS列表(LVS指的是標簽/數值集合,即填充表單的數據源)
    • 爬行控制器
    • 解析器
    • LVS控制器
    • 表單分析器
    • 表單處理器
    • 響應分析器
      表單的填寫:
    • 第一種基於領域知識的表單填寫,建立一個填寫表單的關鍵詞庫,需要填寫的時候,根據語義分析選擇對應關鍵詞填寫
    • 基於網頁結構分析的表單填寫,一般在領域知識有限的情況下使用,根據頁面結構進行分析,並自動的進行表單填寫

聚焦爬蟲詳解

技術分享圖片
將初始的URL集合傳遞給URL隊列,頁面爬行模塊會從URL隊列中讀取第一批URL列表,然後根據這些URL地址從互聯網中進行相應的頁面爬取。爬取後,將爬取到的內容傳到頁面數據庫中存儲,同時,在爬行過程中,會爬取新的URL,此時,需要根據我們所定的主題使用鏈接過濾模塊過濾掉無關鏈接,再將剩下來的URL鏈接根據主題使用鏈接評價模塊和內容評價模塊進行優先級的排序。完成後,將新的URL地址傳遞到URL隊列中,供頁面爬行的模塊使用。另一方面,將頁面爬取並存放到頁面數據庫後,需要根據主題使用頁面分析模塊對爬取到的頁面進行頁面分析處理,並根據處理結果建立索引數據庫,用戶檢索對應信息時,可以從索引數據庫中進行相應的檢索,並得到對應的結果。

python爬蟲學習第一章