本發(fā)明涉及信息采集的技術(shù)領(lǐng)域,具體是一種可視化網(wǎng)絡(luò)爬蟲方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)用戶的迅速增長,用戶所產(chǎn)生數(shù)據(jù)的數(shù)量產(chǎn)生了跨越式增加,數(shù)據(jù)的格式也越來越繁雜多樣,而在這些繁雜的數(shù)據(jù)中蘊(yùn)含著巨大的價(jià)值。但用戶想訪問這些數(shù)據(jù)一般是通過訪問搜索引擎來尋找相關(guān)信息并訪問相關(guān)網(wǎng)頁。但使用通用的搜索引擎如百度搜索、360搜索和谷歌搜索等返回的網(wǎng)頁量巨大,而且網(wǎng)頁中大多包含著一些無效的或用戶不需要的信息。這樣從這些返回的數(shù)據(jù)中提取到精準(zhǔn)的信息很消耗用戶的時(shí)間與精力,難以滿足用戶直接獲得大量經(jīng)過提取的信息需求。
而且現(xiàn)在隨著大數(shù)據(jù)技術(shù)的發(fā)展,普通用戶對(duì)于獲取經(jīng)過清洗、完整的和格式統(tǒng)一的數(shù)據(jù)以用于后續(xù)的大數(shù)據(jù)處理的需求不斷增加。用戶為了滿足這樣的需求,通常采用網(wǎng)絡(luò)爬蟲技術(shù)。但現(xiàn)在通用的網(wǎng)絡(luò)爬蟲軟件或框架都要求用戶具備一定的編程基礎(chǔ),一般采用編程語言編輯。缺乏一種可視化的網(wǎng)絡(luò)爬蟲軟件來協(xié)助編程技術(shù)相對(duì)薄弱的用戶大規(guī)模精準(zhǔn)獲取特定的網(wǎng)絡(luò)信息。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種基于頁面相似度匹配和css/xpath規(guī)則構(gòu)建抓取規(guī)則的可視化網(wǎng)絡(luò)爬蟲技術(shù),以解決上述背景技術(shù)中提出的問題。
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種可視化網(wǎng)絡(luò)爬蟲方法,包括如下步驟:
(1)用戶輸入不少于1個(gè)初始url和規(guī)則文件;
(2)服務(wù)器解析規(guī)則文件,采用最大匹配算法對(duì)初始url分析生成url匹配過濾規(guī)則,調(diào)用采集模塊訪問互聯(lián)網(wǎng)獲得初始url的網(wǎng)頁;
(3)用戶在瀏覽器上打開網(wǎng)頁瀏覽器插件標(biāo)記所需內(nèi)容與外鏈,服務(wù)器生成處理模塊所需的數(shù)據(jù)解析規(guī)則和外鏈解析規(guī)則;
(4)處理模塊處理初始url的網(wǎng)頁,并將經(jīng)數(shù)據(jù)解析規(guī)則提取的數(shù)據(jù)保存到數(shù)據(jù)庫,以及經(jīng)外鏈解析規(guī)則獲得的url即外鏈傳遞到調(diào)度模塊;
(5)調(diào)度模塊分配url隊(duì)列到采集模塊;
(6)url隊(duì)列再經(jīng)下載中間件模塊處理后訪問互聯(lián)網(wǎng)獲得目標(biāo)url的網(wǎng)頁;
(7)獲得的目標(biāo)url的網(wǎng)頁經(jīng)url匹配過濾規(guī)則的url匹配過濾后進(jìn)入處理模塊;
(8)處理模塊處理網(wǎng)頁,將提取的數(shù)據(jù)保存到數(shù)據(jù)庫和獲得的url即外鏈傳遞到調(diào)度模塊,不斷循環(huán)處理;
(9)將獲得的數(shù)據(jù)提供給用戶下載。
作為本發(fā)明進(jìn)一步的方案:步驟(1)中,規(guī)則文件包括采集周期、是否啟動(dòng)js模擬與cookies。
作為本發(fā)明進(jìn)一步的方案:步驟(3)中,所述的用戶使用可視化的操控頁面并標(biāo)定采集信息與外鏈。
作為本發(fā)明進(jìn)一步的方案:步驟(3)中,服務(wù)器通過dom樹相似度算法完成數(shù)據(jù)解析規(guī)則和外鏈解析規(guī)則的生成。
作為本發(fā)明進(jìn)一步的方案:步驟(9)中,數(shù)據(jù)采用csv、json或excel格式。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
本發(fā)明提出的用戶可視化的操控頁面并標(biāo)定采集信息與外鏈,程序通過dom樹相似度算法完成數(shù)據(jù)解析規(guī)則和外鏈解析規(guī)則的生成的方法,使普通用戶方便和直觀的操控和設(shè)計(jì)抓取程序,降低對(duì)用戶技術(shù)水平的要求,有效增加大數(shù)據(jù)的研究人群,減輕相關(guān)研究人員的學(xué)習(xí)成本。
附圖說明
圖1是一種可視化網(wǎng)絡(luò)爬蟲方法示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例1
請(qǐng)參閱圖1,本發(fā)明實(shí)施例中,一種可視化網(wǎng)絡(luò)爬蟲方法,包括如下步驟:
(1)用戶輸入多個(gè)初始url、采集周期、是否啟動(dòng)js模擬、cookies等規(guī)則文件;
(2)服務(wù)器解析規(guī)則文件,采用最大匹配算法對(duì)初始url分析生成url匹配過濾規(guī)則,調(diào)用采集模塊訪問互聯(lián)網(wǎng)獲得初始url的網(wǎng)頁;
(3)用戶在瀏覽器上打開網(wǎng)頁瀏覽器插件標(biāo)記所需內(nèi)容與外鏈,服務(wù)器使用dom樹相似度算法生成處理模塊所需的數(shù)據(jù)解析規(guī)則和外鏈解析規(guī)則;
(4)處理模塊處理網(wǎng)頁,將提取的數(shù)據(jù)保存到數(shù)據(jù)庫和獲得的url外鏈傳遞到調(diào)度模塊;
(5)調(diào)度模塊分配url隊(duì)列到采集模塊;
(6)url隊(duì)列經(jīng)下載中間件模塊處理后訪問互聯(lián)網(wǎng)獲得目標(biāo)url的網(wǎng)頁;
(7)獲得的目標(biāo)url的網(wǎng)頁經(jīng)過url匹配過濾后進(jìn)入處理模塊;
(8)處理模塊處理網(wǎng)頁,將提取的數(shù)據(jù)保存到數(shù)據(jù)庫和獲得的url外鏈傳遞到調(diào)度模塊,不斷循環(huán)處理;
(9)將獲得的數(shù)據(jù)以csv、json、excel等格式提供給用戶下載。
本發(fā)明對(duì)輸入多個(gè)相似的初始url進(jìn)行最大匹配算法即從所有的初始url的根目錄開始匹配,遇到不同的目錄時(shí)即終止匹配,生成url匹配過濾規(guī)則。而數(shù)據(jù)解析和外鏈解析規(guī)則通過讓用戶使用可視化的瀏覽器插件簡單標(biāo)定初始url上網(wǎng)頁的所需信息,采取dom樹相似度算法對(duì)網(wǎng)頁進(jìn)行相似度匹配生成規(guī)則,其中dom樹相似度算法是比較dom中的淺層節(jié)點(diǎn)的父節(jié)點(diǎn)是否一致而實(shí)現(xiàn)的。這樣實(shí)現(xiàn)用戶精準(zhǔn)抓取互聯(lián)網(wǎng)網(wǎng)頁信息的目的,節(jié)省用戶人工提取網(wǎng)頁信息時(shí)間,降低對(duì)操作人員的技術(shù)要求,同時(shí)具備抓取內(nèi)容的高精準(zhǔn)度,滿足普通用戶對(duì)網(wǎng)頁信息大規(guī)模精準(zhǔn)提取的需求。
綜上所述,本發(fā)明從實(shí)用性、可靠性、低成本的角度出發(fā),迎合與滿足當(dāng)前普通用戶對(duì)大規(guī)模信息精準(zhǔn)抓取的需求。
對(duì)于本領(lǐng)域技術(shù)人員而言,顯然本發(fā)明不限于上述示范性實(shí)施例的細(xì)節(jié),而且在不背離本發(fā)明的精神或基本特征的情況下,能夠以其他的具體形式實(shí)現(xiàn)本發(fā)明。因此,無論從哪一點(diǎn)來看,均應(yīng)將實(shí)施例看作是示范性的,而且是非限制性的,本發(fā)明的范圍由所附權(quán)利要求而不是上述說明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化囊括在本發(fā)明內(nèi)。
此外,應(yīng)當(dāng)理解,雖然本說明書按照實(shí)施方式加以描述,但并非每個(gè)實(shí)施方式僅包含一個(gè)獨(dú)立的技術(shù)方案,說明書的這種敘述方式僅僅是為清楚起見,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)將說明書作為一個(gè)整體,各實(shí)施例中的技術(shù)方案也可以經(jīng)適當(dāng)組合,形成本領(lǐng)域技術(shù)人員可以理解的其他實(shí)施方式。