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

基于抽取模板可視化定制的Web數(shù)據(jù)抽取方法

文檔序號:6434883閱讀:218來源:國知局
專利名稱:基于抽取模板可視化定制的Web數(shù)據(jù)抽取方法
技術領域
本發(fā)明涉及一種涉及Web頁面的抽取,屬于計算機應用領域,尤其涉及一種基于抽取模板可視化定制的Web數(shù)據(jù)抽取方法。
背景技術
隨著互聯(lián)網(wǎng)技術的飛速發(fā)展,Web上的網(wǎng)站和網(wǎng)頁數(shù)量以爆炸性的趨勢增長,從而使Web成為一個巨大的、分布廣泛的數(shù)據(jù)源。文本、表格和多媒體文件如圖片、視頻等是 Web信息的主要表現(xiàn)形式,Web數(shù)據(jù)抽取即是按照一定的規(guī)則,從Web數(shù)據(jù)中抽取語義一致性的、結構化的數(shù)值知識,建立數(shù)值知識元庫,滿足用戶數(shù)據(jù)查詢、數(shù)據(jù)分析需求。為了自動化地將輸入的Web頁面轉化成結構化數(shù)據(jù),在數(shù)據(jù)抽取領域已經(jīng)展開了很多工作。Web數(shù)據(jù)抽取主要用于產(chǎn)生結構化數(shù)據(jù),這些結構化數(shù)據(jù)便于后續(xù)分析和挖掘處理。Web數(shù)據(jù)抽取對于眾多Web數(shù)據(jù)分析和挖掘應用具有至關重要的作用和意義。一個Web數(shù)據(jù)抽取任務在形式上可以定義為輸入和輸出。輸入可以是非結構化數(shù)據(jù),例如自由文本,也可以是在Web中普遍存在的半結構化文檔。由于存在以上技術上的要求,當前在Web頁面數(shù)據(jù)抽取方面,還存在以下不足之處1由于Web上數(shù)據(jù)的異構性和結構的缺失,導致面向分析和挖掘的Web數(shù)據(jù)應用, 例如市場情報分析等,需要花費大量的代價去處理不同格式的Web數(shù)據(jù)源。2—個Web數(shù)據(jù)抽取任務的輸出可以是一個具有多條記錄的關系表或者是具有復雜結構的數(shù)據(jù)對象。對于一些Web數(shù)據(jù)抽取任務,屬性可以缺失或者在一條記錄中某個屬性具有多個屬性值,另外,當Web頁面中的半結構化數(shù)據(jù)存在屬性順序不唯一或拼寫錯誤的時候,Web數(shù)據(jù)抽取任務將變得更加復雜和困難。

