欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種數(shù)據(jù)采集方法及裝置與流程

文檔序號(hào):12121737閱讀:362來源:國知局
一種數(shù)據(jù)采集方法及裝置與流程

本發(fā)明實(shí)施例涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別是涉及一種數(shù)據(jù)采集方法及裝置。



背景技術(shù):

隨著互聯(lián)網(wǎng)的爆炸性增長,網(wǎng)絡(luò)數(shù)據(jù)量已經(jīng)遠(yuǎn)遠(yuǎn)超出人們的想象。在大數(shù)據(jù)背景下,如何快速精準(zhǔn)的采集數(shù)據(jù)變得至關(guān)重要。面對多元化的數(shù)據(jù)采集需求,為了滿足支持多站點(diǎn)和高效數(shù)據(jù)采集的要求,產(chǎn)生了分布式通用數(shù)據(jù)采集器。針對多個(gè)站點(diǎn)的頁面及其子頁面對應(yīng)的數(shù)據(jù)采集任務(wù),分配給不同的節(jié)點(diǎn)執(zhí)行數(shù)據(jù)采集任務(wù),以實(shí)現(xiàn)對多站點(diǎn)的高效數(shù)據(jù)采集需求。

發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中發(fā)現(xiàn),現(xiàn)有的分布式通用數(shù)據(jù)采集器存在無法優(yōu)化數(shù)據(jù)采集任務(wù)的問題,尤其是在對復(fù)雜站點(diǎn)進(jìn)行采集時(shí),無法提高數(shù)據(jù)采集的效率。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明實(shí)施例提供一種數(shù)據(jù)采集方法及裝置,用以解決現(xiàn)有技術(shù)中分布式通用數(shù)據(jù)采集器存在無法優(yōu)化數(shù)據(jù)采集任務(wù)的問題,尤其是在對復(fù)雜站點(diǎn)進(jìn)行采集時(shí),無法提高數(shù)據(jù)采集的效率的缺陷。

本發(fā)明實(shí)施例提供一種數(shù)據(jù)采集方法,應(yīng)用于采用主從架構(gòu)的數(shù)據(jù)采集系統(tǒng)的主節(jié)點(diǎn),包括:

判定新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件,所述目標(biāo)頁面配置有至少一級(jí)子頁面;

查找與所述預(yù)置的數(shù)據(jù)采集規(guī)則庫符合所述設(shè)定匹配條件的子頁面;

將所述新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面更新為查找的子頁面,并下發(fā)至中間節(jié)點(diǎn),以供從節(jié)點(diǎn)從中間節(jié)點(diǎn)拉取所述新添加的數(shù)據(jù)采集任務(wù)。

在本發(fā)明實(shí)施例中,優(yōu)選地,在所述判定新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件,所述目標(biāo)頁面配置有至少一級(jí)子頁面之前,所述方法還包括:

從所述新添加的數(shù)據(jù)采集任務(wù)的目標(biāo)頁面及其至少一級(jí)子頁面中選取設(shè)定個(gè)數(shù)的樣本頁面。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述判定新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件包括:

根據(jù)所述預(yù)置的數(shù)據(jù)采集規(guī)則庫解析所述樣本頁面,得到成功解析的樣本頁面;

若所述成功解析的樣本頁面的個(gè)數(shù)低于設(shè)定閾值,判定所述數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與所述預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件。

在本發(fā)明實(shí)施例中,優(yōu)選地,在所述判定新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件,所述目標(biāo)頁面配置有至少一級(jí)子頁面之后,所述方法還包括:

向所述數(shù)據(jù)采集系統(tǒng)發(fā)送所述預(yù)置的數(shù)據(jù)采集規(guī)則庫與所述新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面不符合設(shè)定匹配條件的通知。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述預(yù)置的數(shù)據(jù)采集規(guī)則庫包括目標(biāo)信息種類、用于采集目標(biāo)信息的第一匹配表達(dá)式,所述第一匹配表達(dá)式采用jsoup語法編寫。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述方法還包括:

根據(jù)多數(shù)樣本頁面采用的加載方式,選取與加載方式對應(yīng)的數(shù)據(jù)采集引擎。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述根據(jù)多數(shù)樣本頁面采用的加載方式,選取與加載方式對應(yīng)的數(shù)據(jù)采集引擎包括:

判定多數(shù)的樣本頁面中采用異步加載;

選取基于可編程的無頭瀏覽器的數(shù)據(jù)采集引擎,所述基于可編程的無頭瀏覽器的數(shù)據(jù)采集引擎用于異步加載頁面以采集頁面的異步信息。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述方法還包括:

將選取的數(shù)據(jù)采集引擎添加至所述預(yù)置的數(shù)據(jù)采集規(guī)則庫。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述方法還包括:

將所述預(yù)置的數(shù)據(jù)采集規(guī)則庫下發(fā)至所述中間節(jié)點(diǎn),以供所述從節(jié)點(diǎn)從所述中間節(jié)點(diǎn)獲取所述預(yù)置的數(shù)據(jù)采集規(guī)則庫。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述方法還包括:

從所述中間節(jié)點(diǎn)獲取所述從節(jié)點(diǎn)根據(jù)已完成的數(shù)據(jù)采集任務(wù)新生成的數(shù)據(jù)采集任務(wù)。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述方法還包括:

按照任務(wù)優(yōu)先級(jí)將所述新添加的數(shù)據(jù)采集任務(wù)和所述新生成的數(shù)據(jù)采集任務(wù)下發(fā)至所述中間節(jié)點(diǎn)對應(yīng)優(yōu)先級(jí)的任務(wù)隊(duì)列中,以供所述從節(jié)點(diǎn)按照所述任務(wù)隊(duì)列的優(yōu)先級(jí)從所述中間節(jié)點(diǎn)拉取所述數(shù)據(jù)采集任務(wù)。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述中間節(jié)點(diǎn)中還包括所述數(shù)據(jù)采集任務(wù)的任務(wù)狀態(tài)信息,所述任務(wù)狀態(tài)信息根據(jù)從節(jié)點(diǎn)的反饋進(jìn)行更新,所述方法還包括:

從所述任務(wù)隊(duì)列中篩選所述任務(wù)狀態(tài)信息為未完成且執(zhí)行時(shí)間超時(shí)的數(shù)據(jù)采集任務(wù),通知所述中間節(jié)點(diǎn)為篩選的數(shù)據(jù)采集任務(wù)重新添加至所述任務(wù)隊(duì)列;

和/或,從任務(wù)隊(duì)列中刪除已完成的數(shù)據(jù)采集任務(wù)。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述方法還包括:

從所述中間節(jié)點(diǎn)獲取數(shù)據(jù)采集結(jié)果,對所述數(shù)據(jù)采集結(jié)果進(jìn)行去重操作。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述數(shù)據(jù)采集結(jié)果包括根據(jù)所述數(shù)據(jù)采集規(guī)則庫采集到的網(wǎng)頁內(nèi)容信息、從所述網(wǎng)頁內(nèi)容信息中提取的至少一種關(guān)鍵信息、識(shí)別的網(wǎng)頁信息的分類結(jié)果、從網(wǎng)頁中提取產(chǎn)生的子任務(wù)中至少一種。

在本發(fā)明實(shí)施例中,優(yōu)選地,在所述判定新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件之前,所述方法還包括:

接收針對所述新添加的數(shù)據(jù)采集任務(wù)設(shè)置的頁面采集深度和頁面采集廣度。

本發(fā)明實(shí)施例還提供一種數(shù)據(jù)采集方法,應(yīng)用于采用主從架構(gòu)的數(shù)據(jù)采集系統(tǒng)的從節(jié)點(diǎn),包括:

從中間節(jié)點(diǎn)拉取新添加的數(shù)據(jù)采集任務(wù)、新生成的數(shù)據(jù)采集任務(wù)和預(yù)置的數(shù)據(jù)采集規(guī)則庫,所述新添加的數(shù)據(jù)采集任務(wù)由主節(jié)點(diǎn)在判定新添加的數(shù)據(jù)采集任務(wù)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件,并查找與所述數(shù)據(jù)采集規(guī)則庫符合所述設(shè)定匹配條件的子頁面,將所述數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面更新為查找的子頁面后,下發(fā)至中間節(jié)點(diǎn),所述目標(biāo)頁面配置有至少一級(jí)子頁面;

根據(jù)所述預(yù)置的數(shù)據(jù)采集規(guī)則庫,執(zhí)行所述數(shù)據(jù)采集任務(wù)。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述從中間節(jié)點(diǎn)拉取新添加的數(shù)據(jù)采集任務(wù)、新生成的數(shù)據(jù)采集任務(wù)和預(yù)置的數(shù)據(jù)采集規(guī)則庫包括:

按照所述中間節(jié)點(diǎn)中任務(wù)隊(duì)列的優(yōu)先級(jí)從所述中間節(jié)點(diǎn)定期拉取所述數(shù)據(jù)采集任務(wù)。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述根據(jù)所述預(yù)置的數(shù)據(jù)采集規(guī)則庫,執(zhí)行所述數(shù)據(jù)采集任務(wù)包括:

