本發(fā)明屬于計算機網絡技術領域,特別是涉及一種基于內嵌瀏覽器的可視化網絡爬蟲系統(tǒng)及分析方法。
背景技術:
網絡爬蟲是一種高效的信息抓取工具,它集成了搜索引擎技術,并通過技術手段進行優(yōu)化,用以從互聯(lián)網搜索、抓取并保存任何通過html超文本標記語言進行標準化的網頁信息。網絡爬蟲分為通用網絡爬蟲如谷歌、百度瀏覽器和主題網絡爬蟲等。由于通用網絡爬蟲的檢索效果不理想,準確率和召回率都很低,所以主題網絡爬蟲逐漸成為專業(yè)用戶及研究人員的首選。主題網絡爬蟲主要采用最佳優(yōu)先抓取策略,即按照一定的網頁評價算法,計算網頁與主題的相關性,選取“價值”最高的網頁中的鏈接進行抓取。但是主題網絡爬蟲存在一定的問題和缺陷,如當前的網頁評價算法不完善,配置復雜,爬取效率低等。
另外,網頁元素xpath獲取需要一些組件或瀏覽器的輔助,以google瀏覽器為例,具體方法為:打開chrome→輸入網址→右擊感興趣的元素→點擊“檢查”→右擊開發(fā)者頁面對應元素→點擊“copy”→點擊“copyxpath”,完成網頁元素xpath獲取任務。很明顯這一過程過于繁瑣,若元素數量多,則會耗費大量精力。
目前,國內外與可視化爬蟲配置相關的文獻少之又少,而已有的成熟的可視化網絡爬蟲不多且各有各的缺陷。比如八爪魚采集器,其配置步驟雖然少,但是配置過程復雜,層次不清晰。它以分頁頁面為起點,直接對詳細頁面進行配置,各種界面操作沒有進行分類,而是一次性讓用戶選擇,這對于普通用戶而言難度過大。
綜上,當前市場上的爬蟲存在的缺陷有:1、配置復雜;2、爬取效率低;3、xpath獲取步驟繁瑣;4、可視化程度低。
技術實現要素:
本發(fā)明致力于解決現有爬蟲配置難、操作復雜及效率低的問題。
為達到上述目的,本發(fā)明通過以下技術方案實現:
一種基于內嵌瀏覽器的可視化網絡爬蟲系統(tǒng),其特征在于,包括:
頁面查看模式:包括瀏覽器模式、html元素樹形結構模式、腳本頁面模式和html源代碼模式;
頁面元素選擇:包括單選頁面元素、多選頁面元素和網頁元素相似選擇
爬蟲結構樹:包括分支頁面、分頁頁面和詳細頁面;配置分支頁面是利用所述的頁面元素選擇,將某類元素提取到分支列表,加入所述的爬蟲結構樹。
在上述的基于內嵌瀏覽器的可視化網絡爬蟲系統(tǒng),所述的單選頁面元素是通過單擊頁面元素獲取其xpath;所述的多選頁面元素是通過按住ctrl鍵同時多次單擊頁面元素獲取多個元素的xpath;所述的網頁元素相似選擇是通過按住shift鍵同時多次單擊頁面元素獲取相似元素的xpath。
在上述的基于內嵌瀏覽器的可視化網絡爬蟲系統(tǒng),所述的分頁頁面包括:列表同類鏈接信息和分頁信息。
在上述的基于內嵌瀏覽器的可視化網絡爬蟲系統(tǒng),所述的列表同類鏈接信息是利用所述的網頁元素相似選擇,點擊兩個鏈接,自動進行相似提取和智能計算,提取包括列表父節(jié)點xpath、單項item節(jié)點xpath列表、超鏈接節(jié)點xpath和鏈接相對item的相對xpath。
在上述的基于內嵌瀏覽器的可視化網絡爬蟲系統(tǒng),所述的分頁信息是利用所述的單選頁面元素,點擊分頁頁面中的首尾頁鏈接,提取首尾頁的xpath和鏈接信息,進行智能比較算法,算出網址的格式化信息和首尾頁數值索引。
在上述的基于內嵌瀏覽器的可視化網絡爬蟲系統(tǒng),配置所述的詳細頁面是利用所述的單選頁面元素,提取元素xpath,綁定數據庫,為對應字段賦值。
一種基于內嵌瀏覽器的可視化網絡爬蟲分析方法,其特征在于,包括:
步驟1:分析待爬網站的層次結構,輸入首頁網址;
步驟2:根據網站的結構,選擇對應的配置方式:
配置方式一:若是配置同類元素,且有下級鏈接,則選用分支頁面,選擇一種單選、多選或相似選擇的方式,提取分支列表;
配置方式二:若是配置分頁信息和列表同類鏈接信息,則選用分頁頁面,使用相似選擇的方式,點擊分頁頁面的首尾頁鏈接,通過智能比較算法,算出網址的格式化信息和首尾頁數值索引;
配置方式三:若是配置最底層的頁面,則選用詳細頁面,通過單選元素的方式,提取每一個感興趣的頁面元素的xpath,綁定數據庫,選擇對應的表信息,為字段賦值,完善表信息;
步驟3:根據配置好的爬蟲方案樹,程序自動按照所有分支下的詳細頁面內各個元素的xpath獲取(下載)元素的文本,并存入與之關聯(lián)的數據庫內,最終完成數據采集任務。
本發(fā)明的主要內容分為兩部分,一為在軟件內部實現可視化操作,二為實現通用網絡爬蟲結構,即映射部分。在軟件的內嵌瀏覽器組件直接輸入目標網址,采用網頁頁面、元素結構樹、腳本頁面、網頁源代碼四種模式中查看網頁信息。在瀏覽器模式下利用三種方式進行頁面元素選擇,依次完成分支、分頁、頁面配置,最終構造出爬蟲方案的結構樹,實現可視化爬蟲配置,此為關鍵技術。
可視化通用爬蟲的頁面查看分為四種模式:瀏覽器模式,html元素樹形結構模式,腳本頁面模式和html源代碼模式。而基于瀏覽器還可以實現頁面元素的選擇,點擊頁面元素,查詢到要素文本、鏈接和xpath信息,其中包括有單選頁面元素在頁面元素中單擊、多選頁面元素按住ctrl鍵,多次點擊頁面元素上和網頁元素相似選擇按住shift鍵,多次點擊頁面元素。
在內嵌瀏覽器組件中實現可視化操作為該專利技術的前提,而關鍵技術為映射部分,也就是通用網絡爬蟲結構,也就是根據常用的網頁信息所采用的的鏈接跳轉、分頁/列表顯示、詳細信息展示這幾類頁面設計基于分支、分頁、詳細三類逐級遞進的頁面組合爬蟲方案。
分支頁面,第一級分支為城市列表,通過頁面元素選擇上文中提到的單選,多選,相似搜索,提取分支列表,加入爬蟲方案。分頁頁面,分頁信息中包含列表同類鏈接信息和分頁信息。列表同類鏈接信息使用網頁元素相似選擇,點擊兩個鏈接,軟件自動進行相似提取和智能計算,提取包括列表父節(jié)點xpath,單項item節(jié)點xpath列表,超鏈接節(jié)點xpath,鏈接相對item的相對xpath。而分頁信息通過單選元素,點擊分頁頁面中的首尾頁鏈接,提取首尾頁的xpath和鏈接信息,進行智能比較算法,算出網址的格式化信息和首尾頁數值索引。詳細頁面,詳細信息頁面主要為點擊頁面元素單選元素方式,提取元素xpath,通過綁定數據庫,選擇頁面對應表信息,為對應字段賦值,完善表信息。
通過分支、分頁、詳細三類逐級遞進的頁面組合爬蟲方案,能夠完成大部分網頁的信息提取,因此也就能夠生成一個爬蟲方案元素結構樹。
本發(fā)明具有以下幾個優(yōu)點:1、將載體、操作和層次區(qū)分開,功能性強;2、配置一個頁面即可自動完成同類頁面的配置,自動化程度高;3、理論上可適用于任何主題,適用性廣;4、相對于主題網絡爬蟲而言,配置速度快且簡單,實操性強;5、無需編程思想,已提前制定好方案模板,只需輸入搜索網址套用模板即可完成爬蟲任務。使用本發(fā)明可以達到的效果是:可視化快速配置、配置可復用、爬取速度快且爬取范圍限定在配置范圍內,切合主題。
附圖說明
圖1為本發(fā)明中一線城市分支列表示意圖。
圖2為本發(fā)明中詳細頁面配置示意圖。
圖3為本發(fā)明中爬蟲結構樹示意圖。
圖4為本發(fā)明中瀏覽器模式示意圖。
圖5為本發(fā)明中html元素樹形結構模式示意圖。
圖6為本發(fā)明中腳本頁面模式示意圖。
圖7為本發(fā)明中html源代碼模式示意圖。
具體實施方法
本發(fā)明專利通過內嵌瀏覽器,經過直觀簡單的操作即可完成爬蟲配置問題,省去繁瑣的人工查詢以及編寫規(guī)則的過程,配置過程無需重復操作。同時,本發(fā)明爬蟲爬取范圍限定在配置范圍內,保證爬取的信息準確、精確。
以兩個示例展示具體實施方案,第一個是以房價為主題,第二個以電影為主題,我們依次用本發(fā)明詳細介紹爬蟲方案樹配置流程,并爬取有關這兩個主題的網頁。
1、以房價為主題,搜房網http://fang.com/soufunfamily.htm為入口進行說明。
分析搜房網的結構,可以按照分支、分頁和詳細頁面的方案樹進行配置。首先點擊“分支”,用相似選擇shift+多次單擊提取一線城市分支列表,加入爬蟲方案如圖1;然后用相同的方法依次提取小區(qū)、二手房和出租房分支列表,加入爬蟲方案;然后點擊“分頁”,選擇小區(qū)頁面,通過單選元素單擊,點擊頁面的首尾頁鏈接,提取首尾頁的xpath和鏈接信息,通過智能比較算法算出網址的格式化信息和首尾頁數值索引,提取分頁信息;選擇二手房和出租房頁面,使用網頁元素相似選擇shift+多次點擊,點擊兩個以上房源,提取列表同類鏈接信息;最后點擊“詳情”,通過單選元素單擊,點擊小區(qū)頁面、二手房和出租房房源頁面中感興趣的元素綁定數據庫,為對應字段賦值如圖2,完成整個爬蟲方案樹的配置如圖3。
2、以電影為主題,電影網http://www.1905.com/mdb/film/list/year-2017為入口進行說明。
以2017年電影為對象,分析電影網的結構。首先點擊“分支”,通過單選元素單擊,點擊“中國”,再用相似選擇提取不同的電影類型,如按shift并同時點擊“愛情”、“懸疑”等元素,提取分支列表;然后任選一個類型進入下一個頁面,點擊“分頁”,點擊首尾頁鏈接,提取分頁信息;通過相似選擇,點擊兩部以上的電影,提取列表同類鏈接信息;最后任選一部電影進入詳細頁面,點擊“詳情”,通過單選元素,點擊片名、上映日期等元素,綁定數據庫并為字段賦值,完成爬蟲方案樹的配置。
根據配置好的爬蟲方案樹,程序自動按照所有分支下的詳細頁面內各個元素的xpath獲取下載元素的文本,并存入與之關聯(lián)的數據庫內,最終完成房價數據采集任務。