1、frontier(鏈結工廠)是heritrix最核心的部分,有三個核心的方法:next,schedule,finished,其原型及作用如下:
a) 程提供乙個鏈結.heritrix的所有處理執行緒(toethread)都是通過呼叫該方法獲取鏈結的
b) schedule(candidateuri cauri):排程待處理的鏈結
c) finished(crawluri curi):完成乙個已處理的鏈結
2、 processor(解析處理器),包含三個重要的類:
a) processor(處理器類):代表乙個處理器
c) processorchainlist(處理器鏈列表):儲存一次抓取任務的所有處理器鏈
3、 採用執行緒池(toethread)設計,每個執行緒將呼叫所有的處理器來處理鏈結
4、 **控制器(crawlcontroller)是一次抓取任務的核心元件,決定每一次抓取任務的開始與結束,包含如下型別的資料成員:
a) crawlorder:它儲存了對該次抓取任務中order.xml的屬性配置。
b) crawlscope:決定當前抓取範圍的乙個元件。scope [skəup]n.範圍;餘地,機會
c) processorchainlist:表示處理器鏈。
e) toepool:它表示乙個執行緒池,管理了所有該抓取任務所建立的子執行緒。
f) servercache:它表示乙個緩衝池,儲存了所有在當前任務中,抓取過的host名稱和server名稱。
5、處理鏈總體構成:
1) pre-fetch chain :預處理鏈
3) extractor chain:從網頁中抽取新的uri(詞法分析)
4) write chain:將資料寫入本地磁碟
5) post-processing chain:後置處理鏈
Pandas的主要模組
pd.read csv 讀取文字檔案 csv tsv txt等格式 pd.read excel 讀取電子 xls或xlsx格式 pd.read sql 讀取資料庫資料 需要pymysql或pymssql模組的配合 df.to csv 寫入文字檔案 df為dataframe物件 df.to csv 寫...
linux核心的主要模組
linux系統從應用角度來分,分為核心空間和使用者空間兩部分。linux核心主要有5個子系統組成 程序排程 記憶體管理 虛擬檔案系統 網路介面 程序間通訊。1.程序排程sched 程序排程指的是系統對程序的多種狀態之間轉換的策略。linux下的程序排程有3種策略 sched other sched ...
Heritrix 和 Nutch的區別
總體來說 heritrix 網路蜘蛛的功能更為強大,nutch 更好地支援搜尋引擎 與 lucene 緊密結合 兩者特點對比如下 nutch 是乙個搜尋引擎框架,而 heritrix nutch heritrix 則可以適用各種型別資訊,嚴格保持網頁原貌。nutch 的更新策略是直接替換原來的舊網頁...