根據(jù)所述預(yù)置的數(shù)據(jù)采集規(guī)則庫解析所述數(shù)據(jù)采集任務(wù)對應(yīng)的頁面;

若從頁面中解析得到網(wǎng)頁內(nèi)容信息,則從所述網(wǎng)頁內(nèi)容信息中提取至少一種關(guān)鍵信息,識(shí)別網(wǎng)頁信息的分類結(jié)果,并將所述網(wǎng)頁內(nèi)容信息、所述至少一種關(guān)鍵信息和所述網(wǎng)頁信息的分類結(jié)果上傳至中間節(jié)點(diǎn),以供主節(jié)點(diǎn)從中間節(jié)點(diǎn)獲取所述網(wǎng)頁內(nèi)容信息、所述至少一種關(guān)鍵信息和所述網(wǎng)頁信息的分類結(jié)果;

從網(wǎng)頁中提取子頁面,生成對應(yīng)子頁面的數(shù)據(jù)采集任務(wù),并上傳至中間節(jié)點(diǎn),以供主節(jié)點(diǎn)從中間節(jié)點(diǎn)獲取所述數(shù)據(jù)采集任務(wù)。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述從網(wǎng)頁中提取子頁面,生成對應(yīng)子頁面的數(shù)據(jù)采集任務(wù),并上傳至中間節(jié)點(diǎn),以供主節(jié)點(diǎn)從中間節(jié)點(diǎn)獲取所述數(shù)據(jù)采集任務(wù)包括:

根據(jù)所述預(yù)置的數(shù)據(jù)采集規(guī)則庫抓取網(wǎng)頁中匹配的子頁面,所述預(yù)置的數(shù)據(jù)采集規(guī)則庫包括用于抓取子頁面的第二匹配表達(dá)式。

本發(fā)明實(shí)施例提供一種數(shù)據(jù)采集裝置,應(yīng)用于采用主從架構(gòu)的數(shù)據(jù)采集系統(tǒng)的主節(jié)點(diǎn),包括:

判定模塊,用于判定新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件,所述目標(biāo)頁面配置有至少一級(jí)子頁面;

查找模塊,用于查找與所述預(yù)置的數(shù)據(jù)采集規(guī)則庫符合所述設(shè)定匹配條件的子頁面;

更新模塊,用于將所述新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面更新為查找的子頁面,并下發(fā)至中間節(jié)點(diǎn),以供從節(jié)點(diǎn)從中間節(jié)點(diǎn)拉取所述新添加的數(shù)據(jù)采集任務(wù)。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:

樣本頁面選取模塊,用于在所述判定新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件之前,從所述新添加的數(shù)據(jù)采集任務(wù)的目標(biāo)頁面及其至少一級(jí)子頁面中選取設(shè)定個(gè)數(shù)的樣本頁面。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述判定模塊包括:

樣本頁面解析子模塊,用于根據(jù)所述預(yù)置的數(shù)據(jù)采集規(guī)則庫解析所述樣本頁面,得到成功解析的樣本頁面;

匹配條件判定子模塊,用于若所述成功解析的樣本頁面的個(gè)數(shù)低于設(shè)定閾值,判定所述數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與所述預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件。

在本發(fā)明實(shí)施例中,優(yōu)選地,其特征在于,所述裝置還包括:

通知發(fā)送模塊,用于在所述判定新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件之后,向所述數(shù)據(jù)采集系統(tǒng)發(fā)送所述預(yù)置的數(shù)據(jù)采集規(guī)則庫與所述新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面不符合設(shè)定匹配條件的通知。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述預(yù)置的數(shù)據(jù)采集規(guī)則庫包括目標(biāo)信息種類、用于采集目標(biāo)信息的第一匹配表達(dá)式,所述第一匹配表達(dá)式采用jsoup語法編寫。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:

采集引擎選取模塊,用于根據(jù)多數(shù)樣本頁面采用的加載方式,選取與加載方式對應(yīng)的數(shù)據(jù)采集引擎。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述采集引擎選取模塊包括:

異步加載判定子模塊,用于判定多數(shù)的樣本頁面中采用異步加載;

采集引擎選取子模塊,用于選取基于可編程的無頭瀏覽器的數(shù)據(jù)采集引擎,所述基于可編程的無頭瀏覽器的數(shù)據(jù)采集引擎用于異步加載頁面以采集頁面的異步信息。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:

采集引擎添加模塊,用于將選取的數(shù)據(jù)采集引擎添加至所述預(yù)置的數(shù)據(jù)采集規(guī)則庫。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:

規(guī)則庫下發(fā)模塊,用于將所述預(yù)置的數(shù)據(jù)采集規(guī)則庫下發(fā)至所述中間節(jié)點(diǎn),以供所述從節(jié)點(diǎn)從所述中間節(jié)點(diǎn)獲取所述預(yù)置的數(shù)據(jù)采集規(guī)則庫。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:

采集任務(wù)獲取模塊,用于從所述中間節(jié)點(diǎn)獲取所述從節(jié)點(diǎn)根據(jù)已完成的數(shù)據(jù)采集任務(wù)新生成的數(shù)據(jù)采集任務(wù)。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:

任務(wù)下發(fā)模塊,用于按照任務(wù)優(yōu)先級(jí)將所述新添加的數(shù)據(jù)采集任務(wù)和所述新生成的數(shù)據(jù)采集任務(wù)下發(fā)至所述中間節(jié)點(diǎn)對應(yīng)優(yōu)先級(jí)的任務(wù)隊(duì)列中,以供所述從節(jié)點(diǎn)按照所述任務(wù)隊(duì)列的優(yōu)先級(jí)從所述中間節(jié)點(diǎn)拉取所述數(shù)據(jù)采集任務(wù)。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述中間節(jié)點(diǎn)中還包括所述數(shù)據(jù)采集任務(wù)的任務(wù)狀態(tài)信息,所述任務(wù)狀態(tài)信息根據(jù)從節(jié)點(diǎn)的反饋進(jìn)行更新,所述裝置還包括:

采集任務(wù)篩選模塊,用于從所述任務(wù)隊(duì)列中篩選所述任務(wù)狀態(tài)信息為未完成且執(zhí)行時(shí)間超時(shí)的數(shù)據(jù)采集任務(wù),通知所述中間節(jié)點(diǎn)為篩選的數(shù)據(jù)采集任務(wù)重新添加至所述任務(wù)隊(duì)列;

和/或,刪除模塊,用于從任務(wù)隊(duì)列中刪除已完成的數(shù)據(jù)采集任務(wù)。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:

采集結(jié)果獲取模塊,用于從所述中間節(jié)點(diǎn)獲取數(shù)據(jù)采集結(jié)果,對所述數(shù)據(jù)采集結(jié)果進(jìn)行去重操作。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述數(shù)據(jù)采集結(jié)果包括根據(jù)所述數(shù)據(jù)采集規(guī)則庫采集到的網(wǎng)頁內(nèi)容信息、從所述網(wǎng)頁內(nèi)容信息中提取的至少一種關(guān)鍵信息、識(shí)別的網(wǎng)頁信息的分類結(jié)果、從網(wǎng)頁中提取產(chǎn)生的子任務(wù)中至少一種。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:

接收模塊,用于在所述判定新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件之前,接收針對所述新添加的數(shù)據(jù)采集任務(wù)設(shè)置的頁面采集深度和頁面采集廣度。

本發(fā)明實(shí)施例還提供一種數(shù)據(jù)采集裝置,應(yīng)用于采用主從架構(gòu)的數(shù)據(jù)采集系統(tǒng)的從節(jié)點(diǎn),包括:

拉取模塊,用于從中間節(jié)點(diǎn)拉取新添加的數(shù)據(jù)采集任務(wù)、新生成的數(shù)據(jù)采集任務(wù)和預(yù)置的數(shù)據(jù)采集規(guī)則庫,所述新添加的數(shù)據(jù)采集任務(wù)由主節(jié)點(diǎn)在判定新添加的數(shù)據(jù)采集任務(wù)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件,并查找與所述數(shù)據(jù)采集規(guī)則庫符合所述設(shè)定匹配條件的子頁面,將所述數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面更新為查找的子頁面后,下發(fā)至中間節(jié)點(diǎn),所述目標(biāo)頁面配置有至少一級(jí)子頁面;

任務(wù)執(zhí)行模塊,用于根據(jù)所述預(yù)置的數(shù)據(jù)采集規(guī)則庫,執(zhí)行所述數(shù)據(jù)采集任務(wù)。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述拉取模塊,具體用于按照所述中間節(jié)點(diǎn)中任務(wù)隊(duì)列的優(yōu)先級(jí)從所述中間節(jié)點(diǎn)定期拉取所述數(shù)據(jù)采集任務(wù)。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述任務(wù)執(zhí)行模塊包括:

