這一回開始對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返...