網路爬蟲框架設計與實現
阿新 • • 發佈:2019-01-25
引題
最近在看go語言的程式設計實現,裡面有這個專案,感覺不錯,在這裡簡
要總結和學習心得,給大家一個引路,如果想要具體瞭解可以看《GO 語言併發實踐》
專案介紹
網路爬蟲就是模擬客戶端使用者操作,自動化爬取相關的網路資訊。即根據約定好的規則,在特定的入口進行遞迴式查詢。下載特定的資訊,整理給規則制定者。網路爬蟲框架是高度抽象各種網路爬蟲,提供一致性的介面給呼叫者。
功能需求和分析
根據上面介紹大家大體瞭解網路爬蟲的基本功能,簡要的的來講網路爬蟲就是下載,分析,篩選,儲存—四個步驟。主要流程如下:
- 首次請求-》下載——》分析-》篩選-》儲存
- 分析-》下載
總體設計
根據上述流程圖可以把專案分成如下部分:
- 網頁下載器: 接收http請求,將從遠端伺服器獲取的資料封裝成固定格式的資料分發給分析器。
- 分析器:針對內容進行響應,篩選出來特定的請求和條目,轉發給呼叫方。
- 條目處理管道:接受輸入的條目,並針對其執行系列的處理。為了靈活性設計,採用多條目轉發處理。由框架呼叫者自行定義處理流程。
- 排程器:作為核心元件,負責協調各個模組之間的協作,資料的交換和狀態控制等。
詳細設計
後面我將整理文章針對詳每個模組提出詳細實現和注意事項。