頁面解析子模塊,用于根據(jù)所述預(yù)置的數(shù)據(jù)采集規(guī)則庫解析所述數(shù)據(jù)采集任務(wù)對應(yīng)的頁面;

信息解析子模塊,用于若從頁面中解析得到網(wǎng)頁內(nèi)容信息,則從所述網(wǎng)頁內(nèi)容信息中提取至少一種關(guān)鍵信息,識(shí)別網(wǎng)頁信息的分類結(jié)果,并將所述網(wǎng)頁內(nèi)容信息、所述至少一種關(guān)鍵信息和所述網(wǎng)頁信息的分類結(jié)果上傳至中間節(jié)點(diǎn),以供主節(jié)點(diǎn)從中間節(jié)點(diǎn)獲取所述網(wǎng)頁內(nèi)容信息、所述至少一種關(guān)鍵信息和所述網(wǎng)頁信息的分類結(jié)果;

子任務(wù)生成子模塊,用于從網(wǎng)頁中提取子頁面,生成對應(yīng)子頁面的數(shù)據(jù)采集任務(wù),并上傳至中間節(jié)點(diǎn),以供主節(jié)點(diǎn)從中間節(jié)點(diǎn)獲取所述數(shù)據(jù)采集任務(wù)。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述子任務(wù)生成子模塊,具體用于根據(jù)所述預(yù)置的數(shù)據(jù)采集規(guī)則庫抓取網(wǎng)頁中匹配的子頁面,所述預(yù)置的數(shù)據(jù)采集規(guī)則庫包括用于抓取子頁面的第二匹配表達(dá)式。

本發(fā)明實(shí)施例提供的一種數(shù)據(jù)采集方法及裝置,通過判定新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件,使得主節(jié)點(diǎn)可以抓包分析出和預(yù)置的數(shù)據(jù)采集規(guī)則庫不匹配的目標(biāo)頁面。其次,通過查找與所述預(yù)置的數(shù)據(jù)采集規(guī)則庫符合所述設(shè)定匹配條件的子頁面,使得主節(jié)點(diǎn)可以在目標(biāo)頁面中子頁面中找到和預(yù)置的數(shù)據(jù)采集規(guī)則庫匹配的頁面。通過將所述新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面更新為查找的子頁面,并下發(fā)至中間節(jié)點(diǎn),使得主節(jié)點(diǎn)可以剔除掉新添加的數(shù)據(jù)采集任務(wù)中不能根據(jù)預(yù)置的數(shù)據(jù)采集規(guī)則庫提取出所需字段信息的數(shù)據(jù)采集任務(wù),實(shí)現(xiàn)了主節(jié)點(diǎn)剪除無效或低效數(shù)據(jù)采集任務(wù),優(yōu)化了從節(jié)點(diǎn)需要執(zhí)行的數(shù)據(jù)采集任務(wù),提高了數(shù)據(jù)采集的效率。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明一種數(shù)據(jù)采集方法的實(shí)施例一的流程圖;

圖2為本發(fā)明一種數(shù)據(jù)采集方法的實(shí)施例二的流程圖;

圖3為本發(fā)明一種數(shù)據(jù)采集方法的實(shí)施例三的流程圖;

圖4為本發(fā)明一種數(shù)據(jù)采集裝置實(shí)施例四的一種結(jié)構(gòu)示意圖;

圖5為本發(fā)明一種數(shù)據(jù)采集裝置實(shí)施例四的另一種結(jié)構(gòu)示意圖;以及

圖6為本發(fā)明一種數(shù)據(jù)采集裝置實(shí)施例五的一種結(jié)構(gòu)示意圖。

具體實(shí)施方式

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

實(shí)施例一

參照圖1,示出了本發(fā)明一種數(shù)據(jù)采集方法的實(shí)施例一的流程圖,具體可以包括如下步驟:

步驟101,判定新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件。

在本發(fā)明實(shí)施例中,數(shù)據(jù)采集任務(wù)是指要采集的目標(biāo)頁面的網(wǎng)頁地址,以及往下抓取該頁面的子頁面的層數(shù)、抓取該頁面上的子鏈接的最大個(gè)數(shù)、采集該頁面的預(yù)定優(yōu)先級(jí)。新添加的數(shù)據(jù)采集任務(wù)是指人工或自動(dòng)新添加到系統(tǒng)中的數(shù)據(jù)采集任務(wù),不包括從節(jié)點(diǎn)產(chǎn)生的子任務(wù)。預(yù)置的數(shù)據(jù)采集規(guī)則庫是由預(yù)先編寫的采集頁面數(shù)據(jù)的具體字段的表達(dá)式的組成的,需要的字段具體可以包括網(wǎng)頁地址、標(biāo)題、作者、發(fā)布時(shí)間、正文、轉(zhuǎn)發(fā)數(shù)、評論數(shù)等,其中網(wǎng)頁地址可以用正則表達(dá)式,標(biāo)題、作者、發(fā)布時(shí)間、正文、轉(zhuǎn)發(fā)數(shù)、評論數(shù)等可以用jsoup表達(dá)式。

符合設(shè)定匹配條件是指使用預(yù)置的數(shù)據(jù)采集規(guī)則庫可以從目標(biāo)頁面及其至少一級(jí)子頁面中提取出所需要的字段信息。具體而言,判定是否符合設(shè)定匹配條件的一種方式是主節(jié)點(diǎn)在目標(biāo)頁面及其至少一級(jí)子頁面中選取樣本頁面,根據(jù)所述預(yù)置的數(shù)據(jù)采集規(guī)則庫提取所述樣本頁面中所需的字段信息,得到成功提取字段信息的樣本頁面,若所述成功提取字段信息的樣本頁面的個(gè)數(shù)低于設(shè)定閾值,判定所述數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與所述預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件,否則判定所述數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與所述預(yù)置的數(shù)據(jù)采集規(guī)則庫符合設(shè)定匹配條件。

步驟102,查找與所述預(yù)置的數(shù)據(jù)采集規(guī)則庫符合所述設(shè)定匹配條件的子頁面。

在本發(fā)明實(shí)施例中,當(dāng)判定所述數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與所述預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件時(shí),主節(jié)點(diǎn)查找與預(yù)置的數(shù)據(jù)采集規(guī)則庫符合設(shè)定匹配條件目標(biāo)頁面的子頁面。

其中一種方式可以是主節(jié)點(diǎn)在子頁面及其至少一級(jí)子頁面中選取樣本頁面,根據(jù)所述預(yù)置的數(shù)據(jù)采集規(guī)則庫提取所述樣本頁面中所需的字段信息,得到成功提取字段信息的樣本頁面,若所述成功提取字段信息的樣本頁面的個(gè)數(shù)低于設(shè)定閾值,設(shè)定閾值可以根據(jù)樣本數(shù)量按照一定比例確定,判定所述子頁面與所述預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件,否則判定子頁面與所述預(yù)置的數(shù)據(jù)采集規(guī)則庫符合設(shè)定匹配條件,可以對目標(biāo)頁面的所有子頁面執(zhí)行這一過程,直到查找到符合設(shè)定匹配條件的至少一個(gè)子頁面。

其中另一種方式可以是根據(jù)對目標(biāo)頁面進(jìn)行判定時(shí)得到的成功提取字段信息的樣本頁面,通過計(jì)算分析出哪些子頁面下的成功提取字段信息的樣本頁面的個(gè)數(shù)不低于設(shè)定閾值,設(shè)定閾值可以根據(jù)樣本數(shù)量按照一定比例確定,通過計(jì)算分析出的子頁面就是與預(yù)置的數(shù)據(jù)采集規(guī)則庫符合設(shè)定匹配條件的子頁面。

步驟103,將所述新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面更新為查找的子頁面,并下發(fā)至中間節(jié)點(diǎn),以供從節(jié)點(diǎn)從中間節(jié)點(diǎn)拉取所述新添加的數(shù)據(jù)采集任務(wù)。

在本發(fā)明實(shí)施例中,將新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面的網(wǎng)頁地址修改為查找的子頁面的網(wǎng)頁地址,并將修改后的數(shù)據(jù)采集任務(wù)下發(fā)至中間節(jié)點(diǎn),數(shù)據(jù)采集任務(wù)存在于中間節(jié)點(diǎn)的任務(wù)隊(duì)列中,以供從節(jié)點(diǎn)定期從中間節(jié)點(diǎn)拉取數(shù)據(jù)采集任務(wù)。

綜上所述,依據(jù)本發(fā)明實(shí)施例,通過判定新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件,使得主節(jié)點(diǎn)可以抓包分析出和預(yù)置的數(shù)據(jù)采集規(guī)則庫不匹配的目標(biāo)頁面。

通過查找與所述預(yù)置的數(shù)據(jù)采集規(guī)則庫符合所述設(shè)定匹配條件的子頁面,使得主節(jié)點(diǎn)可以在目標(biāo)頁面中子頁面中找到和預(yù)置的數(shù)據(jù)采集規(guī)則庫匹配的頁面。

