【技術實現步驟摘要】
一種可配置的網頁數據采集方法、裝置、設備及介質
[0001]本專利技術屬于互聯網數據采集
,具體涉及一種可配置的網頁數據采集方法、裝置、電子設備及計算機可讀介質。
技術介紹
[0002]大數據時代,各行各業越來越依賴互聯網信息。數據采集,數據挖掘應用越來越廣泛。而網頁數據采集就是其中很重要的一種數據來源方式。例如采集招投標網站的招標信息,電商網站的商品信息等。
[0003]目前,常見的網頁數據采集方法有兩類:
[0004]第一類只能針對某一網站或部分類型的網站進行采集,例如電商網站信息采集,這種采集方式可以獲取比較全面的信息,但是僅僅適用于特定的網站。
[0005]第二類通過配置指定網頁數據抽取規則,可以靈活匹配到簡單網頁的數據。但是對于復雜的頁面,通常需要額外的開發來處理。情況一就是需要額外操作后才出現的數據(例如點擊鏈接跳轉,點擊TAB選項卡,下滑頁面翻頁等等),情況二就是關聯的數據分布在不同的頁面,例如采集商品信息,商品價格和用戶評價分散在兩個不同的頁面,雖然可以針對這兩類頁面分別采集數據,但是建立這兩個數據的聯系又需要額外的開發工作。
[0006]從上面的問題我們可以看出,現有的網頁數據采集在面對日益復雜的網頁交互時,還有很多需要人工開發處理的地方,需要尋求一種更便利、更通用的數據采集方法。
技術實現思路
[0007]針對現有技術中所存在的不足,本專利技術提供了一種高效、可顯著減少開發工作量的可配置的網頁數據采集方法、裝置、電子設備及計算機可讀介質。 />[0008]第一方面,一種可配置的網頁數據采集方法,包括:
[0009]創建采集任務的配置信息;所述配置信息包括采集目標頁面配置、列表匹配規則、行匹配規則以及采集數據字段配置;
[0010]采集任務分解步驟:基于所述采集目標頁面配置,將所述采集任務按所述采集任務包含的頁面地址的數量分解成對應的分解任務;
[0011]基于所述列表匹配規則、行匹配規則以及采集數據字段配置,將所述分解任務對應的頁面地址的數據采集并入庫。
[0012]作為優選實施例,所述采集任務分解步驟,包括:
[0013]獲取所述配置信息中的采集目標頁面配置;
[0014]分解步驟:根據所述采集任務是否為分頁模式的判斷結果,選擇不同的方式獲取所述采集任務中所有不重復的頁面地址,并將所述頁面地址作為分解任務加入到分解任務列表。
[0015]作為進一步優選實施例,在所述分解步驟之前,還包括:
[0016]判斷所述采集任務是否已分解,若是則結束所述采集任務分解步驟,否則執行所
述分解步驟;
[0017]在所述分解步驟之后,還包括:
[0018]將所述采集任務的狀態標記為已分解。
[0019]作為優選實施例,所述分解步驟,包括:
[0020]判斷所述采集任務是否為分頁模式,若是則從所述采集目標頁面配置中獲取URL、起始頁碼和結束頁碼,從所述起始頁碼至所述結束頁碼依次替換所述URL的占位符以生成若干目標鏈接,并將所述目標鏈接作為分解任務加入分解任務列表;
[0021]否則從所述采集目標頁面配置中獲取目標地址、匹配規則及抓取層級,根據目標地址獲取網頁內容,按正則表達式獲取符合所述匹配規則的目標鏈接,直到匹配不到鏈接或達到抓取層級;將獲取的所述目標鏈接作為分解任務加入分解任務列表;
[0022]對所述目標鏈接進行去重處理并入庫。
[0023]作為優選實施例,所述基于所述列表匹配規則、行匹配規則以及采集數據字段配置,將所述分解任務對應的頁面地址的數據采集并入庫,包括如下步驟:
[0024]獲取所述分解任務的源碼,并將所述源碼封裝成網頁文檔對象;
[0025]根據所述列表匹配規則,從所述網頁文檔對象中獲取列表文檔對象;
[0026]根據所述行匹配規則,從所述列表文檔對象中獲取多個行文檔對象;
[0027]遍歷所述行文檔對象,根據所述行文檔對象中的字段是否能直接獲取的判斷結果,選擇不同的方式采集字段并將其加入采集結果列表;
[0028]在遍歷完所述行文檔對象后,對所述采集結果列表中的字段進行去重處理并入庫;
[0029]將所述分解任務標記為已完成。
[0030]作為優選實施例,所述根據所述行文檔對象中的字段是否能直接獲取的判斷結果,選擇不同的方式采集字段并將其加入采集結果列表,包括:
[0031]判斷字段是否可以直接獲取,若是則通過所述采集字段列表配置的匹配規則獲取到對應的HTML元素,并獲取所述HTML元素的屬性作為目標字段;
[0032]否則通過解析所述采集字段列表配置的匹配規則,獲得操作指令列表;遍歷執行所述操作指令列表中的操作指令,直到匹配到目標字段;
[0033]將所述目標字段加入采集結果列表。
[0034]作為優選實施例,所述獲取所述分解任務的源碼,通過無界面瀏覽器實現。
[0035]作為優選實施例,所述遍歷執行所述操作指令列表中的操作指令,通過無界面瀏覽器調用對應操作指令的腳本實現。
[0036]第二方面,一種可配置的網頁數據采集裝置,包括:
[0037]采集任務配置模塊,用于創建采集任務的配置信息,所述配置信息包括采集目標頁面配置、列表匹配規則、行匹配規則以及采集數據字段配置;
[0038]采集任務分解模塊,用于基于所述采集目標頁面配置,根據所述采集任務包含的頁面地址的數量將所述采集任務分解成與所述頁面地址數量對應的分解任務;
[0039]網頁數據采集模塊:用于基于所述列表匹配規則、行匹配規則以及采集數據字段配置,將所述分解任務對應的頁面地址的數據采集并入庫。
[0040]第三方面,一種電子設備,包括:
[0041]一個或多個處理器;
[0042]存儲裝置,其上存儲有一個或多個程序;
[0043]當所述一個或多個程序被所述一個或多個處理器執行,使得所述一個或多個處理器實現如第一方面所述的任一種可配置的網頁數據采集方法。
[0044]第四方面,一種計算機可讀介質,其上存儲有計算機程序,其中,所述程序被處理器執行時實現如第一方面所述的任一種可配置的網頁數據采集方法。
[0045]相比于現有技術,本專利技術具有如下有益效果:
[0046]通過采集目標頁面配置將采集任務按獲取頁面地址的數量分解為多個任務,并根據模擬瀏覽器手工操作的采集規則設置了一套關于網頁列表、行、元素和屬性的匹配規則,在采集交互復雜的網頁數據時,可以不用額外的開發就能采集到所有數據(包含需要點擊跳轉等復雜操作才能采集到的關聯數據),極大的減少了人工開發工作量。
附圖說明
[0047]為了更清楚地說明本專利技術實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本專利技術的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種可配置的網頁數據采集方法,包括:創建采集任務的配置信息;所述配置信息包括采集目標頁面配置、列表匹配規則、行匹配規則以及采集數據字段配置;采集任務分解步驟:基于所述采集目標頁面配置,將所述采集任務按所述采集任務包含的頁面地址的數量分解成對應的分解任務;基于所述列表匹配規則、行匹配規則以及采集數據字段配置,將所述分解任務對應的頁面地址的數據采集并入庫。2.根據權利要求1所述的一種可配置的網頁數據采集方法,其特征在于:所述采集任務分解步驟,包括:獲取所述配置信息中的采集目標頁面配置;分解步驟:根據所述采集任務是否為分頁模式的判斷結果,選擇不同的方式獲取所述采集任務中所有不重復的頁面地址,并將所述頁面地址作為分解任務加入到分解任務列表。3.根據權利要求2所述的一種可配置的網頁數據采集方法,其特征在于:在所述分解步驟之前,還包括:判斷所述采集任務是否已分解,若是則結束所述采集任務分解步驟,否則執行所述分解步驟;在所述分解步驟之后,還包括:將所述采集任務的狀態標記為已分解。4.根據權利要求2所述的一種可配置的網頁數據采集方法,其特征在于:所述分解步驟,包括:判斷所述采集任務是否為分頁模式,若是則從所述采集目標頁面配置中獲取URL、起始頁碼和結束頁碼,從所述起始頁碼至所述結束頁碼依次替換所述URL的占位符以生成若干目標鏈接,并將所述目標鏈接作為分解任務加入分解任務列表;否則從所述采集目標頁面配置中獲取目標地址、匹配規則及抓取層級,根據目標地址獲取網頁內容,按正則表達式獲取符合所述匹配規則的目標鏈接,直到匹配不到鏈接或達到抓取層級;將獲取的所述目標鏈接作為分解任務加入分解任務列表;對所述目標鏈接進行去重處理并入庫。5.根據權利要求1所述的一種可配置的網頁數據采集方法,其特征在于:所述基于所述列表匹配規則、行匹配規則以及采集數據字段配置,將所述分解任務對應的頁面地址的數據采集并入庫,包括如下步驟:獲取所述分解任務的源碼,并將所述源碼封裝成網頁文檔對象;根據所述列表匹配規則,從所述網頁文檔對象中獲取列表文檔對象;根據所述行匹配規則,從所述列表文檔對象中...
【專利技術屬性】
技術研發人員:姚輝,
申請(專利權)人:重慶紫光華山智安科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。