網路爬蟲Larbin的學習(三) 整體架構

2021-08-30 21:13:08 字數 896 閱讀 9837

這一回開始對larbin的源**進行學習。經過一段時間的學習,我發現larbin的架構還是不錯的。而且他的架構中使用到了許多技術,在閱讀源**的過程中也可以撿起以前學過的東西。

進入%larbin_home%/src,我們可以看到許多原始檔,這些原始檔主要分為兩大類:

(1)主控類

main.cc : 主控程式,排程所有**進行工作

global.h,global.cc : 實際上的核心程式,包含爬蟲的所有核心內容

(2)配置類

option.h : 策略方面的配置

types.h : 具體數值的配置

關於具體數值的問題,我們在第二部分已經說過了,下面重點看main.cc

(1)在main函式的起始處,對global類進行初始化。global類是整個爬蟲的核心,因此對他的分析要慢慢深入。在此我們只要知道,global類中有許多靜態成員變數,也就是說可以作全域性變數使用,這裡主要就是對他們進行初始化。

(2)waitbandwidth() 等待頻寬滿足需要

(3)input() 將需要爬取的seed url裝載進來

(4)sequencer() 對將要爬取的頁面進行緩衝,確定每一輪可以進行爬取的頁面

(5)fetchdns() 獲取待爬取頁面的ip位址和埠號,這需要通過練習dns伺服器將url進行轉換

(6)fetchopen() 獲取當前網頁

(7)checkall() 做一些檢驗和網頁鏈結分析(也是我們可以定製化的一部分)

這幾部基本上包含了乙個爬蟲的特徵,那麼對於乙個爬蟲來說,需要考慮的問題還有很多。

比方說網頁分析與網頁儲存問題。在爬蟲爬取過程中,應該花多大的工夫去分析乙個網頁?網頁的儲存形式應該是怎樣?

這些我們將在後面做詳細地分析與介紹。

下一部分將對一些基本資料結構做一些介紹

網路爬蟲三

一 正規表示式之元字元 就是正規表示式中具有一些特殊含義的字元 二 正規表示式括號的作用 1 限制多選項的範圍 fri 1 st 這樣寫會匹配frist或1st 如果去掉,則 fri 1st就是匹配 fri或1st 2 將若干個字元進行組合,受量詞的同時作用。例如 th 表示匹配 th thh th...

網路爬蟲學習(八)

本期來學習下正規表示式,之前學習了requests模組 模組相比urllib模組,在很多方面都顯得非常簡潔,可以說是urllib模組的乙個昇華。那麼什麼是正規表示式呢?簡單來說,正規表示式是對字串操作的一種邏輯公式,就是事先定義好的一些特定字元 及這些特定字元的組合,組成乙個 規則字串 這個 規則字...

Python網路爬蟲學習

最近有時間學習在慕課網上跟著嵩天老師上他的python網路爬蟲與資訊提取這門課,想著可以寫些部落格將學的爬蟲知識總結起來。win平台下 前提是安裝好python,在cmd中執行 pip installl requests 其他方法的話可以在網上搜尋。r requests.get url 其中get返...