通過將所述新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面更新為查找的子頁面,并下發(fā)至中間節(jié)點(diǎn),使得主節(jié)點(diǎn)可以剔除掉新添加的數(shù)據(jù)采集任務(wù)中不能根據(jù)預(yù)置的數(shù)據(jù)采集規(guī)則庫提取出所需字段信息的數(shù)據(jù)采集任務(wù),實(shí)現(xiàn)了主節(jié)點(diǎn)剪除無效或低效數(shù)據(jù)采集任務(wù),優(yōu)化了從節(jié)點(diǎn)需要執(zhí)行的數(shù)據(jù)采集任務(wù),提高了數(shù)據(jù)采集的效率。

在本發(fā)明實(shí)施例中,優(yōu)選地,向所述數(shù)據(jù)采集系統(tǒng)發(fā)送所述預(yù)置的數(shù)據(jù)采集規(guī)則庫與所述新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面不符合設(shè)定匹配條件的通知。

在所述判定新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件,所述目標(biāo)頁面配置有至少一級(jí)子頁面之后,通過向所述數(shù)據(jù)采集系統(tǒng)發(fā)送所述預(yù)置的數(shù)據(jù)采集規(guī)則庫與所述新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面不符合設(shè)定匹配條件的通知,提示對預(yù)置的數(shù)據(jù)采集規(guī)則庫進(jìn)行修改,以適應(yīng)數(shù)據(jù)采集任務(wù),提高系統(tǒng)的數(shù)據(jù)采集效率。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述預(yù)置的數(shù)據(jù)采集規(guī)則庫包括目標(biāo)信息種類、用于采集目標(biāo)信息的第一匹配表達(dá)式,所述第一匹配表達(dá)式采用jsoup語法編寫。

目標(biāo)信息種類是指所需要采集的字段信息,具體可以包括標(biāo)題、作者、發(fā)布時(shí)間、正文、轉(zhuǎn)發(fā)數(shù)、評論數(shù)等,第一匹配表達(dá)式用于采集目標(biāo)信息,采用jsoup語法編寫,相比于現(xiàn)有的數(shù)據(jù)采集規(guī)則采用的正則表達(dá)式,jsoup語法編寫的數(shù)據(jù)采集規(guī)則庫更易維護(hù),操作性強(qiáng)。

在本發(fā)明實(shí)施例中,優(yōu)選地,在所述判定新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件,所述目標(biāo)頁面配置有至少一級(jí)子頁面之前,所述方法還包括:接收針對所述新添加的數(shù)據(jù)采集任務(wù)設(shè)置的頁面采集深度和頁面采集廣度。

針對新添加的數(shù)據(jù)采集任務(wù),可以設(shè)置頁面采集深度和頁面采集廣度,其中頁面采集深度是指往下抓取該頁面的子頁面的層數(shù),頁面采集廣度是指抓取該頁面上的子鏈接的最大個(gè)數(shù),主節(jié)點(diǎn)接收設(shè)置的頁面采集深度和頁面采集廣度,用來確定新添加的數(shù)據(jù)采集任務(wù)的采集范圍,對于巨型網(wǎng)站,通過設(shè)置采集深度和采集廣度,限制了數(shù)據(jù)采集的范圍,減少了數(shù)據(jù)采集任務(wù),提高了數(shù)據(jù)采集系統(tǒng)的響應(yīng)速度。

實(shí)施例二

參照圖2,示出了本發(fā)明一種數(shù)據(jù)采集方法的實(shí)施例二的流程圖,具體可以包括如下步驟:

步驟201,從所述新添加的數(shù)據(jù)采集任務(wù)的目標(biāo)頁面及其至少一級(jí)子頁面中選取設(shè)定個(gè)數(shù)的樣本頁面。

在本發(fā)明實(shí)施例中,數(shù)據(jù)采集任務(wù)是指要采集的目標(biāo)頁面的網(wǎng)頁地址,以及往下抓取該頁面的子頁面的層數(shù)、抓取該頁面上的子鏈接的最大個(gè)數(shù)、采集該頁面的預(yù)定優(yōu)先級(jí)。新添加的數(shù)據(jù)采集任務(wù)是指人工或自動(dòng)新添加到系統(tǒng)中的數(shù)據(jù)采集任務(wù),不包括從節(jié)點(diǎn)產(chǎn)生的子任務(wù)。主節(jié)點(diǎn)在目標(biāo)頁面及其至少一級(jí)子頁面中選取設(shè)定個(gè)數(shù)的樣本頁面。

步驟202,根據(jù)所述預(yù)置的數(shù)據(jù)采集規(guī)則庫解析所述樣本頁面,得到成功解析的樣本頁面。

在本發(fā)明實(shí)施例中,根據(jù)所述預(yù)置的數(shù)據(jù)采集規(guī)則庫提取所述樣本頁面中所需的字段信息,得到成功提取字段信息的樣本頁面。

步驟203,若所述成功解析的樣本頁面的個(gè)數(shù)低于設(shè)定閾值,判定所述數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與所述預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件。

在本發(fā)明實(shí)施例中,若成功提取字段信息的樣本頁面的個(gè)數(shù)低于設(shè)定閾值,判定子頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件。設(shè)定閾值可以根據(jù)樣本數(shù)量按照一定比例確定,其中比例可以根據(jù)實(shí)際使用時(shí)調(diào)試的情況設(shè)定,本發(fā)明不做限制。

步驟204,查找與所述預(yù)置的數(shù)據(jù)采集規(guī)則庫符合所述設(shè)定匹配條件的子頁面。

步驟205,根據(jù)多數(shù)樣本頁面采用的加載方式,選取與加載方式對應(yīng)的數(shù)據(jù)采集引擎。

在本發(fā)明實(shí)施例中,頁面采用的加載方式包括同步加載和異步加載,同步加載頁面會(huì)阻止瀏覽器的后續(xù)處理,停止了后續(xù)的解析,因此停止了后續(xù)的文件加載(如圖像)、渲染、代碼執(zhí)行。異步加載頁面是指瀏覽器在下載網(wǎng)頁腳本文件的同時(shí),同時(shí)還會(huì)執(zhí)行后續(xù)的頁面處理。數(shù)據(jù)采集引擎是指通過解析網(wǎng)頁地址對應(yīng)的網(wǎng)頁得到網(wǎng)頁數(shù)據(jù)的程序。最常使用的是同步加載,對這種加載方式的頁面,一般選取的數(shù)據(jù)采集引擎是利用一定的規(guī)則就可以從返回的超文本標(biāo)記語言數(shù)據(jù)中提取出有效的信息,而遇到異步加頁面時(shí),就需要選取可以模擬瀏覽器的數(shù)據(jù)采集引擎,具體而言,用模擬的瀏覽器對頁面進(jìn)行渲染并提取出有效的信息。

在本發(fā)明實(shí)施例中,優(yōu)選地,判定多數(shù)的樣本頁面中采用異步加載;選取基于可編程的無頭瀏覽器的數(shù)據(jù)采集引擎,所述基于可編程的無頭瀏覽器的數(shù)據(jù)采集引擎用于異步加載頁面以采集頁面的異步信息。具體而言,根據(jù)步驟201中選取的樣本頁面的腳本標(biāo)簽的異步屬性可以判斷加載方式,如果超過一半的樣本頁面采用異步加載,則選取基于可編程的無頭瀏覽器的數(shù)據(jù)采集引擎,無頭瀏覽器是一個(gè)完整的瀏覽器內(nèi)核,包括腳本解析引擎,渲染引擎,請求處理等,但是不包括顯示和用戶交互頁面的瀏覽器。例如:PhantomJS是一個(gè)基于WebKit(一種用來讓網(wǎng)頁瀏覽器繪制網(wǎng)頁的排版引擎)的服務(wù)器端JavaScript API(由JavaScript語言編寫的應(yīng)用程序接口),它無需瀏覽器的支持即可實(shí)現(xiàn)對網(wǎng)絡(luò)的支持,且原生支持各種網(wǎng)絡(luò)標(biāo)準(zhǔn)。

步驟206,將選取的數(shù)據(jù)采集引擎添加至所述預(yù)置的數(shù)據(jù)采集規(guī)則庫。

在本發(fā)明實(shí)施例中,將選取的數(shù)據(jù)采集引擎對應(yīng)的程序標(biāo)識(shí)添加到預(yù)置的數(shù)據(jù)采集規(guī)則庫中。

步驟207,將所述預(yù)置的數(shù)據(jù)采集規(guī)則庫下發(fā)至所述中間節(jié)點(diǎn),以供所述從節(jié)點(diǎn)從所述中間節(jié)點(diǎn)獲取所述預(yù)置的數(shù)據(jù)采集規(guī)則庫。

在本發(fā)明實(shí)施例中,將預(yù)置的數(shù)據(jù)采集規(guī)則庫發(fā)送到中間節(jié)點(diǎn),以供從節(jié)點(diǎn)從中間節(jié)點(diǎn)獲取預(yù)置的數(shù)據(jù)采集規(guī)則庫。具體而言,主節(jié)點(diǎn)將最新的數(shù)據(jù)采集規(guī)則庫發(fā)送給中間節(jié)點(diǎn),從節(jié)點(diǎn)定期向中間節(jié)點(diǎn)請求獲取存儲(chǔ)在中間節(jié)點(diǎn)的預(yù)置的數(shù)據(jù)采集規(guī)則庫。

