1. 程式人生 > >網路爬蟲框架設計與實現

網路爬蟲框架設計與實現

引題

最近在看go語言的程式設計實現,裡面有這個專案,感覺不錯,在這裡簡
要總結和學習心得,給大家一個引路,如果想要具體瞭解可以看《GO 語言併發實踐》

專案介紹

網路爬蟲就是模擬客戶端使用者操作,自動化爬取相關的網路資訊。即根據約定好的規則,在特定的入口進行遞迴式查詢。下載特定的資訊,整理給規則制定者。網路爬蟲框架是高度抽象各種網路爬蟲,提供一致性的介面給呼叫者。

功能需求和分析

根據上面介紹大家大體瞭解網路爬蟲的基本功能,簡要的的來講網路爬蟲就是下載,分析,篩選,儲存—四個步驟。主要流程如下:

  • 首次請求-》下載——》分析-》篩選-》儲存
  • 分析-》下載

總體設計

根據上述流程圖可以把專案分成如下部分:

  • 網頁下載器: 接收http請求,將從遠端伺服器獲取的資料封裝成固定格式的資料分發給分析器。
  • 分析器:針對內容進行響應,篩選出來特定的請求和條目,轉發給呼叫方。
  • 條目處理管道:接受輸入的條目,並針對其執行系列的處理。為了靈活性設計,採用多條目轉發處理。由框架呼叫者自行定義處理流程。
  • 排程器:作為核心元件,負責協調各個模組之間的協作,資料的交換和狀態控制等。

詳細設計

後面我將整理文章針對詳每個模組提出詳細實現和注意事項。