發(fā)明內容
本發(fā)明的目的就是為了解決上述問題,提供一種基于抽取模板可視化定制的Web 數(shù)據(jù)抽取方法,它具有可視化、友好的用戶交互能力優(yōu)點。為了實現(xiàn)上述目的,本發(fā)明采用如下技術方案一種基于抽取模板可視化定制的Web數(shù)據(jù)抽取方法,包括以下步驟A.模板頁面預處理。B.抽取模板可視化定制。C.頁面批量抽取頻率設置。D、頁面批量抽取。所述模板頁面預處理即模板頁面源代碼的轉換及展示通過分析模板頁面的 HTML源代碼,解析其DOM樹結構,并將其轉化為XML格式,并在用戶界面中展示;所述抽取模板可視化定制是指在用戶界面上提供拖拽選中功能,由用戶自行設定模板頁面上的屬性標簽和數(shù)據(jù)值與領域模型中屬性的對應關系,建立抽取模板;
所述頁面批量抽取頻率設置按每隔一段時間(如8小時)對爬取獲得的HTML頁面進行批量抽取一次;所述頁面批量抽取是指使用相應的抽取模板對爬取獲得的大量HTML頁面進行批量抽取,將其中的半結構化數(shù)據(jù)轉合成結構化數(shù)據(jù)保存至本地數(shù)據(jù)庫。所述步驟A中模板頁面源代碼的轉換及展示具體包括以下步驟Al.對提供的模板頁面進行HTML源代碼分析,轉化成符合XML規(guī)范的頁面文件。A2.對頁面分析其完整的文檔對象模型DOM結構,并展示在用戶界面。A3.對轉化后的頁面,在不破壞頁面原有結構的條件下,添加必要的Js控制代碼, 用以實現(xiàn)頁面標注。A4.將經(jīng)過以上步驟處理過的XML格式的頁面在用戶界面中展示出來提供給用戶進行模板可視化定制使用。所述步驟B中抽取模板可視化定制具體包括以下步驟Bi.用戶打開模板頁面之后,用鼠標拖選中要抽取的數(shù)據(jù)項,程序會根據(jù)用戶拖選出的數(shù)據(jù)項,分析這個數(shù)據(jù)項的XPATH路徑并記錄下來。B2.若該數(shù)據(jù)項在頁面中還有對應的頁面標簽,則將該數(shù)據(jù)標簽也拖選出,程序會記錄下該數(shù)據(jù)標簽的XPATH路徑和該標簽的文本內容,并與選出的數(shù)據(jù)項XPATH共同組合一條抽取規(guī)則。若該數(shù)據(jù)項沒有對應的數(shù)據(jù)標簽,則不用選擇。B3.用戶依據(jù)領域模型,為通過上述Bi、B2步后形成的抽取規(guī)則選擇一個屬性標簽,這個標簽是包含在事先已經(jīng)建立好的領域模型中,且符合這條抽取規(guī)則對應數(shù)據(jù)項語義,該屬性標簽標示這條抽取規(guī)則對應的數(shù)據(jù)項的語義,其本質為完成了頁面數(shù)據(jù)項對數(shù)據(jù)表中列的映射。B4.重復以上Bl至B3步,直到所有要抽取的數(shù)據(jù)被標注出來,將經(jīng)過以上步驟得到的抽取規(guī)則集合保存為一個頁面抽取模板。所述步驟C中頁面批量抽取具體包括以下步驟Cl.將當前要抽取的頁面轉化成規(guī)范的XML文件。C2.利用抽取模板中記錄的抽取規(guī)則,其本質為XPATH路徑,抽取出所需要的數(shù)據(jù)項。C3.根據(jù)每條抽取規(guī)則對應的數(shù)據(jù)標簽,將抽取出的數(shù)據(jù)項保存到數(shù)據(jù)庫表相應的列中。其中第C2步還可以細分成以下步驟C2-1.選擇一條還未使用過的抽取規(guī)則。C2-2.若這條抽取規(guī)則沒有記錄對應的頁面標簽信息,則根據(jù)數(shù)據(jù)項對應的 XPATH路徑直接讀取出對應的文本內容,并將這條抽取規(guī)則標記為已使用,轉到步驟C2-8。 若這條抽取規(guī)則有記錄對應的頁面標簽信息,轉到步驟C2-3。C2-3.根據(jù)該頁面標簽對應的XPATH路徑抽取出對應的文本。若抽取成功,轉到步驟C2-4。若抽取失敗,則說明在當前頁面中,該頁面標簽對應的數(shù)據(jù)項可能被缺省或移位, 轉到步驟C2-7。C2-4.將抽取出的文本與這條抽取規(guī)則中記錄的頁面標簽文本進行比對。若匹配, 根據(jù)抽取規(guī)則中記錄的數(shù)據(jù)項的XPATH,抽取出對應數(shù)據(jù),并將這條抽取規(guī)則標記為已使用,轉到步驟C2-8。若不匹配,則說明在當前頁面中,該頁面標簽對應的數(shù)據(jù)項可能被缺省或移位,則轉到步驟C2-5。C2-5.檢查該文本是否匹配某條未使用過的抽取規(guī)則中的頁面標簽。如果存在對應的抽取規(guī)則,則這個文本可能也是一個頁面標簽,轉到步驟C2-6,否則轉到步驟C2-7。C2-6.根據(jù)抽規(guī)則中記錄的頁面標簽與數(shù)據(jù)項的XPATH,計算出當這個文本為頁面標簽時,對應數(shù)據(jù)項的XPATH,并抽取相應數(shù)據(jù),若抽取出數(shù)據(jù)非空,則將對應的抽取規(guī)則標記為已使用,轉到步驟C2-7。C2-7.根據(jù)原有的頁面標簽的XPATH路徑在頁面中進行擴展搜索,尋找該頁面標簽。若最終沒有找到,則可能在當前頁中該標簽對應的數(shù)據(jù)項被缺省。若找到,則根據(jù)抽規(guī)則中記錄的頁面標簽與數(shù)據(jù)項的XPATH,計算出該頁面標簽對應數(shù)據(jù)項的XPATH,抽取相應數(shù)據(jù)。最后將原抽取規(guī)則標記為已使用,轉到步驟C2-8。C2-8.重復以上步驟,直到所有的抽取規(guī)則都被使用。步驟C2-3是為防止Web頁面中的半結構化數(shù)據(jù)存在屬性順序不唯一或拼寫錯誤的情況。通過一個擴展搜索保證不會出現(xiàn)數(shù)據(jù)丟失的情況。本發(fā)明的有益效果1、本發(fā)明針對每個數(shù)據(jù)源,采用可視化用戶定制方法,設計參數(shù)化、可配置的包裝器,使之具備可視化的、友好的用戶交互能力,對采集的大規(guī)模Web頁面依據(jù)包裝器實施自動抽取。2、由于Web頁面上的內容和結構經(jīng)常發(fā)生變化,導致已產(chǎn)生的抽取規(guī)則失效,對如何有效地提高Web數(shù)據(jù)抽取的自適應能力進行了研究,使之能夠根據(jù)目標網(wǎng)頁發(fā)生的變化自動做出調整,更新相應的抽取規(guī)則。3、本發(fā)明的數(shù)據(jù)抽取方法適用性強,精度高,能夠自適應網(wǎng)頁變化,可大大提高抽取效率。