步驟208,將所述新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面更新為查找的子頁面,并下發(fā)至中間節(jié)點(diǎn),以供從節(jié)點(diǎn)從中間節(jié)點(diǎn)拉取所述新添加的數(shù)據(jù)采集任務(wù)。

步驟209,從所述中間節(jié)點(diǎn)獲取所述從節(jié)點(diǎn)根據(jù)已完成的數(shù)據(jù)采集任務(wù)新生成的數(shù)據(jù)采集任務(wù)。

在本發(fā)明實(shí)施例中,從節(jié)點(diǎn)從中間節(jié)點(diǎn)獲取到數(shù)據(jù)采集任務(wù),將數(shù)據(jù)采集任務(wù)對應(yīng)的頁面下載到從節(jié)點(diǎn),根據(jù)預(yù)置的數(shù)據(jù)采集規(guī)則庫中提取子頁面的匹配表達(dá)式從頁面中提取所需的子頁面,生成子頁面對應(yīng)的數(shù)據(jù)采集任務(wù),并將新生成的數(shù)據(jù)采集任務(wù)發(fā)送給中間節(jié)點(diǎn),主節(jié)點(diǎn)從中間結(jié)點(diǎn)獲取新生成的數(shù)據(jù)采集任務(wù)。

步驟210,按照任務(wù)優(yōu)先級(jí)將所述新添加的數(shù)據(jù)采集任務(wù)和所述新生成的數(shù)據(jù)采集任務(wù)下發(fā)至所述中間節(jié)點(diǎn)對應(yīng)優(yōu)先級(jí)的任務(wù)隊(duì)列中,以供所述從節(jié)點(diǎn)按照所述任務(wù)隊(duì)列的優(yōu)先級(jí)從所述中間節(jié)點(diǎn)拉取所述數(shù)據(jù)采集任務(wù)。

在本發(fā)明實(shí)施例中,任務(wù)優(yōu)先級(jí)根據(jù)數(shù)據(jù)采集任務(wù)產(chǎn)生的方式來確定,例如人工提交的數(shù)據(jù)采集任務(wù)優(yōu)先級(jí)最高、新添加的數(shù)據(jù)采集任務(wù)的優(yōu)先級(jí)居中、新生成的數(shù)據(jù)采集任務(wù)優(yōu)先級(jí)最低,具體的優(yōu)先級(jí)設(shè)定可以根據(jù)實(shí)際需要進(jìn)行設(shè)置,本發(fā)明對此不做限制。按照任務(wù)的優(yōu)先級(jí)將數(shù)據(jù)采集任務(wù)發(fā)送到中間節(jié)點(diǎn)對應(yīng)優(yōu)先級(jí)的任務(wù)隊(duì)列中,以供從節(jié)點(diǎn)按照任務(wù)隊(duì)列的優(yōu)先級(jí)由高到低拉取數(shù)據(jù)采集任務(wù),具體而言,先拉取優(yōu)先級(jí)較高的任務(wù)隊(duì)列中的任務(wù),當(dāng)優(yōu)先級(jí)高的任務(wù)隊(duì)列中的任務(wù)都被拉取后,再到優(yōu)先級(jí)較低的任務(wù)隊(duì)列中拉取數(shù)據(jù)采集任務(wù)。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述中間節(jié)點(diǎn)中還包括所述數(shù)據(jù)采集任務(wù)的任務(wù)狀態(tài)信息,所述任務(wù)狀態(tài)信息根據(jù)從節(jié)點(diǎn)的反饋進(jìn)行更新,所述方法還包括:從所述任務(wù)隊(duì)列中篩選所述任務(wù)狀態(tài)信息為未完成且執(zhí)行時(shí)間超時(shí)的數(shù)據(jù)采集任務(wù),通知所述中間節(jié)點(diǎn)為篩選的數(shù)據(jù)采集任務(wù)重新添加至所述任務(wù)隊(duì)列;和/或,從任務(wù)隊(duì)列中刪除已完成的數(shù)據(jù)采集任務(wù)。

任務(wù)狀態(tài)信息是指記錄數(shù)據(jù)采集任務(wù)所處狀態(tài)的信息,具體包括數(shù)據(jù)采集任務(wù)已被從節(jié)點(diǎn)拉取但未完成及其拉取時(shí)間、數(shù)據(jù)采集任務(wù)已完成、數(shù)據(jù)采集任務(wù)未被拉取。任務(wù)狀態(tài)信息根據(jù)從節(jié)點(diǎn)的反饋進(jìn)行更新。從中間節(jié)點(diǎn)的任務(wù)隊(duì)列中篩選出已被從節(jié)點(diǎn)拉取,但執(zhí)行時(shí)間超時(shí)仍然沒有完成的數(shù)據(jù)采集任務(wù),通知中間節(jié)點(diǎn)將篩選出的數(shù)據(jù)采集任務(wù)重新添加到任務(wù)隊(duì)列中,以使該數(shù)據(jù)采集任務(wù)可以被重新拉取,使得退出或者出現(xiàn)故障的從節(jié)點(diǎn)上執(zhí)行的任務(wù)可以被重新分配給其他節(jié)點(diǎn),從節(jié)點(diǎn)可以不通知中間節(jié)點(diǎn)和主節(jié)點(diǎn),就可以隨時(shí)退出,不會(huì)影響數(shù)據(jù)采集系統(tǒng)的運(yùn)行,使得從節(jié)點(diǎn)因各種原因?qū)е碌耐顺龈鼮楸憬?。如果任?wù)隊(duì)列中的數(shù)據(jù)采集任務(wù)已經(jīng)完成,則將已完成的數(shù)據(jù)采集任務(wù)從隊(duì)列中刪除。

步驟211,從所述中間節(jié)點(diǎn)獲取數(shù)據(jù)采集結(jié)果,對所述數(shù)據(jù)采集結(jié)果進(jìn)行去重操作。

在本發(fā)明實(shí)施例中,數(shù)據(jù)采集結(jié)果是指根據(jù)數(shù)據(jù)采集規(guī)則庫采集到的網(wǎng)頁內(nèi)容信息、以及從網(wǎng)頁內(nèi)容信息中提取的至少一種關(guān)鍵信息、從網(wǎng)頁中提取的子任務(wù)。主節(jié)點(diǎn)從中間節(jié)點(diǎn)獲取數(shù)據(jù)采集結(jié)果,對數(shù)據(jù)采集節(jié)點(diǎn)進(jìn)行去重操作,對重復(fù)的結(jié)果僅保留一個(gè)。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述數(shù)據(jù)采集結(jié)果包括根據(jù)所述數(shù)據(jù)采集規(guī)則庫采集到的網(wǎng)頁內(nèi)容信息、從所述網(wǎng)頁內(nèi)容信息中提取的至少一種關(guān)鍵信息、識(shí)別的網(wǎng)頁信息的分類結(jié)果、從網(wǎng)頁中提取產(chǎn)生的子任務(wù)中至少一種。

從節(jié)點(diǎn)根據(jù)預(yù)置的數(shù)據(jù)采集規(guī)則庫提取頁面中所需的字段信息,并將網(wǎng)頁內(nèi)容信息中的關(guān)鍵詞提取出來。對網(wǎng)頁內(nèi)容進(jìn)行分析和數(shù)據(jù)挖掘,得到網(wǎng)頁內(nèi)容的分類結(jié)果,例如網(wǎng)頁內(nèi)容屬于財(cái)經(jīng)信息或軍事信息,網(wǎng)頁內(nèi)容屬于正面消息或負(fù)面消息。具體可以通過預(yù)置的分析庫,檢測出網(wǎng)頁內(nèi)容中出現(xiàn)分析庫中預(yù)置詞語的出現(xiàn)頻率,以此判斷網(wǎng)頁信息的分類結(jié)果。從網(wǎng)頁內(nèi)容信息中提取出頁面的子鏈接,子鏈接也就是子任務(wù)。

綜上所述,依據(jù)本發(fā)明實(shí)施例,通過從所述新添加的數(shù)據(jù)采集任務(wù)的目標(biāo)頁面及其至少一級(jí)子頁面中選取設(shè)定個(gè)數(shù)的樣本頁面,根據(jù)所述預(yù)置的數(shù)據(jù)采集規(guī)則庫解析所述樣本頁面,得到成功解析的樣本頁面;若所述成功解析的樣本頁面的個(gè)數(shù)低于設(shè)定閾值,判定所述數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與所述預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件,使得主節(jié)點(diǎn)可以抓包分析出和預(yù)置的數(shù)據(jù)采集規(guī)則庫不匹配的目標(biāo)頁面。

