專利名稱:一種網(wǎng)絡(luò)數(shù)據(jù)解析方法與裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子信息領(lǐng)域,尤其涉及一種網(wǎng)絡(luò)數(shù)據(jù)解析方法與裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)的廣泛普及,使對網(wǎng)絡(luò)數(shù)據(jù)的應(yīng)用需求愈來愈大,這就特別需要一個能正確解析出其內(nèi)容并轉(zhuǎn)成統(tǒng)一格式的工具。這個工具的關(guān)鍵技術(shù)就在數(shù)據(jù)解析上。目前對網(wǎng)絡(luò)數(shù)據(jù)的解析技術(shù),特別是對半結(jié)構(gòu)化網(wǎng)頁格式的網(wǎng)絡(luò)數(shù)據(jù)的解析技術(shù),主要使用的方法是使用正則表達式匹配關(guān)鍵字提取相關(guān)內(nèi)容。但這種技術(shù)在實際應(yīng)用過程中存在一些不足的地方,由于該技術(shù)過分依賴于網(wǎng)頁中關(guān)鍵字及HTML(Hyper TextMark-up Language,超文本標記語言標簽),需要將整個網(wǎng)頁進行掃描,同時網(wǎng)頁的頁面改·動對現(xiàn)在規(guī)則影響較大。每次的網(wǎng)頁改動都需要開發(fā)人員去分析網(wǎng)頁,然后重寫編寫新的匹配規(guī)則,再測試,再發(fā)布使用,因此該方式造成解析效率低、不靈活、成本過高。在現(xiàn)有技術(shù)中,對網(wǎng)絡(luò)數(shù)據(jù)的解析技術(shù)存在解析效率低、成本過高的問題,對于該問題,目如尚未提出有效解決方案。
發(fā)明內(nèi)容
本發(fā)明的主要目的是提供一種網(wǎng)絡(luò)數(shù)據(jù)解析方法與裝置,以解決現(xiàn)有技術(shù)中網(wǎng)絡(luò)數(shù)據(jù)的解析技術(shù)存在解析效率低、成本過高的問題。為了實現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供了一種網(wǎng)絡(luò)數(shù)據(jù)解析方法。本發(fā)明的網(wǎng)絡(luò)數(shù)據(jù)解析方法包括根據(jù)網(wǎng)頁的XPATH(XML路徑語言)路徑中的網(wǎng)絡(luò)數(shù)據(jù)路徑與其對應(yīng)的關(guān)鍵字路徑的相對位置關(guān)系,生成該網(wǎng)頁中網(wǎng)絡(luò)數(shù)據(jù)的解析規(guī)則;對所要解析的網(wǎng)絡(luò)數(shù)據(jù)對應(yīng)的關(guān)鍵字進行匹配,查找到該關(guān)鍵字的當前路徑;根據(jù)解析規(guī)則和查找到的關(guān)鍵字的當前路徑,定位所要解析的網(wǎng)絡(luò)數(shù)據(jù)的位置;根據(jù)所定位的所要解析的網(wǎng)絡(luò)數(shù)據(jù)的位置提取出所要解析的網(wǎng)絡(luò)數(shù)據(jù)。進一步地,對所要解析的網(wǎng)絡(luò)數(shù)據(jù)對應(yīng)的關(guān)鍵字進行匹配之前還包括先匹配出所要解析的網(wǎng)絡(luò)數(shù)據(jù)所在的區(qū)域關(guān)鍵字;通過區(qū)域關(guān)鍵字找到所要解析的網(wǎng)絡(luò)數(shù)據(jù)所在的區(qū)塊。進一步地,對于所要解析的網(wǎng)絡(luò)數(shù)據(jù)所在節(jié)點包含關(guān)鍵字的解析業(yè)務(wù),解析出所要解析的網(wǎng)絡(luò)數(shù)據(jù)之前還包括根據(jù)所要解析的網(wǎng)絡(luò)數(shù)據(jù)在其所在節(jié)點中的位置和/或該網(wǎng)絡(luò)數(shù)據(jù)的內(nèi)容,制定所要解析的網(wǎng)絡(luò)數(shù)據(jù)的提取規(guī)則。進一步地,生成該網(wǎng)頁中網(wǎng)絡(luò)數(shù)據(jù)的解析規(guī)則之前還包括根據(jù)網(wǎng)頁中的DOM(DocumentObject Model,文檔對象模型)結(jié)構(gòu),生成該網(wǎng)頁的XPATH路徑。根據(jù)本發(fā)明的另一方面,提供了一種網(wǎng)絡(luò)數(shù)據(jù)解析裝置。本發(fā)明的網(wǎng)絡(luò)數(shù)據(jù)解析裝置包括解析規(guī)則生成模塊,用于根據(jù)網(wǎng)頁的XPATH路徑中的網(wǎng)絡(luò)數(shù)據(jù)路徑與其對應(yīng)的關(guān)鍵字路徑的相對位置關(guān)系,生成該網(wǎng)頁中網(wǎng)絡(luò)數(shù)據(jù)的解析規(guī)則;關(guān)鍵字匹配模塊,用于對所要解析的網(wǎng)絡(luò)數(shù)據(jù)對應(yīng)的關(guān)鍵字進行匹配,查找到該關(guān)鍵字的當前路徑;定位模塊,用于根據(jù)解析規(guī)則和查找到的關(guān)鍵字的當前路徑,定位所要解析的網(wǎng)絡(luò)數(shù)據(jù)的位置;提取模塊,用于根據(jù)所定位的所要解析的網(wǎng)絡(luò)數(shù)據(jù)的位置提取出所要解析的網(wǎng)絡(luò)數(shù)據(jù)。進一步地,裝置還包括區(qū)域匹配模塊,用于對所要解析的網(wǎng)絡(luò)數(shù)據(jù)對應(yīng)的關(guān)鍵字進行匹配之前,先匹配出所要解析的網(wǎng)絡(luò)數(shù)據(jù)所在的區(qū)域關(guān)鍵字;查找模塊,用于通過區(qū)域關(guān)鍵字找到所要解析的網(wǎng)絡(luò)數(shù)據(jù)所在的區(qū)塊。進一步地,裝置還包括提取規(guī)則制定模塊,用于對于所要解析的網(wǎng)絡(luò)數(shù)據(jù)所在節(jié)點包含關(guān)鍵字的解析業(yè)務(wù),解析出所要解析的網(wǎng)絡(luò)數(shù)據(jù)之前,根據(jù)所要解析的網(wǎng)絡(luò)數(shù)據(jù)在其所在節(jié)點中的位置和/或該網(wǎng)絡(luò)數(shù)據(jù)的內(nèi)容,制定所要解析的網(wǎng)絡(luò)數(shù)據(jù)的提取規(guī)則。進一步地,裝置還包括路徑生成模塊,用于根據(jù)網(wǎng)頁中的DOM結(jié)構(gòu),生成該網(wǎng)頁 的XPATH路徑。根據(jù)本發(fā)明的技術(shù)方案,通過設(shè)置解析項與其對應(yīng)的關(guān)鍵字的相對位置有關(guān)的解析規(guī)則,并且通過關(guān)鍵字匹配的方式定位關(guān)鍵字的當前動態(tài)路徑,大大提高了解析的效率,降低了人力和維護成本。
說明書附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中圖I是根據(jù)本發(fā)明實施例的網(wǎng)絡(luò)數(shù)據(jù)解析方法的主要步驟的流程圖;圖2是本發(fā)明實施例的網(wǎng)絡(luò)數(shù)據(jù)解析方法要解析的第一種網(wǎng)頁內(nèi)容的截圖;圖3是圖2的XPATH路徑截圖;圖4是本發(fā)明實施例的網(wǎng)絡(luò)數(shù)據(jù)解析方法要解析的第二種網(wǎng)頁內(nèi)容的截圖;圖5是本發(fā)明實施例的網(wǎng)絡(luò)數(shù)據(jù)解析方法要解析的第三種網(wǎng)頁內(nèi)容的截圖;圖6是對圖4中的網(wǎng)絡(luò)數(shù)據(jù)提取結(jié)果后的截圖;圖7是本發(fā)明實施例的網(wǎng)絡(luò)數(shù)據(jù)解析方法要解析的第四種網(wǎng)頁內(nèi)容的截圖;以及圖8是根據(jù)本發(fā)明實施例的網(wǎng)絡(luò)數(shù)據(jù)解析裝置的主要模塊的示意圖。
具體實施例方式需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。圖I是根據(jù)本發(fā)明實施例的網(wǎng)絡(luò)數(shù)據(jù)解析方法的主要步驟的流程圖。如圖I所示,本發(fā)明的網(wǎng)絡(luò)數(shù)據(jù)解析方法主要包括如下步驟步驟SlOl :根據(jù)網(wǎng)頁中的DOM結(jié)構(gòu),生成該網(wǎng)頁的XPATH路徑。對于該步驟,以圖2和圖3進行示例說明。圖2是本發(fā)明實施例的網(wǎng)絡(luò)數(shù)據(jù)解析方法要解析的第一種網(wǎng)頁內(nèi)容的截圖20。如圖2所示,該截圖20示出了的網(wǎng)頁內(nèi)容為半結(jié)構(gòu)化網(wǎng)頁格式的簡歷。該圖共包括以下基本概念區(qū)域節(jié)點即能代表一個區(qū)塊的節(jié)點,圖2中為第4,10行的信息“個人簡歷,企業(yè)
信息”。
關(guān)鍵節(jié)點即關(guān)鍵字節(jié)點,圖2中為第5,7,11,13行的信息“姓名,性別,企業(yè)名稱,規(guī)模100人以上”。內(nèi)容節(jié)點即要解析的項。圖2中為第6,8,12,13行的信息“張三,男,某某公司,規(guī)模100人以上”。圖3是圖2的XPATH路徑截圖30。該截圖30是基于分析圖2網(wǎng)頁中的DOM結(jié)構(gòu)即各節(jié)點生成的。步驟S103 :根據(jù)步驟SlOl中網(wǎng)頁的XPATH路徑中的網(wǎng)絡(luò)數(shù)據(jù)路徑與其對應(yīng)的關(guān)鍵字路徑的相對位置關(guān)系,生成該網(wǎng)頁中網(wǎng)絡(luò)數(shù)據(jù)的解析規(guī)則。在截圖30中,可以看出
姓名XPATH = /html [I] /body [I] /div [2]張三XPATH = /html [I]/body [I]/div [3]則解析項“姓名值”的解析規(guī)則是 姓名值XPATH的相對位置=姓名XPATH+向下加I通過上述方法同樣求得其他解析項的解析規(guī)則。由于該解析規(guī)則只與位置有關(guān),大大提高了解析的效率和準確性。步驟S105 :對所要解析的網(wǎng)絡(luò)數(shù)據(jù)對應(yīng)的關(guān)鍵字進行匹配,查找到該關(guān)鍵字的當i U路徑。因為要想提取解析項中的網(wǎng)絡(luò)數(shù)據(jù),就要找到該解析項的位置,而由步驟S103制定的解析規(guī)則可知,要找到解析項的位置,就要查找到解析項對應(yīng)的關(guān)鍵字的路徑。在實際操作過程中關(guān)鍵字的XPATH路徑不可能是不變的,會因為各種原因XPATH路徑不相同。但是關(guān)鍵字是不變的,可枚舉的。所以基于這個特性,我們可以使用關(guān)鍵字匹配找到“關(guān)鍵字”當前所在的XPATH路徑,該方法對網(wǎng)頁結(jié)構(gòu)變化的動態(tài)網(wǎng)頁更能體現(xiàn)其操作的靈活性。圖4是本發(fā)明實施例的網(wǎng)絡(luò)數(shù)據(jù)解析方法要解析的第二種網(wǎng)頁內(nèi)容的截圖40,截圖40示出了其為一動態(tài)網(wǎng)頁,該網(wǎng)頁結(jié)構(gòu)中第5行插入了廣告信息。這個時候此節(jié)點以下的所有節(jié)點的XPATH位置全部都變化了。若要查找截圖40中關(guān)鍵字“姓名”的路徑,就可以通過關(guān)鍵字匹配找到“姓名”當前的動態(tài)路徑為 /html [I]/body [I]/div [3]。 圖5是本發(fā)明實施例的網(wǎng)絡(luò)數(shù)據(jù)解析方法要解析的第三種網(wǎng)頁內(nèi)容的截圖50。截圖50示出了在同一個網(wǎng)頁內(nèi)出現(xiàn)了兩個相同的關(guān)鍵字,這是由于網(wǎng)頁內(nèi)容的多樣性,甚至往往會在同一個網(wǎng)頁內(nèi)出現(xiàn)多個相同的關(guān)鍵字,若通過步驟S105直接進行關(guān)鍵字匹配,就會查找到多個關(guān)鍵字路徑。因此,對于同一個網(wǎng)頁中出現(xiàn)多個相同的關(guān)鍵字的情況,就需要在步驟S105之前,先進行去干擾定位關(guān)鍵字。去干擾定位關(guān)鍵字包括以下步驟I)先匹配出所要解析的網(wǎng)絡(luò)數(shù)據(jù)所在的區(qū)域關(guān)鍵字;2)通過區(qū)域關(guān)鍵字找到所要解析的網(wǎng)絡(luò)數(shù)據(jù)所在的區(qū)塊。如截圖50中,若解析項對應(yīng)的關(guān)鍵字為15行中的“工作經(jīng)驗”,則使用XPATH路徑來區(qū)分真正的區(qū)域關(guān)鍵字
11 行工作經(jīng)驗/html [I]/body [I]/div [3]/div [5]15 行工作經(jīng)驗/html [I]/body [I]/div [4]/B [I]〈RegionNode SearchKey ="工作經(jīng)驗"XPath =,,B [I] #text,,>其中,RegionNode SearchKey代表真實參數(shù);XPATH參數(shù)就是對這個節(jié)點的約束;B[l]代表的就是工作經(jīng)驗這個節(jié)點的XPATH路徑里要包含B [I]代表后面的是一個文本。因此通過先匹配區(qū)域關(guān)鍵字,找到解析項所在的區(qū)塊,再在該區(qū)塊中進行步驟S105操作,則能更準確的查找到解析項所對應(yīng)的關(guān)鍵字的當前路徑,有效防止關(guān)鍵字干擾的問題。另外,XPATH參數(shù)同樣也適用于對關(guān)鍵節(jié)點的查找。步驟S107 :根據(jù)步驟S103制定的解析規(guī)則和步驟S105查找到的關(guān)鍵字的當前路 徑,定位所要解析的網(wǎng)絡(luò)數(shù)據(jù)的位置。在該步驟中,由于解析規(guī)則中解析項與其關(guān)鍵字之間存在相對位置關(guān)系,因此在得知關(guān)鍵字的當前路徑的情況下,根據(jù)其相對位置關(guān)系則就定位出解析項的路徑。步驟S109 :根據(jù)所定位的所要解析的網(wǎng)絡(luò)數(shù)據(jù)的位置提取出所要解析的網(wǎng)絡(luò)數(shù)據(jù)。圖6是對圖4中的網(wǎng)絡(luò)數(shù)據(jù)提取結(jié)果后的截圖60,截圖60中示出了提取了網(wǎng)絡(luò)數(shù)據(jù)“張三”、“男”及“某某公司”。圖7是本發(fā)明實施例的網(wǎng)絡(luò)數(shù)據(jù)解析方法要解析的第四種網(wǎng)頁內(nèi)容的截圖70。截圖70示出了第14行的內(nèi)容節(jié)點包含關(guān)鍵字“規(guī)模”,若根據(jù)步驟S107定位的路徑,直接對網(wǎng)絡(luò)數(shù)據(jù)進行提取則會出現(xiàn)錯誤。因此,對于所要解析的網(wǎng)絡(luò)數(shù)據(jù)所在節(jié)點包含關(guān)鍵字的情況,就需要在步驟S109之前,先根據(jù)所要解析的網(wǎng)絡(luò)數(shù)據(jù)在其所在節(jié)點中的位置和/或該網(wǎng)絡(luò)數(shù)據(jù)的內(nèi)容,制定所要解析的網(wǎng)絡(luò)數(shù)據(jù)的提取規(guī)則。提取規(guī)則是一套自定義的規(guī)則引擎,可根據(jù)業(yè)務(wù)的情況自己擴充。以下只簡單介紹一個 SplitExtractor 提取器。以截圖70為例對提取規(guī)則進行詳細的闡述〈RegionNode SearchKey ="企業(yè)信息">〈KeyNode SearchKey ="規(guī)模">〈ContentNode Comment ="企業(yè)規(guī)模解析"ParentNodeNum = " O "NextSiblingNum = " O "PrevSiblingNum = " O "ExtractorType = " SplitExtractor "ExpressionText = " : ,,2 " />其中,RegionNode代表區(qū)域節(jié)點;KeyNode代表關(guān)鍵節(jié)點;SearchKey代表搜索的關(guān)鍵字;ContentNode代表內(nèi)容節(jié)點;ParentNodeNum代表當前內(nèi)容節(jié)點與關(guān)鍵節(jié)點公共父級節(jié)點的距離;NextSiblingNum代表當前內(nèi)容節(jié)點在關(guān)鍵節(jié)點以下的距離;PrevSiblingNum代表當前內(nèi)容節(jié)點在關(guān)鍵節(jié)點以上的距離;ExtractorType代表要使用的提取器;SplitExtractor代表切分提取器;ExpressionText代表提取器的規(guī)則。
其中,“ ,,2”就是提取規(guī)則了,代表使用“”號切分后提取第2部分內(nèi)容,即在截圖70中提取第14行解析項“100以上”的提取規(guī)則是使用“”號切分后提取第2部分內(nèi)容。該提取規(guī)則的制定方法,同樣適用于其他內(nèi)容節(jié)點包含關(guān)鍵字的情況,還適用于內(nèi)容節(jié)點中包含多個內(nèi)容的情況。因此提取規(guī)則的制定,使得本發(fā)明的網(wǎng)絡(luò)數(shù)據(jù)解析方法可以解析更加復(fù)雜的網(wǎng)頁格式中的網(wǎng)絡(luò)數(shù)據(jù),方便靈活、可擴展性強。
本發(fā)明的網(wǎng)絡(luò)數(shù)據(jù)解析方法,由于設(shè)置解析項與其對應(yīng)的關(guān)鍵字的相對位置有關(guān)的解析規(guī)則,并且通過關(guān)鍵字匹配的方式定位關(guān)鍵字的當前動態(tài)路徑,與傳統(tǒng)的使用正則表達式匹配關(guān)鍵字的網(wǎng)路數(shù)據(jù)解析方式相比,大大提高了解析的效率和準確性,現(xiàn)通過以下方式對比進行詳細說明;A技術(shù)代表現(xiàn)有“正則表達式”的解析技術(shù)。A技術(shù)每次解析都需要將整個網(wǎng)頁進行掃描。A技術(shù)解析一組數(shù)據(jù)所花的時間為
NTA= 7; =Ts* N其中,Ts代表A技術(shù)解析一項數(shù)據(jù)所花的平均時間#代表要解析的項目數(shù)量;B技術(shù)代表本發(fā)明的解析技術(shù)。B技術(shù)首先會生成動態(tài)XPATH路徑,然后通過XPATH與解析規(guī)則提取數(shù)據(jù)。B技術(shù)解析一組數(shù)據(jù)所花的時間為TB = Tm*N+T0其中,TO代表B技術(shù)生成動態(tài)XPATH路徑的時間;Tm代表B技術(shù)通過XPATH與解析規(guī)則提取數(shù)據(jù)的時間。基于實現(xiàn)原理,TO ^ Ts,所以TB/TA= (Tm*N+T0) / (Ts*N) ^ (Tm*N+Ts) / (Ts*N)= Tm/Ts+l/N在Tm遠小于Ts的情況下,B技術(shù)解析一組數(shù)據(jù)花費的時間約為A技術(shù)的1/N。通過實際數(shù)據(jù)進一步驗證A技術(shù)解析方案和B技術(shù)解析方案的效率差異。 I)使用A技術(shù)提取25個數(shù)據(jù)用時800 900毫秒;2)使用B技術(shù)提取80個數(shù)據(jù)用時15 17毫秒。以上充分說明了本發(fā)明的網(wǎng)絡(luò)數(shù)據(jù)解析方法具有較高的解析效率。本發(fā)明的網(wǎng)絡(luò)數(shù)據(jù)解析方法,在降低成本方面的優(yōu)越性主要體現(xiàn)在以下幾點,a)在輔助工具的幫助下非開發(fā)人員也能制作解析規(guī)則,減少對專業(yè)人員的依賴,降低人力成本;b)如果被解析的網(wǎng)站網(wǎng)頁進行了修改,我們也可以利用智能反解析技術(shù)來動態(tài)生成新的解析規(guī)則,對新版的網(wǎng)頁解析迅速做出規(guī)則調(diào)整,減少維護成本并做到快速響應(yīng)。本發(fā)明的網(wǎng)絡(luò)數(shù)據(jù)解析方法,通過設(shè)置解析項與其對應(yīng)的關(guān)鍵字的相對位置有關(guān)的解析規(guī)則,并且通過關(guān)鍵字匹配的方式定位關(guān)鍵字的當前動態(tài)路徑,大大提高了解析的效率,降低了人力和維護成本,又通過去干擾定位關(guān)鍵字,有效防止的關(guān)鍵字干擾的問題,提高了解析的準確度,還通過制定提取規(guī)則,提高了解析技術(shù)的靈活性和可擴展性。本發(fā)明的網(wǎng)絡(luò)數(shù)據(jù)解析方法,還可以很方便的做到對解析項的準確率監(jiān)控,并及時發(fā)現(xiàn)各種新樣式網(wǎng)頁格式,從而大大擴展了解析業(yè)務(wù)的能力。圖8是是根據(jù)本發(fā)明實施例的網(wǎng)絡(luò)數(shù)據(jù)解析裝置800的主要模塊的示意圖。如圖8所示,該裝置主要包括路徑生成模塊801,用于根據(jù)網(wǎng)頁中的DOM結(jié)構(gòu),生成該網(wǎng)頁的XPATH路徑。解析規(guī)則生成模塊803,用于根據(jù)網(wǎng)頁的XPATH路徑中的網(wǎng)絡(luò)數(shù)據(jù)路徑與其對應(yīng)的關(guān)鍵字路徑的相對位置關(guān)系,生成該網(wǎng)頁中網(wǎng)絡(luò)數(shù)據(jù)的解析規(guī)則。關(guān)鍵字匹配模塊805,用于對所要解析的網(wǎng)絡(luò)數(shù)據(jù)對應(yīng)的關(guān)鍵字進行匹配,查找到該關(guān)鍵字的當前路徑。 定位模塊807,用于根據(jù)解析規(guī)則和查找到的關(guān)鍵字的當前路徑,定位所要解析的網(wǎng)絡(luò)數(shù)據(jù)的位置。提取模塊809,用于根據(jù)所定位的所要解析的網(wǎng)絡(luò)數(shù)據(jù)的位置提取出所要解析的網(wǎng)絡(luò)數(shù)據(jù)。區(qū)域匹配模塊811,用于對所要解析的網(wǎng)絡(luò)數(shù)據(jù)對應(yīng)的關(guān)鍵字進行匹配之前,先匹配出所要解析的網(wǎng)絡(luò)數(shù)據(jù)所在的區(qū)域關(guān)鍵字。查找模塊813,用于通過區(qū)域關(guān)鍵字找到所要解析的網(wǎng)絡(luò)數(shù)據(jù)所在的區(qū)塊。提取規(guī)則制定模塊815,用于對于所要解析的網(wǎng)絡(luò)數(shù)據(jù)所在節(jié)點包含關(guān)鍵字的解析業(yè)務(wù),解析出所要解析的網(wǎng)絡(luò)數(shù)據(jù)之前,根據(jù)所要解析的網(wǎng)絡(luò)數(shù)據(jù)在其所在節(jié)點中的位置和/或該網(wǎng)絡(luò)數(shù)據(jù)的內(nèi)容,制定所要解析的網(wǎng)絡(luò)數(shù)據(jù)的提取規(guī)則。本發(fā)明的網(wǎng)絡(luò)數(shù)據(jù)解析裝置,通過設(shè)置解析規(guī)則生成模塊和關(guān)鍵字匹配模塊大大提高了解析的效率,降低了人力和維護成本,又通過設(shè)置區(qū)域匹配模塊和查找模塊有效防止的關(guān)鍵字干擾的問題,提高了解析的準確度,提取規(guī)則制定模塊的設(shè)置,則提高了解析技術(shù)的靈活性和可擴展性。從以上的描述中,可以看出,本發(fā)明的網(wǎng)絡(luò)數(shù)據(jù)解析方法與裝置通過設(shè)置解析項與其對應(yīng)的關(guān)鍵字的相對位置有關(guān)的解析規(guī)則,并且通過關(guān)鍵字匹配的方式定位關(guān)鍵字的當前動態(tài)路徑,大大提高了解析的效率,降低了人力和維護成本。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種網(wǎng)絡(luò)數(shù)據(jù)解析方法,其特征在于,包括 根據(jù)網(wǎng)頁的XPATH路徑中的網(wǎng)絡(luò)數(shù)據(jù)路徑與其對應(yīng)的關(guān)鍵字路徑的相對位置關(guān)系,生成該網(wǎng)頁中網(wǎng)絡(luò)數(shù)據(jù)的解析規(guī)則; 對所要解析的網(wǎng)絡(luò)數(shù)據(jù)對應(yīng)的關(guān)鍵字進行匹配,查找到該關(guān)鍵字的當前路徑; 根據(jù)所述解析規(guī)則和查找到的所述關(guān)鍵字的當前路徑,定位所述所要解析的網(wǎng)絡(luò)數(shù)據(jù)的位置; 根據(jù)所定位的所述所要解析的網(wǎng)絡(luò)數(shù)據(jù)的位置提取出所述所要解析的網(wǎng)絡(luò)數(shù)據(jù)。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述對所要解析的網(wǎng)絡(luò)數(shù)據(jù)對應(yīng)的關(guān)鍵字進行匹配之前還包括 先匹配出所述所要解析的網(wǎng)絡(luò)數(shù)據(jù)所在的區(qū)域關(guān)鍵字; 通過所述區(qū)域關(guān)鍵字找到所述所要解析的網(wǎng)絡(luò)數(shù)據(jù)所在的區(qū)塊。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,對于所述所要解析的網(wǎng)絡(luò)數(shù)據(jù)所在節(jié)點包含關(guān)鍵字的解析業(yè)務(wù),所述解析出所述所要解析的網(wǎng)絡(luò)數(shù)據(jù)之前還包括 根據(jù)所述所要解析的網(wǎng)絡(luò)數(shù)據(jù)在其所在節(jié)點中的位置和/或該網(wǎng)絡(luò)數(shù)據(jù)的內(nèi)容,制定所述所要解析的網(wǎng)絡(luò)數(shù)據(jù)的提取規(guī)則。
4.根據(jù)權(quán)利要求I至3中任一項所述的方法,其特征在于,所述生成該網(wǎng)頁中網(wǎng)絡(luò)數(shù)據(jù)的解析規(guī)則之前還包括 根據(jù)所述網(wǎng)頁中的DOM結(jié)構(gòu),生成該網(wǎng)頁的XPATH路徑。
5.一種網(wǎng)絡(luò)數(shù)據(jù)解析裝置,其特征在于,包括 解析規(guī)則生成模塊,用于根據(jù)網(wǎng)頁的XPATH路徑中的網(wǎng)絡(luò)數(shù)據(jù)路徑與其對應(yīng)的關(guān)鍵字路徑的相對位置關(guān)系,生成該網(wǎng)頁中網(wǎng)絡(luò)數(shù)據(jù)的解析規(guī)則; 關(guān)鍵字匹配模塊,用于對所要解析的網(wǎng)絡(luò)數(shù)據(jù)對應(yīng)的關(guān)鍵字進行匹配,查找到該關(guān)鍵字的當如路徑; 定位模塊,用于根據(jù)所述解析規(guī)則和查找到的所述關(guān)鍵字的當前路徑,定位所述所要解析的網(wǎng)絡(luò)數(shù)據(jù)的位置; 提取模塊,用于根據(jù)所定位的所述所要解析的網(wǎng)絡(luò)數(shù)據(jù)的位置提取出所述所要解析的網(wǎng)絡(luò)數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述裝置還包括 區(qū)域匹配模塊,用于對所要解析的網(wǎng)絡(luò)數(shù)據(jù)對應(yīng)的關(guān)鍵字進行匹配之前,先匹配出所述所要解析的網(wǎng)絡(luò)數(shù)據(jù)所在的區(qū)域關(guān)鍵字; 查找模塊,用于通過所述區(qū)域關(guān)鍵字找到所述所要解析的網(wǎng)絡(luò)數(shù)據(jù)所在的區(qū)塊。
7.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述裝置還包括 提取規(guī)則制定模塊,用于對于所述所要解析的網(wǎng)絡(luò)數(shù)據(jù)所在節(jié)點包含關(guān)鍵字的解析業(yè)務(wù),所述解析出所要解析的網(wǎng)絡(luò)數(shù)據(jù)之前,根據(jù)所述所要解析的網(wǎng)絡(luò)數(shù)據(jù)在其所在節(jié)點中的位置和/或該網(wǎng)絡(luò)數(shù)據(jù)的內(nèi)容,制定所述所要解析的網(wǎng)絡(luò)數(shù)據(jù)的提取規(guī)則。
8.根據(jù)權(quán)利要求5至7中任一項所述的裝置,其特征在于,所述裝置還包括 路徑生成模塊,用于根據(jù)所述網(wǎng)頁中的DOM結(jié)構(gòu),生成該網(wǎng)頁的XPATH路徑。
全文摘要
本發(fā)明提供了一種網(wǎng)絡(luò)數(shù)據(jù)解析方法與裝置,用以解決現(xiàn)有技術(shù)中網(wǎng)絡(luò)數(shù)據(jù)的解析技術(shù)存在解析效率低、成本過高的問題。該方法包括根據(jù)網(wǎng)頁的XPATH路徑中的網(wǎng)絡(luò)數(shù)據(jù)路徑與其對應(yīng)的關(guān)鍵字路徑的相對位置關(guān)系,生成該網(wǎng)頁中網(wǎng)絡(luò)數(shù)據(jù)的解析規(guī)則;對所要解析的網(wǎng)絡(luò)數(shù)據(jù)對應(yīng)的關(guān)鍵字進行匹配,查找到該關(guān)鍵字的當前路徑;根據(jù)解析規(guī)則和查找到的關(guān)鍵字的當前路徑,定位所要解析的網(wǎng)絡(luò)數(shù)據(jù)的位置;根據(jù)所定位的所要解析的網(wǎng)絡(luò)數(shù)據(jù)的位置提取出所要解析的網(wǎng)絡(luò)數(shù)據(jù)。采用本發(fā)明的技術(shù)方案,有助于提高網(wǎng)絡(luò)數(shù)據(jù)解析的效率和降低成本。
文檔編號G06F17/30GK102902723SQ20121032570
公開日2013年1月30日 申請日期2012年9月6日 優(yōu)先權(quán)日2012年9月6日
發(fā)明者武偉, 劉生權(quán) 申請人:北京北森測評技術(shù)有限公司