圖1為基于抽取模板可視化定制的Web數(shù)據(jù)抽取方法流程;圖2為模板頁面預處理流程;圖3為頁面抽取模板可視化定制流程;圖4為頁面抽取總體流程;圖5為抽取過程細化流程;圖6為某網(wǎng)站詳細頁面作為模板頁示意圖;圖7為對網(wǎng)站的網(wǎng)頁進行抽取過程示意圖。
具體實施例方式下面結合附圖與實施例對本發(fā)明作進一步說明。圖1中,一種基于抽取模板可視化定制的Web數(shù)據(jù)抽取方法,它包括以下步驟A.模板頁面預處理;B.抽取模板可視化定制;C.對頁面批量抽取頻率進行設置;
D、頁面批量抽取。所述步驟A模板頁面預處理,即模板頁面源代碼的轉換及展示它通過分析內存程序中模板頁面的HTML源代碼,解析其DOM樹結構,并將其轉化為XML格式,并在顯示器的用戶界面中展示。所述步驟B抽取模板可視化定制是指在用戶界面上提供拖拽選中功能,由用戶自行設定模板頁面上的屬性標簽和數(shù)據(jù)值與領域模型中屬性的對應關系,建立抽取模板。所述步驟C頁面批量抽取頻率設置按每隔8小時對爬取獲得的HTML頁面進行批量抽取一次。所述步驟D頁面批量抽取是指使用相應的抽取模板對爬取獲得的大量HTML頁面進行批量抽取,將其中的半結構化數(shù)據(jù)轉合成結構化數(shù)據(jù)保存至本地數(shù)據(jù)庫。圖2中,所述步驟A中模板頁面源代碼的轉換及展示具體包括以下步驟Al.對提供的模板頁面進行HTML源代碼分析,轉化成符合XML規(guī)范的頁面文件;A2.對頁面分析其完整的DOM結構,并展示在用戶界面;A3.對轉化后的頁面,在滿足頁面原有結構的條件下,添加必要的Js控制代碼,用以實現(xiàn)頁面標注;A4.將經(jīng)過以上步驟處理過得XML格式的頁面在用戶界面中展示出來提供給用戶進行模板可視化定制使用。圖3中,所述步驟B中抽取模板可視化定制具體包括以下步驟Bi.用戶打開顯示器顯示的模板頁面之后,用鼠標拖選中要抽取的數(shù)據(jù)項,程序會根據(jù)用戶拖選出的數(shù)據(jù)項,分析這個數(shù)據(jù)項的XPATH路徑并記錄下來;B2.若該數(shù)據(jù)項在頁面中還有對應的頁面標簽,則將該數(shù)據(jù)標簽也拖選出,程序會記錄下該數(shù)據(jù)標簽的XPATH路徑和該標簽的文本內容,并與選出的數(shù)據(jù)項XPATH共同組合一條抽取規(guī)則;若該數(shù)據(jù)項沒有對應的數(shù)據(jù)標簽,則不用選擇;B3.用戶依據(jù)領域模型,為通過上述B2、B3步后形成的抽取規(guī)則選擇一個屬性標簽,這個標簽是包含在事先已經(jīng)建立好的領域模型中,且符合這條抽取規(guī)則對應數(shù)據(jù)項語義,該屬性標簽標示這條抽取規(guī)則對應的數(shù)據(jù)項的語義,其實質就是完成了頁面數(shù)據(jù)項對數(shù)據(jù)表中列的映射;B4.重復以上B2至B4步,直到所有要抽取的數(shù)據(jù)被標注出來,將經(jīng)過以上步驟得到的抽取規(guī)則集合保存為一個頁面抽取模板。圖4中,所述步驟C中抽取模板可視化定制具體包括以下步驟Cl.將當前要抽取的頁面轉化成規(guī)范的XML文件;C2.利用抽取模板中記錄的抽取規(guī)則,其本質就是XPATH路徑,抽取出所需要的數(shù)據(jù)項;C3.根據(jù)每條抽取規(guī)則對應的數(shù)據(jù)標簽,將抽取出的數(shù)據(jù)項保存到數(shù)據(jù)庫表相應的列中。圖5中,所述步驟C2具體包括以下步驟C2-1選擇一條還未使用過的抽取規(guī)則;C2-2若這條抽取規(guī)則沒有記錄對應的頁面標簽信息,則根據(jù)數(shù)據(jù)項對應的XPATH 路徑直接讀取出對應的文本內容,并將這條抽取規(guī)則標記為已使用,轉到步驟C2-8;若這條抽取規(guī)則有記錄對應的頁面標簽信息,轉到步驟C2-3 ;C2-3根據(jù)該頁面標簽對應的XPATH路徑抽取出對應的文本;若抽取成功,轉到步驟C2-4;若抽取失敗,則說明在當前頁面中,該頁面標簽對應的數(shù)據(jù)項存在被缺省或移位的情況,則轉到步驟C2-7;C2-4將抽取出的文本與這條抽取規(guī)則中記錄的頁面標簽文本進行比對;若匹配, 根據(jù)抽取規(guī)則中記錄的數(shù)據(jù)項的XPATH,抽取出對應數(shù)據(jù),并將這條抽取規(guī)則標記為已使用,轉到步驟C2-8;若不匹配,則說明在當前頁面中,該頁面標簽對應的數(shù)據(jù)項存在被缺省或移位的情況,則轉到步驟C2-5 ;C2-5檢查該文本是否匹配某條未使用過的抽取規(guī)則中的頁面標簽;如果存在對應的抽取規(guī)則,則這個文本將作為一個頁面標簽,轉到步驟C2-6,否則轉到步驟C2-7 ;C2-6根據(jù)抽規(guī)則中記錄的頁面標簽與數(shù)據(jù)項的XPATH,計算出當這個文本為頁面標簽時,對應數(shù)據(jù)項的XPATH,并抽取相應數(shù)據(jù),若抽取出數(shù)據(jù)非空,則將對應的抽取規(guī)則標記為已使用,轉到步驟C2-7 ;C2-7根據(jù)原有的頁面標簽的XPATH路徑在頁面中進行擴展搜索,尋找該頁面標簽;若最終沒有找到,則說明存在在當前頁中該標簽對應的數(shù)據(jù)項被缺省的情況;若找到,則根據(jù)抽規(guī)則中記錄的頁面標簽與數(shù)據(jù)項的XPATH,計算出該頁面標簽對應數(shù)據(jù)項的 XPATH,抽取相應數(shù)據(jù);最后將原抽取規(guī)則標記為已使用,轉到步驟C2-8 ;C2-8重復以上步驟,直到所有的抽取規(guī)則都被使用。所述步驟C2-3是為實現(xiàn)當Web頁面中的半結構化數(shù)據(jù)出現(xiàn)屬性順序不唯一或者拼寫錯誤的情況,通過一個擴展搜索保證不會出現(xiàn)數(shù)據(jù)丟失的情況。本發(fā)明的另一個實施實例,我們選擇采用某網(wǎng)站作為數(shù)據(jù)源。詳細頁面作為模板頁,用于定制模板,頁面主要數(shù)據(jù)區(qū)域截圖如附圖6。假設用戶手工標注的要抽取的數(shù)據(jù)如圖中被矩形框包圍的部分。則我們可以獲得以下10條抽取規(guī)則1.數(shù)據(jù)標簽職位名稱;頁面標簽空;數(shù)據(jù)項XPATH :/HTML/B0DY[l]/DIV[2]/DIV[l]/DIV[2]/TABLE[3]/TB0DY[l]/ TR[3]/TD [2];2.數(shù)據(jù)標簽招聘公司;頁面標簽空;數(shù)據(jù)項XPAHT :/HTML/B0DY[l]/DIV[2]/DIV[l]/DIV[2]/TABLE[l]/TB0DY[l]/ TR [2]/TD [ 1]/TABLE[1]/TBODY[1]/TR[1]/TD[1]/STRONG[1]3.數(shù)據(jù)標簽發(fā)布日期;頁面標簽發(fā)布日期;頁面標簽XPATH /HTML/BODY[1] /DIV[2] /DIV[1] /DIV[2] /TABLE [3] /TBODY[1] / TR[1]/TD[1]數(shù)據(jù)項XPATH :/HTML/B0DY[l]/DIV[2]/DIV[l]/DIV[2]/TABLE[3]/TB0DY[l]/ TR[1]/TD[2]4.數(shù)據(jù)標簽工作地點;
頁面標簽工作地點;
頁面標簽XPATH /HTML/7BODYtl]/DIV[2],/DIV[1]//DIVD],/TABLE[3]/TB0DY[1]/TR[1]/TD [3]
數(shù)據(jù)項 XPATH /HTML/7BODYtl]/DIV[2],/DIV[1]//DIVD],/TABLE[3]/TB0DY[1]/TR[1]/TD[4]
5.數(shù)據(jù)標簽招聘人數(shù);
頁面標簽招聘人數(shù);
頁面標簽XPATH /HTML/7BODYtl]/DIV[2],/DIV[1]//DIVD],/TABLE[3]/TB0DY[1]/TR[1]/TD [5]
數(shù)據(jù)項 XPATH /HTML/7BODYtl]/DIV[2],/DIV[1]//DIVD],/TABLE[3]/TB0DY[1]/TR[1]/TD[6]
6.數(shù)據(jù)標簽工作經(jīng)驗;
頁面標簽工作年限;
頁面標簽XPATH /HTML/7BODYtl]/DIV[2],/DIV[1]//DIVD],/TABLE[3]/TB0DY[1]/TR[2]/TD [1]
數(shù)據(jù)項 XPATH /HTML/7BODYtl]/DIV[2],/DIV[1]//DIVD],/TABLE[3]/TB0DY[1]/TR[2]/TD [2]
7.數(shù)據(jù)標簽語言要求;
頁面標簽語言要求;
頁面標簽XPATH /HTML/7BODYtl]/DIV[2],/DIV[1]//DIVD],/TABLE[3]/TB0DY[1]/TR[2]/TD [3]
數(shù)據(jù)項 XPATH /HTML/7BODYtl]/DIV[2],/DIV[1]//DIVD],/TABLE[3]/TB0DY[1]/TR[2]/TD[4]
8.數(shù)據(jù)標簽學歷;
頁面標簽學歷要求;
頁面標簽XPATH /HTML/7BODYtl]/DIV[2],/DIV[1]//DIVD],/TABLE[3]/TB0DY[1]/TR[2]/TD [5]
數(shù)據(jù)項 XPATH /HTML/7BODYtl]/DIV[2],/DIV[1]//DIVD],/TABLE[3]/TB0DY[1]/TR[2]/TD[6]
9.數(shù)據(jù)標簽薪金水平;
頁面標簽薪水范圍;
頁面標簽XPATH /HTML/7BODYtl]/DIV[2],/DIV[1]//DIVD],/TABLE[3]/TB0DY[1]/TR[2]/TD [5]
數(shù)據(jù)項 XPATH /HTML/7BODYtl]/DIV[2],/DIV[1]//DIVD],/TABLE[3]/TB0DY[1]/TR[2]/TD[6]
禾Ij用這9條抽取規(guī)則構成的抽取模板,我們可以對來源于該網(wǎng)站的同類網(wǎng)頁進行批量。
假設我們對同一網(wǎng)站的網(wǎng)頁(附圖7)進行抽取
我們可以發(fā)現(xiàn)這頁中缺少我們要抽取的2個數(shù)據(jù)項語言要求和薪金水平。其中通過頁面代碼分析我們可以發(fā)現(xiàn)1 6條抽取規(guī)則然后有效可以直接利用。當我們使用第 7條抽取規(guī)則“語言要求”時,我們會發(fā)現(xiàn)當前頁相應標簽XPATH位置上的文本是學歷,和抽取規(guī)則中記錄的語言要求不符,但是學歷這個頁面標簽在抽取規(guī)則8中存在,因此將學歷后的數(shù)據(jù)項“大?!背槿〕鰜恚⒃陧撁嬷懈鶖U展搜索“語言要求”這個頁面標簽,由于頁面中不存在該標簽,因此搜索不到。這樣雖然被抽取頁面結構與創(chuàng)建模板的結構有所不同,但是頁面上的數(shù)據(jù)依然會被正確的識別并抽取出來。 上述雖然結合附圖對本發(fā)明的具體實施方式
進行了描述,但并非對本發(fā)明保護范圍的限制,所屬領域技術人員應該明白,在本發(fā)明的技術方案的基礎上,本領域技術人員不需要付出創(chuàng)造性勞動即可做出的各種修改或變形仍在本發(fā)明的保護范圍以內。
權利要求
1.一種基于抽取模板可視化定制的Web數(shù)據(jù)抽取方法,其特征是,它包括以下步驟A.模板頁面預處理;B.抽取模板可視化定制;C.對頁面批量抽取頻率進行設置;D.頁面批量抽取。
2.如權利要求書1所述的基于抽取模板可視化定制的Web數(shù)據(jù)抽取方法,其特征是,所述步驟A模板頁面預處理,即模板頁面源代碼的轉換及展示它通過分析內存程序中模板頁面的HTML源代碼,解析其DOM樹結構,并將其轉化為XML格式,并在顯示器的用戶界面中展不。
3.如權利要求書1所述的基于抽取模板可視化定制的Web數(shù)據(jù)抽取方法,其特征是,所述步驟B抽取模板可視化定制是指在用戶界面上提供拖拽選中功能,由用戶自行設定模板頁面上的屬性標簽和數(shù)據(jù)值與領域模型中屬性的對應關系,建立抽取模板。
4.如權利要求書1所述的基于抽取模板可視化定制的Web數(shù)據(jù)抽取方法,其特征是, 所述步驟C頁面批量抽取頻率設置按每隔8小時對爬取獲得的HTM L頁面進行批量抽取一次。
5.如權利要求書1所述的基于抽取模板可視化定制的Web數(shù)據(jù)抽取方法,其特征是,所述步驟D頁面批量抽取是指使用相應的抽取模板對爬取獲得的大量HTML頁面進行批量抽取,將其中的半結構化數(shù)據(jù)轉合成結構化數(shù)據(jù)保存至本地數(shù)據(jù)庫。
6.如權利要求書1或2所述的基于抽取模板可視化定制的Web數(shù)據(jù)抽取方法,其特征是,所述步驟A中模板頁面源代碼的轉換及展示具體包括以下步驟Al.對提供的模板頁面進行HTML源代碼分析,轉化成符合XML規(guī)范的頁面文件;A2.對頁面分析其完整的DOM結構,并展示在用戶界面;A3.對轉化后的頁面,在滿足頁面原有結構的條件下,添加必要的JS控制代碼,用以實現(xiàn)頁面標注;A4.將經(jīng)過以上步驟處理過得XML格式的頁面在用戶界面中展示出來提供給用戶進行模板可視化定制使用。
7.如權利要求書1或3所述的基于抽取模板可視化定制的Web數(shù)據(jù)抽取方法,其特征是,所述步驟B中抽取模板可視化定制具體包括以下步驟Bi.用戶打開顯示器顯示的模板頁面之后,用鼠標拖選中要抽取的數(shù)據(jù)項,程序會根據(jù)用戶拖選出的數(shù)據(jù)項,分析這個數(shù)據(jù)項的XPATH路徑并記錄下來;B2.若該數(shù)據(jù)項在頁面中還有對應的頁面標簽,則將該數(shù)據(jù)標簽也拖選出,程序會記錄下該數(shù)據(jù)標簽的XPATH路徑和該標簽的文本內容,并與選出的數(shù)據(jù)項XPATH共同組合一條抽取規(guī)則;若該數(shù)據(jù)項沒有對應的數(shù)據(jù)標簽,則不用選擇;B3.用戶依據(jù)領域模型,為通過上述B2、B3步后形成的抽取規(guī)則選擇一個屬性標簽,這個標簽是包含在事先已經(jīng)建立好的領域模型中,且符合這條抽取規(guī)則對應數(shù)據(jù)項語義,該屬性標簽標示這條抽取規(guī)則對應的數(shù)據(jù)項的語義,其實質就是完成了頁面數(shù)據(jù)項對數(shù)據(jù)表中列的映射;B4.重復以上B2至B4步,直到所有要抽取的數(shù)據(jù)被標注出來,將經(jīng)過以上步驟得到的抽取規(guī)則集合保存為一個頁面抽取模板。
8.如權利要求書1或4所述的基于抽取模板可視化定制的Web數(shù)據(jù)抽取方法,其特征是,所述步驟C中抽取模板可視化定制具體包括以下步驟Cl.將當前要抽取的頁面轉化成規(guī)范的XML文件;C2.利用抽取模板中記錄的抽取規(guī)則,其本質就是XPATH路徑,抽取出所需要的數(shù)據(jù)項;C3.根照每條抽取規(guī)則對應的數(shù)據(jù)標簽,將抽取出的數(shù)據(jù)項保存到數(shù)據(jù)庫表相應的列中。
9.如權利要求書8所述的基于抽取模板可視化定制的Web數(shù)據(jù)抽取方法,其特征是,所述步驟C2具體包括以下步驟C2-1選擇一條還未使用過的抽取規(guī)則;C2-2若這條抽取規(guī)則沒有記錄對應的頁面標簽信息,則根據(jù)數(shù)據(jù)項對應的XPATH路徑直接讀取出對應的文本內容,并將這條抽取規(guī)則標記為已使用,轉到步驟C2-8 ;若這條抽取規(guī)則有記錄對應的頁面標簽信息,轉到步驟C2-3 ;C2-3根據(jù)該頁面標簽對應的XPATH路徑抽取出對應的文本;若抽取成功,轉到步驟 C2-4;若抽取失敗,則說明在當前頁面中,該頁面標簽對應的數(shù)據(jù)項存在被缺省或移位的情況,則轉到步驟C2-7;C2-4將抽取出的文本與這條抽取規(guī)則中記錄的頁面標簽文本進行比對;若匹配,根據(jù)抽取規(guī)則中記錄的數(shù)據(jù)項的XPATH,抽取出對應數(shù)據(jù),并將這條抽取規(guī)則標記為已使用,轉到步驟C2-8 ;若不匹配,則說明在當前頁面中,該頁面標簽對應的數(shù)據(jù)項存在被缺省或移位的情況,則轉到步驟C2-5;C2-5檢查該文本是否匹配某條未使用過的抽取規(guī)則中的頁面標簽;如果存在對應的抽取規(guī)則,則這個文本將作為一個頁面標簽,轉到步驟C2-6,否則轉到步驟C2-7 ;C2-6根據(jù)抽規(guī)則中記錄的頁面標簽與數(shù)據(jù)項的XPATH,計算出當這個文本為頁面標簽時,對應數(shù)據(jù)項的XPATH,并抽取相應數(shù)據(jù),若抽取出數(shù)據(jù)非空,則將對應的抽取規(guī)則標記為已使用,轉到步驟C2-7;C2-7根據(jù)原有的頁面標簽的XPATH路徑在頁面中進行擴展搜索,尋找該頁面標簽;若最終沒有找到,則說明存在在當前頁中該標簽對應的數(shù)據(jù)項被缺省的情況;若找到,則根據(jù)抽規(guī)則中記錄的頁面標簽與數(shù)據(jù)項的XPATH,計算出該頁面標簽對應數(shù)據(jù)項的XPATH,抽取相應數(shù)據(jù);最后將原抽取規(guī)則標記為已使用,轉到步驟C2-8 ; C2-8重復以上步驟,直到所有的抽取規(guī)則都被使用。
10.如權利要求書9所述的基于抽取模板可視化定制的Web數(shù)據(jù)抽取方法,其特征是, 所述步驟C2-3是為實現(xiàn)當Web頁面中的半結構化數(shù)據(jù)出現(xiàn)屬性順序不唯一或者拼寫錯誤的情況,通過一個擴展搜索保證不會出現(xiàn)數(shù)據(jù)丟失的情況。
全文摘要
本發(fā)明公開了一種基于抽取模板可視化定制的Web數(shù)據(jù)抽取方法,它包括以下步驟A.模板頁面預處理;B.抽取模板可視化定制;C.對頁面批量抽取頻率進行設置;D.頁面批量抽取。所述步驟A模板頁面預處理,即模板頁面源代碼的轉換及展示;所述步驟B抽取模板可視化定制是指在用戶界面上提供拖拽選中功能,由用戶自行設定模板頁面上的屬性標簽和數(shù)據(jù)值與領域模型中屬性的對應關系,建立抽取模板。所述步驟C頁面批量抽取頻率設置按每隔8小時對爬取獲得的HTML頁面進行批量抽取一次。所述步驟D頁面批量抽取是指使用相應的抽取模板對爬取獲得的大量HTML頁面進行批量抽取,將其中的半結構化數(shù)據(jù)轉合成結構化數(shù)據(jù)保存至本地數(shù)據(jù)庫。
文檔編號G06F17/30GK102360368SQ20111030177
公開日2012年2月22日 申請日期2011年10月9日 優(yōu)先權日2011年10月9日
發(fā)明者彭朝暉, 李慶忠, 蔡益清, 閆中敏 申請人:山東大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
额尔古纳市| 徐闻县| 慈利县| 图木舒克市| 洱源县| 白河县| 正蓝旗| 蓬莱市| 清丰县| 苍梧县| 前郭尔| 道真| 阿坝| 饶阳县| 永寿县| 江门市| 云和县| 延安市| 齐河县| 马尔康县| 鸡西市| 平塘县| 棋牌| 黄骅市| 焦作市| 溆浦县| 定西市| 瑞丽市| 桐乡市| 海原县| 临颍县| 韩城市| 广宗县| 巴里| 许昌市| 阳江市| 台东市| 旬阳县| 宜春市| 芜湖市| 平昌县|