通過查找與所述預(yù)置的數(shù)據(jù)采集規(guī)則庫符合所述設(shè)定匹配條件的子頁面,使得主節(jié)點(diǎn)可以在目標(biāo)頁面中子頁面中找到和預(yù)置的數(shù)據(jù)采集規(guī)則庫匹配的頁面,通過將所述新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面更新為查找的子頁面,并下發(fā)至中間節(jié)點(diǎn),以供從節(jié)點(diǎn)從中間節(jié)點(diǎn)拉取所述新添加的數(shù)據(jù)采集任務(wù),使得主節(jié)點(diǎn)可以剔除掉新添加的數(shù)據(jù)采集任務(wù)中不能根據(jù)預(yù)置的數(shù)據(jù)采集規(guī)則庫提取出所需字段信息的數(shù)據(jù)采集任務(wù),實(shí)現(xiàn)了主節(jié)點(diǎn)剪除無效或低效數(shù)據(jù)采集任務(wù),優(yōu)化了從節(jié)點(diǎn)需要執(zhí)行的數(shù)據(jù)采集任務(wù),提高了數(shù)據(jù)采集的效率。

通過根據(jù)多數(shù)樣本頁面采用的加載方式,選取與加載方式對應(yīng)的數(shù)據(jù)采集引擎,使得數(shù)據(jù)采集系統(tǒng)可以根據(jù)頁面的加載方式選取對應(yīng)的數(shù)據(jù)采集引擎,對簡單頁面選取耗費(fèi)計(jì)算資源少的數(shù)據(jù)采集引擎,對復(fù)雜頁面選取耗費(fèi)計(jì)算資源多的數(shù)據(jù)采集引起,滿足了不同網(wǎng)頁復(fù)雜度的分類高效采集,提高了數(shù)據(jù)采集系統(tǒng)的采集效率。

通過從所述中間節(jié)點(diǎn)獲取所述從節(jié)點(diǎn)根據(jù)已完成的數(shù)據(jù)采集任務(wù)新生成的數(shù)據(jù)采集任務(wù),按照任務(wù)優(yōu)先級(jí)將所述新添加的數(shù)據(jù)采集任務(wù)和所述新生成的數(shù)據(jù)采集任務(wù)下發(fā)至所述中間節(jié)點(diǎn)對應(yīng)優(yōu)先級(jí)的任務(wù)隊(duì)列中,以供所述從節(jié)點(diǎn)按照所述任務(wù)隊(duì)列的優(yōu)先級(jí)從所述中間節(jié)點(diǎn)拉取所述數(shù)據(jù)采集任務(wù),實(shí)現(xiàn)了調(diào)度從節(jié)點(diǎn)按照優(yōu)先級(jí)順序處理數(shù)據(jù)采集任務(wù)。

通過從所述中間節(jié)點(diǎn)獲取數(shù)據(jù)采集結(jié)果,對所述數(shù)據(jù)采集結(jié)果進(jìn)行去重操作,將去重操作由從節(jié)點(diǎn)執(zhí)行改為由主節(jié)點(diǎn)執(zhí)行,使得從節(jié)點(diǎn)的退出和加入不需要通知數(shù)據(jù)采集系統(tǒng)的主節(jié)點(diǎn),退出和加入更便捷,使得系統(tǒng)更易于維護(hù)。

實(shí)施例三

參照圖3,示出了本發(fā)明一種數(shù)據(jù)采集方法的實(shí)施例三的流程圖,具體可以包括如下步驟:

步驟301,從中間節(jié)點(diǎn)拉取新添加的數(shù)據(jù)采集任務(wù)、新生成的數(shù)據(jù)采集任務(wù)和預(yù)置的數(shù)據(jù)采集規(guī)則庫,所述新添加的數(shù)據(jù)采集任務(wù)由主節(jié)點(diǎn)在判定新添加的數(shù)據(jù)采集任務(wù)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件,并查找與所述數(shù)據(jù)采集規(guī)則庫符合所述設(shè)定匹配條件的子頁面,將所述數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面更新為查找的子頁面后,下發(fā)至中間節(jié)點(diǎn)。

在本發(fā)明實(shí)施例中,采用主從架構(gòu)的數(shù)據(jù)采集系統(tǒng)的從節(jié)點(diǎn)從中間節(jié)點(diǎn)拉取新添加的數(shù)據(jù)采集任務(wù)、新生成的數(shù)據(jù)采集任務(wù)和預(yù)置的數(shù)據(jù)采集規(guī)則庫。其中新添加的數(shù)據(jù)采集任務(wù)由主節(jié)點(diǎn)在判定新添加的數(shù)據(jù)采集任務(wù)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件,所述目標(biāo)頁面配置有至少一級(jí)子頁面,并查找與所述數(shù)據(jù)采集規(guī)則庫符合所述設(shè)定匹配條件的子頁面,將所述數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面更新為查找的子頁面后,下發(fā)至中間節(jié)點(diǎn)。

新生成的數(shù)據(jù)采集任務(wù)的產(chǎn)生方式是根據(jù)預(yù)置的數(shù)據(jù)采集規(guī)則庫中提取子頁面的匹配表達(dá)式從頁面中提取所需的子頁面,生成子頁面對應(yīng)的數(shù)據(jù)采集任務(wù),并將新生成的數(shù)據(jù)采集任務(wù)發(fā)送給中間節(jié)點(diǎn),主節(jié)點(diǎn)從中間結(jié)點(diǎn)獲取新生成的數(shù)據(jù)采集任務(wù)。

在本發(fā)明實(shí)施例中,優(yōu)選地,從中間節(jié)點(diǎn)拉取新添加的數(shù)據(jù)采集任務(wù)、新生成的數(shù)據(jù)采集任務(wù)的一種優(yōu)選的實(shí)現(xiàn)方式是:按照所述中間節(jié)點(diǎn)中任務(wù)隊(duì)列的優(yōu)先級(jí)從所述中間節(jié)點(diǎn)定期拉取所述數(shù)據(jù)采集任務(wù)。具體而言,任務(wù)優(yōu)先級(jí)根據(jù)數(shù)據(jù)采集任務(wù)產(chǎn)生的方式來確定,例如人工提交的數(shù)據(jù)采集任務(wù)優(yōu)先級(jí)最高、新添加的數(shù)據(jù)采集任務(wù)的優(yōu)先級(jí)居中、新生成的數(shù)據(jù)采集任務(wù)優(yōu)先級(jí)最低,具體的優(yōu)先級(jí)設(shè)定可以根據(jù)實(shí)際需要進(jìn)行設(shè)置,本發(fā)明對此不做限制。按照任務(wù)的優(yōu)先級(jí)將數(shù)據(jù)采集任務(wù)發(fā)送到中間節(jié)點(diǎn)對應(yīng)優(yōu)先級(jí)的任務(wù)隊(duì)列中,以供從節(jié)點(diǎn)定期按照任務(wù)隊(duì)列的優(yōu)先級(jí)由高到低拉取數(shù)據(jù)采集任務(wù),具體而言,先拉取優(yōu)先級(jí)較高的任務(wù)隊(duì)列中的任務(wù),當(dāng)優(yōu)先級(jí)高的任務(wù)隊(duì)列中的任務(wù)都被拉取后,再到優(yōu)先級(jí)較低的任務(wù)隊(duì)列中拉取數(shù)據(jù)采集任務(wù)。

步驟302,根據(jù)所述預(yù)置的數(shù)據(jù)采集規(guī)則庫,執(zhí)行所述數(shù)據(jù)采集任務(wù)。

在本發(fā)明實(shí)施例中,從節(jié)點(diǎn)根據(jù)預(yù)置的數(shù)據(jù)采集規(guī)則庫,從數(shù)據(jù)采集任務(wù)對應(yīng)的頁面中提取出所需要的字段信息。

在本發(fā)明實(shí)施例中,優(yōu)選地,一種實(shí)現(xiàn)方式是:根據(jù)所述預(yù)置的數(shù)據(jù)采集規(guī)則庫解析所述數(shù)據(jù)采集任務(wù)對應(yīng)的頁面;若從頁面中解析得到網(wǎng)頁內(nèi)容信息,則從所述網(wǎng)頁內(nèi)容信息中提取至少一種關(guān)鍵信息,識(shí)別網(wǎng)頁信息的分類結(jié)果,并將所述網(wǎng)頁內(nèi)容信息、所述至少一種關(guān)鍵信息和所述網(wǎng)頁信息的分類結(jié)果上傳至中間節(jié)點(diǎn),以供主節(jié)點(diǎn)從中間節(jié)點(diǎn)獲取所述網(wǎng)頁內(nèi)容信息、所述至少一種關(guān)鍵信息和所述網(wǎng)頁信息的分類結(jié)果;從網(wǎng)頁中提取子頁面,生成對應(yīng)子頁面的數(shù)據(jù)采集任務(wù),并上傳至中間節(jié)點(diǎn),以供主節(jié)點(diǎn)從中間節(jié)點(diǎn)獲取所述數(shù)據(jù)采集任務(wù)。

具體而言,從節(jié)點(diǎn)根據(jù)預(yù)置的數(shù)據(jù)采集規(guī)則庫解析所述數(shù)據(jù)采集任務(wù)對應(yīng)的頁面,如果可以從頁面中解析得到網(wǎng)頁內(nèi)容信息,則將網(wǎng)頁內(nèi)容信息中的關(guān)鍵詞提取出來。對網(wǎng)頁內(nèi)容進(jìn)行分析和數(shù)據(jù)挖掘,得到網(wǎng)頁內(nèi)容的分類結(jié)果,例如網(wǎng)頁內(nèi)容屬于財(cái)經(jīng)信息或軍事信息,網(wǎng)頁內(nèi)容屬于正面消息或負(fù)面消息。具體可以通過預(yù)置的分析庫,檢測出網(wǎng)頁內(nèi)容中出現(xiàn)分析庫中預(yù)置詞語的出現(xiàn)頻率,以此判斷網(wǎng)頁信息的分類結(jié)果。從網(wǎng)頁內(nèi)容信息中提取出頁面的子鏈接,子鏈接也就是子任務(wù),上傳到中間節(jié)點(diǎn),以供主節(jié)點(diǎn)從中間節(jié)點(diǎn)獲取所述數(shù)據(jù)采集任務(wù)。

在本發(fā)明實(shí)施例中,優(yōu)選地,所述從網(wǎng)頁中提取子頁面,生成對應(yīng)子頁面的數(shù)據(jù)采集任務(wù),并上傳至中間節(jié)點(diǎn),以供主節(jié)點(diǎn)從中間節(jié)點(diǎn)獲取所述數(shù)據(jù)采集任務(wù)的一種實(shí)現(xiàn)方式是:根據(jù)所述預(yù)置的數(shù)據(jù)采集規(guī)則庫抓取網(wǎng)頁中匹配的子頁面,所述預(yù)置的數(shù)據(jù)采集規(guī)則庫包括用于抓取子頁面的第二匹配表達(dá)式。

第二匹配表達(dá)式用于采集頁面中的目標(biāo)鏈接,可以采集到網(wǎng)頁中網(wǎng)絡(luò)地址符合設(shè)定要求的子鏈接,從節(jié)點(diǎn)根據(jù)預(yù)置的數(shù)據(jù)采集規(guī)則庫抓取網(wǎng)頁中匹配的子頁面。

綜上所述,依據(jù)本發(fā)明實(shí)施例,通過從中間節(jié)點(diǎn)拉取新添加的數(shù)據(jù)采集任務(wù)、新生成的數(shù)據(jù)采集任務(wù)和預(yù)置的數(shù)據(jù)采集規(guī)則庫,所述新添加的數(shù)據(jù)采集任務(wù)由主節(jié)點(diǎn)在判定新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件,所述目標(biāo)頁面配置有至少一級(jí)子頁面,使得主節(jié)點(diǎn)可以抓包分析出和預(yù)置的數(shù)據(jù)采集規(guī)則庫不匹配的目標(biāo)頁面。

通過查找與所述預(yù)置的數(shù)據(jù)采集規(guī)則庫符合所述設(shè)定匹配條件的子頁面,使得主節(jié)點(diǎn)可以在目標(biāo)頁面中子頁面中找到和預(yù)置的數(shù)據(jù)采集規(guī)則庫匹配的頁面。

通過將所述新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面更新為查找的子頁面,并下發(fā)至中間節(jié)點(diǎn),以供從節(jié)點(diǎn)從中間節(jié)點(diǎn)拉取所述新添加的數(shù)據(jù)采集任務(wù),使得主節(jié)點(diǎn)可以剔除掉新添加的數(shù)據(jù)采集任務(wù)中不能根據(jù)預(yù)置的數(shù)據(jù)采集規(guī)則庫提取出所需字段信息的數(shù)據(jù)采集任務(wù),實(shí)現(xiàn)了主節(jié)點(diǎn)剪除無效或低效數(shù)據(jù)采集任務(wù),優(yōu)化了從節(jié)點(diǎn)需要執(zhí)行的數(shù)據(jù)采集任務(wù),提高了數(shù)據(jù)采集的效率。

需要說明的是,對于方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明實(shí)施例并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明實(shí)施例,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作并不一定是本發(fā)明實(shí)施例所必須的。

實(shí)施例四

參照圖4,示出了本發(fā)明一種數(shù)據(jù)采集裝置實(shí)施例四的一種結(jié)構(gòu)示意圖,具體可以包括如下模塊:

判定模塊401,用于判定新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件,所述目標(biāo)頁面配置有至少一級(jí)子頁面;

查找模塊402,用于查找與所述預(yù)置的數(shù)據(jù)采集規(guī)則庫符合所述設(shè)定匹配條件的子頁面;

更新模塊403,用于將所述新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面更新為查找的子頁面,并下發(fā)至中間節(jié)點(diǎn),以供從節(jié)點(diǎn)從中間節(jié)點(diǎn)拉取所述新添加的數(shù)據(jù)采集任務(wù)。

在圖4的基礎(chǔ)上,可選地,所述裝置還包括選取樣本頁面模塊404,參見圖5:

樣本頁面選取模塊404,用于在所述判定新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件之前,從所述新添加的數(shù)據(jù)采集任務(wù)的目標(biāo)頁面及其至少一級(jí)子頁面中選取設(shè)定個(gè)數(shù)的樣本頁面。

在圖4的基礎(chǔ)上,可選地,所述判定模塊401包括樣本頁面解析子模塊4011和匹配條件判定子模塊4012,參見圖5:

樣本頁面解析子模塊4011,用于根據(jù)所述預(yù)置的數(shù)據(jù)采集規(guī)則庫解析所述樣本頁面,得到成功解析的樣本頁面;

匹配條件判定子模塊4012,用于若所述成功解析的樣本頁面的個(gè)數(shù)低于設(shè)定閾值,判定所述數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與所述預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件。

在圖4的基礎(chǔ)上,可選地,所述裝置還包括:

通知發(fā)送模塊,用于在所述判定新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件之后,向所述數(shù)據(jù)采集系統(tǒng)發(fā)送所述預(yù)置的數(shù)據(jù)采集規(guī)則庫與所述新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面不符合設(shè)定匹配條件的通知。

優(yōu)選地,所述預(yù)置的數(shù)據(jù)采集規(guī)則庫包括目標(biāo)信息種類、用于采集目標(biāo)信息的第一匹配表達(dá)式,所述第一匹配表達(dá)式采用jsoup語法編寫。

在圖4的基礎(chǔ)上,可選地,所述裝置還包括采集引擎選取模塊405,參見圖5:

采集引擎選取模塊405,用于根據(jù)多數(shù)樣本頁面采用的加載方式,選取與加載方式對應(yīng)的數(shù)據(jù)采集引擎。

優(yōu)選地,所述采集引擎選取模塊405包括:

異步加載判定子模塊,用于判定多數(shù)的樣本頁面中采用異步加載;

采集引擎選取子模塊,用于選取基于可編程的無頭瀏覽器的數(shù)據(jù)采集引擎,所述基于可編程的無頭瀏覽器的數(shù)據(jù)采集引擎用于異步加載頁面以采集頁面的異步信息。

在圖4的基礎(chǔ)上,可選地,所述裝置還包括采集引擎添加模塊406,參見圖5:

采集引擎添加模塊406,用于將選取的數(shù)據(jù)采集引擎添加至所述預(yù)置的數(shù)據(jù)采集規(guī)則庫。

在圖4的基礎(chǔ)上,可選地,所述裝置還包括規(guī)則庫下發(fā)模塊407,參見圖5:

規(guī)則庫下發(fā)模塊407,用于將所述預(yù)置的數(shù)據(jù)采集規(guī)則庫下發(fā)至所述中間節(jié)點(diǎn),以供所述從節(jié)點(diǎn)從所述中間節(jié)點(diǎn)獲取所述預(yù)置的數(shù)據(jù)采集規(guī)則庫。

在圖4的基礎(chǔ)上,可選地,所述裝置還包括采集任務(wù)獲取模塊408,參見圖5:

采集任務(wù)獲取模塊408,用于從所述中間節(jié)點(diǎn)獲取所述從節(jié)點(diǎn)根據(jù)已完成的數(shù)據(jù)采集任務(wù)新生成的數(shù)據(jù)采集任務(wù)。

在圖4的基礎(chǔ)上,可選地,所述裝置還包括任務(wù)下發(fā)模塊409,參見圖5:

任務(wù)下發(fā)模塊409,用于按照任務(wù)優(yōu)先級(jí)將所述新添加的數(shù)據(jù)采集任務(wù)和所述新生成的數(shù)據(jù)采集任務(wù)下發(fā)至所述中間節(jié)點(diǎn)對應(yīng)優(yōu)先級(jí)的任務(wù)隊(duì)列中,以供所述從節(jié)點(diǎn)按照所述任務(wù)隊(duì)列的優(yōu)先級(jí)從所述中間節(jié)點(diǎn)拉取所述數(shù)據(jù)采集任務(wù)。

在圖4的基礎(chǔ)上,可選地,所述中間節(jié)點(diǎn)中還包括所述數(shù)據(jù)采集任務(wù)的任務(wù)狀態(tài)信息,所述任務(wù)狀態(tài)信息根據(jù)從節(jié)點(diǎn)的反饋進(jìn)行更新,所述裝置還包括采集任務(wù)篩選模塊和/或刪除模塊,參見圖5:

采集任務(wù)篩選模塊,用于從所述任務(wù)隊(duì)列中篩選所述任務(wù)狀態(tài)信息為未完成且執(zhí)行時(shí)間超時(shí)的數(shù)據(jù)采集任務(wù),通知所述中間節(jié)點(diǎn)為篩選的數(shù)據(jù)采集任務(wù)重新添加至所述任務(wù)隊(duì)列;

和/或,刪除模塊,用于從任務(wù)隊(duì)列中刪除已完成的數(shù)據(jù)采集任務(wù)。

在圖3的基礎(chǔ)上,可選地,所述裝置還包括采集結(jié)果獲取模塊410,參見圖5:

采集結(jié)果獲取模塊410,用于從所述中間節(jié)點(diǎn)獲取數(shù)據(jù)采集結(jié)果,對所述數(shù)據(jù)采集結(jié)果進(jìn)行去重操作。

優(yōu)選地,所述數(shù)據(jù)采集結(jié)果包括根據(jù)所述數(shù)據(jù)采集規(guī)則庫采集到的網(wǎng)頁內(nèi)容信息、從所述網(wǎng)頁內(nèi)容信息中提取的至少一種關(guān)鍵信息、識(shí)別的網(wǎng)頁信息的分類結(jié)果、從網(wǎng)頁中提取產(chǎn)生的子任務(wù)中至少一種。

優(yōu)選地,所述裝置還包括:

接收模塊,用于在所述判定新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件之前,接收針對所述新添加的數(shù)據(jù)采集任務(wù)設(shè)置的頁面采集深度和頁面采集廣度。

綜上所述,依據(jù)本發(fā)明實(shí)施例,通過判定新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件,使得主節(jié)點(diǎn)可以抓包分析出和預(yù)置的數(shù)據(jù)采集規(guī)則庫不匹配的目標(biāo)頁面。

通過查找與所述預(yù)置的數(shù)據(jù)采集規(guī)則庫符合所述設(shè)定匹配條件的子頁面,使得主節(jié)點(diǎn)可以在目標(biāo)頁面中子頁面中找到和預(yù)置的數(shù)據(jù)采集規(guī)則庫匹配的頁面。

通過將所述新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面更新為查找的子頁面,并下發(fā)至中間節(jié)點(diǎn),使得主節(jié)點(diǎn)可以剔除掉新添加的數(shù)據(jù)采集任務(wù)中不能根據(jù)預(yù)置的數(shù)據(jù)采集規(guī)則庫提取出所需字段信息的數(shù)據(jù)采集任務(wù),實(shí)現(xiàn)了主節(jié)點(diǎn)剪除無效或低效數(shù)據(jù)采集任務(wù),優(yōu)化了從節(jié)點(diǎn)需要執(zhí)行的數(shù)據(jù)采集任務(wù),提高了數(shù)據(jù)采集的效率。

實(shí)施例五

參照圖6,示出了本發(fā)明一種數(shù)據(jù)采集裝置實(shí)施例五的一種結(jié)構(gòu)示意圖,具體可以包括如下模塊:

拉取模塊501,用于從中間節(jié)點(diǎn)拉取新添加的數(shù)據(jù)采集任務(wù)、新生成的數(shù)據(jù)采集任務(wù)和預(yù)置的數(shù)據(jù)采集規(guī)則庫,所述新添加的數(shù)據(jù)采集任務(wù)由主節(jié)點(diǎn)在判定新添加的數(shù)據(jù)采集任務(wù)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件,并查找與所述數(shù)據(jù)采集規(guī)則庫符合所述設(shè)定匹配條件的子頁面,將所述數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面更新為查找的子頁面后,下發(fā)至中間節(jié)點(diǎn),所述目標(biāo)頁面配置有至少一級(jí)子頁面;

任務(wù)執(zhí)行模塊502,用于根據(jù)所述預(yù)置的數(shù)據(jù)采集規(guī)則庫,執(zhí)行所述數(shù)據(jù)采集任務(wù)。

優(yōu)選地,所述拉取模塊501,具體用于按照所述中間節(jié)點(diǎn)中任務(wù)隊(duì)列的優(yōu)先級(jí)從所述中間節(jié)點(diǎn)定期拉取所述數(shù)據(jù)采集任務(wù)。

優(yōu)選地,所述任務(wù)執(zhí)行模塊502包括:

頁面解析子模塊,用于根據(jù)所述預(yù)置的數(shù)據(jù)采集規(guī)則庫解析所述數(shù)據(jù)采集任務(wù)對應(yīng)的頁面;

信息解析子模塊,用于若從頁面中解析得到網(wǎng)頁內(nèi)容信息,則從所述網(wǎng)頁內(nèi)容信息中提取至少一種關(guān)鍵信息,識(shí)別網(wǎng)頁信息的分類結(jié)果,并將所述網(wǎng)頁內(nèi)容信息、所述至少一種關(guān)鍵信息和所述網(wǎng)頁信息的分類結(jié)果上傳至中間節(jié)點(diǎn),以供主節(jié)點(diǎn)從中間節(jié)點(diǎn)獲取所述網(wǎng)頁內(nèi)容信息、所述至少一種關(guān)鍵信息和所述網(wǎng)頁信息的分類結(jié)果;

子任務(wù)生成子模塊,用于從網(wǎng)頁中提取子頁面,生成對應(yīng)子頁面的數(shù)據(jù)采集任務(wù),并上傳至中間節(jié)點(diǎn),以供主節(jié)點(diǎn)從中間節(jié)點(diǎn)獲取所述數(shù)據(jù)采集任務(wù)。

優(yōu)選地,所述子任務(wù)生成子模塊,具體用于根據(jù)所述預(yù)置的數(shù)據(jù)采集規(guī)則庫抓取網(wǎng)頁中匹配的子頁面,所述預(yù)置的數(shù)據(jù)采集規(guī)則庫包括用于抓取子頁面的第二匹配表達(dá)式。

綜上所述,依據(jù)本發(fā)明實(shí)施例,通過從中間節(jié)點(diǎn)拉取新添加的數(shù)據(jù)采集任務(wù)、新生成的數(shù)據(jù)采集任務(wù)和預(yù)置的數(shù)據(jù)采集規(guī)則庫,所述新添加的數(shù)據(jù)采集任務(wù)由主節(jié)點(diǎn)在判定新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面與預(yù)置的數(shù)據(jù)采集規(guī)則庫不符合設(shè)定匹配條件,所述目標(biāo)頁面配置有至少一級(jí)子頁面,使得主節(jié)點(diǎn)可以抓包分析出和預(yù)置的數(shù)據(jù)采集規(guī)則庫不匹配的目標(biāo)頁面。

通過查找與所述預(yù)置的數(shù)據(jù)采集規(guī)則庫符合所述設(shè)定匹配條件的子頁面,使得主節(jié)點(diǎn)可以在目標(biāo)頁面中子頁面中找到和預(yù)置的數(shù)據(jù)采集規(guī)則庫匹配的頁面。

通過將所述新添加的數(shù)據(jù)采集任務(wù)對應(yīng)的目標(biāo)頁面更新為查找的子頁面,并下發(fā)至中間節(jié)點(diǎn),以供從節(jié)點(diǎn)從中間節(jié)點(diǎn)拉取所述新添加的數(shù)據(jù)采集任務(wù),使得主節(jié)點(diǎn)可以剔除掉新添加的數(shù)據(jù)采集任務(wù)中不能根據(jù)預(yù)置的數(shù)據(jù)采集規(guī)則庫提取出所需字段信息的數(shù)據(jù)采集任務(wù),實(shí)現(xiàn)了主節(jié)點(diǎn)剪除無效或低效數(shù)據(jù)采集任務(wù),優(yōu)化了從節(jié)點(diǎn)需要執(zhí)行的數(shù)據(jù)采集任務(wù),提高了數(shù)據(jù)采集的效率。

以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。

通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。

最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
玉林市| 宜城市| 内乡县| 阜新市| 磐石市| 四川省| 深圳市| 固阳县| 新巴尔虎右旗| 安西县| 鹤岗市| 阳高县| 罗城| 宽甸| 汉中市| 喀喇沁旗| 成武县| 余江县| 金寨县| 行唐县| 章丘市| 长葛市| 巴林右旗| 洞口县| 高碑店市| 信阳市| 新干县| 瑞金市| 盘山县| 稷山县| 利辛县| 河津市| 玉溪市| 辽阳县| 达尔| 延津县| 昭觉县| 清水河县| 江山市| 贵州省| 阿克|