專利名稱:一種提取Web頁面中用戶所需Web信息的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互連網(wǎng),尤其涉及一種提取Web頁面中用戶所需Web信息的方法。
背景技術(shù):
超文本標(biāo)示語言(Hypertext Markup Language,HTML)是目前WWW上應(yīng)用的文本標(biāo)記語言。HTML通過一系列標(biāo)記使Web瀏覽器能結(jié)構(gòu)化顯示W(wǎng)eb頁面。
例如,以下一段HTML文本信息,在IE瀏覽器中顯示的效果如圖1所示。
在上述HTML文本中,<TR></TR>,<TD></TD>,<A></A>等符號,稱為HTML標(biāo)簽。另外,這段HTML文本的特征是,<TR></TR>標(biāo)簽之間的信息,標(biāo)示了圖1表中的第二行;每一個<TD></TD>之間的信息標(biāo)示了圖1表中的一個字段(Field);圖1中每一個字段顯示的信息都被一個“><”包含。
這些特征是上面的HTML文本呈現(xiàn)的特征,同時它也是多數(shù)以Table形式顯示的Web頁面的特征,具有普遍性。在一些頁面中,可能標(biāo)簽出現(xiàn)差異,但是都符合這個基本規(guī)律。
綜上所述,HTML文本具備以下基本特征1、HTML文本用標(biāo)簽標(biāo)示其顯示的形式;2、HTML文本在用標(biāo)簽標(biāo)示W(wǎng)eb信息時必須按照一定的語法規(guī)則;3、Table形式顯示的Web頁面,每一個<TR></TR>之間包含的信息用于顯示表的一行;4、Table形式顯示的Web頁面,每一個<TD></TD>之間的信息用于顯示表中一行內(nèi)容的一個字段;5、Table形式顯示的Web頁面,字段中顯示的內(nèi)容必然用一個“><”包含;6、HTML標(biāo)簽大小寫不敏感。
Web瀏覽器解析HTML標(biāo)記,并根據(jù)標(biāo)記指定的格式顯示W(wǎng)eb信息。HTML標(biāo)簽是一個字符集的超級,即一個關(guān)鍵字的集合,瀏覽器的不同版本支持不同版本的HTML。瀏覽器在解析HTML文本時,首要需要對HTML文本做語法解析,同時需要執(zhí)行HTML中的動態(tài)內(nèi)容,最后將格式化的Web信息顯示給用戶。
Web瀏覽器具有如下特點1、支持采用HTML書寫的靜態(tài)頁面;2、支持其他一些動態(tài)腳本語言,如JavaScript,動態(tài)HTML(DHTML)等;3、支持Web的Post和Get方法;4、支持動態(tài)Web技術(shù),如ASP、JSP、JaveBeans等等;5、對于HTML文本僅僅做語法解析,不做任何語義分析;6、僅僅是一個Web頁面的顯示工具,不對Web信息提供任何分類和聚合操作。
實際應(yīng)用中,用戶可能需要提取Web頁面中感興趣的Web信息進(jìn)行分類、聚合,現(xiàn)有技術(shù)中一種最常規(guī)的方法就是分析Web文件的內(nèi)容,根據(jù)內(nèi)容中的關(guān)鍵字分析其信息。常用的方法有關(guān)鍵字完全匹配法,關(guān)鍵詞模糊匹配法,內(nèi)容正則表達(dá)式法。
其中,關(guān)鍵字匹配法的基本思想是將需要匹配的關(guān)鍵字作為查詢字符串,待處理的Web文件作為源字符串,使用字符串匹配的算法,對源Web文本進(jìn)行分析。這種方法比較適合少量信息提取,但是對于海量的數(shù)據(jù)處理,該算法的時間復(fù)雜度高,可擴(kuò)展性差。
關(guān)鍵字模糊匹配是對關(guān)鍵字匹配法的一種改進(jìn),該算法在時間復(fù)雜度上沒有改進(jìn),僅僅算法的擴(kuò)展性有一點改觀。
內(nèi)容正則式對于形形色色的Web信息并不能表現(xiàn)其優(yōu)勢。
以上三種方法一個共同的特點是針對Web信息的內(nèi)容做解析,提取Web信息。都存在算法的時間復(fù)雜度高、擴(kuò)展性差的問題。
發(fā)明內(nèi)容
本發(fā)明提供一種提取Web頁面中用戶所需Web信息的方法,用以解決現(xiàn)有技術(shù)中由于采用針對Web信息的內(nèi)容做解析來提取所需Web信息,存在時間復(fù)雜度高、擴(kuò)展性差的問題。
本發(fā)明方法包括A、按照Web頁面對應(yīng)的HTML文本順序,選取若干個HTML標(biāo)簽作為標(biāo)簽尺元素生成標(biāo)簽尺,存儲到系統(tǒng)中;B、系統(tǒng)按照所述標(biāo)簽尺中的HTML標(biāo)簽元素按序匹配所述HTML文本,根據(jù)匹配出的HTML標(biāo)簽分割Web信息,并存儲分割后的Web信息塊和包含該信息塊的HTML標(biāo)簽在文本中的位置信息;C、用戶根據(jù)所需Web信息確定包含該Web信息的HTML標(biāo)簽在HTML文本中的位置,并通知系統(tǒng);系統(tǒng)查找并提取存儲的分割后的對應(yīng)Web信息塊。
根據(jù)本發(fā)明的上述方法,所述標(biāo)簽尺所包含的標(biāo)簽元素為采用Table形式顯示的Web頁面中用于顯示出表的一行的一對<TR></TR>之間所包含的全部HTML標(biāo)簽。
根據(jù)本發(fā)明的上述方法,所述步驟B包括系統(tǒng)按照所述標(biāo)簽尺包含的標(biāo)簽元素按序匹配HTML文本中對應(yīng)標(biāo)簽;若匹配成功,繼續(xù)匹配下一個標(biāo)簽,直到所述標(biāo)簽尺的標(biāo)簽元素全部匹配成功;在匹配過程中,根據(jù)匹配出的HTML標(biāo)簽分割Web信息;一并存儲分割后的Web信息塊和包含該信息塊的HTML標(biāo)簽在文本中的位置信息;若標(biāo)簽匹配失敗,則將該匹配失敗的HTML標(biāo)簽所在文本處作為斷點,從該斷點處重新開始按照所述標(biāo)簽尺包含的標(biāo)簽元素按序進(jìn)行下一輪匹配。
根據(jù)本發(fā)明的上述方法,判斷HTML標(biāo)簽是否匹配成功的具體方法為獲取所述標(biāo)簽尺中的第N個標(biāo)簽元素,N為標(biāo)簽尺所包含的標(biāo)簽元素序號,在HTML文本中查找相同的HTML標(biāo)簽,若找到,將該第N個HTML標(biāo)簽在文本中的位置記為第N位置;在所述第N位置之后的HTML文本中查找所述標(biāo)簽尺中的第N+1個標(biāo)簽,若找到,將該第N+1個HTML標(biāo)簽在文本中的位置記為第N+1位置;如果所述第N位置和第N+1位置之間的信息不合有所述標(biāo)簽尺中的任何標(biāo)簽元素,則判斷第N+1個HTML標(biāo)簽匹配成功。
根據(jù)本發(fā)明的上述方法,采用堆棧方式存儲所述分割后的Web信息塊和包含該信息塊的HTML標(biāo)簽在HTML文本中的位置信息;若在本輪匹配過程中出現(xiàn)標(biāo)簽匹配失敗,則彈出存入所述堆棧中的全部信息,以便存儲下一輪匹配過程中分割后的Web信息塊和包含該信息塊的HTML標(biāo)簽在文本中的位置信息。
根據(jù)本發(fā)明的上述方法,定義所述標(biāo)簽尺為包含若干個所述標(biāo)簽元素的標(biāo)簽列表向量。
根據(jù)本發(fā)明的上述方法,所述系統(tǒng)將HTML標(biāo)簽分割后的每一個Web信息塊格式化為一個對應(yīng)的字段信息對象。
根據(jù)本發(fā)明的上述方法,用戶根據(jù)所需Web信息設(shè)定一個信息提取矩陣,在該信息提取矩陣中指明包含所需Web信息的HTML標(biāo)簽在HTML文本中的位置;所述系統(tǒng)根據(jù)用戶設(shè)定的信息提取矩陣,利用向量乘法規(guī)則,從格式化后的所述字段信息對象中提取用戶所需Web信息。
所述信息提取矩陣包含三列;一列數(shù)據(jù)用以指明需要提取的Web信息位于一個Table行的第幾個字段中;另一列數(shù)字對應(yīng)指明包含所述Web信息的HTML標(biāo)簽為HTML文本中對應(yīng)<TD></TD>中的第幾個信息域標(biāo)簽;再一列數(shù)字用以指明提取出的每一個Web信息字段在數(shù)據(jù)庫中的存儲位置。
本發(fā)明有益效果如下本發(fā)明在Web頁面對應(yīng)的HTML文本中按序選取若干個HTML標(biāo)簽作為標(biāo)簽尺元素生成標(biāo)簽尺,存儲到系統(tǒng)中;由系統(tǒng)按照標(biāo)簽尺中的HTML標(biāo)簽元素按序匹配HTML文本,采用匹配出的HTML標(biāo)簽分割Web信息,并存儲分割后的Web信息塊和包含該信息塊的HTML標(biāo)簽在文本中的位置信息;由用戶根據(jù)所需Web信息確定包含該Web信息字符串的HTML標(biāo)簽在HTML文本中的位置,并通知系統(tǒng);系統(tǒng)查找并提取存儲的分割后的對應(yīng)Web信息塊。因此,本發(fā)明使用HTML標(biāo)簽生成標(biāo)簽尺,并采用標(biāo)簽尺來分割HTML文本,使信息分割更加準(zhǔn)確高效。
采用本發(fā)明,用戶可以根據(jù)所需Web信息設(shè)定一個信息提取矩陣,在該信息提取矩陣中指明包含所需Web信息的HTML標(biāo)簽在HTML文本中的位置;系統(tǒng)根據(jù)用戶設(shè)定的信息提取矩陣,利用向量乘法規(guī)則,從格式化后的Web信息對象中提取用戶所需Web信息,使信息提取算法更加靈活,高效。
圖1采用HTML書寫的8個字段的Table在IE中顯示的視圖;圖2為本發(fā)明方法流程圖。
具體實施例方式
本發(fā)明提出一種基于HTML語法標(biāo)準(zhǔn)的信息提取方法,將網(wǎng)頁信息分割和信息提取算法與具體的信息內(nèi)容耦合,使信息分割和提取算法更加通用靈活。
本發(fā)明提供的在Web頁面中提取用戶所需Web信息的方法,如圖2所示,包括步驟S11、按照Web頁面對應(yīng)的HTML文本順序,選取若干個HTML標(biāo)簽作為標(biāo)簽尺元素生成標(biāo)簽尺,存儲到系統(tǒng)中;步驟S12、系統(tǒng)按照標(biāo)簽尺中的HTML標(biāo)簽元素按序匹配HTML文本,根據(jù)匹配出的HTML標(biāo)簽分割Web信息,并存儲分割后的Web信息塊和包含該信息塊的HTML標(biāo)簽在文本中的位置信息;步驟S13、由用戶根據(jù)所需Web信息確定包含該Web信息的HTML標(biāo)簽在HTML文本中的位置,并通知系統(tǒng);系統(tǒng)查找并提取存儲的分割后的對應(yīng)Web信息塊。
本發(fā)明對于以Table方式呈現(xiàn)的網(wǎng)頁結(jié)構(gòu)尤其適用,本發(fā)明通過改變標(biāo)簽尺中所包含的標(biāo)簽元素來靈活調(diào)整Web信息分割的尺度和標(biāo)準(zhǔn),高效快速地提取網(wǎng)頁中的相關(guān)信息。
本發(fā)明在Web信息分類和聚合中,對基于HTML標(biāo)簽標(biāo)識的Web信息進(jìn)行規(guī)格化,通過用戶設(shè)定的信息提取矩陣,利用向量乘法的規(guī)則,提取網(wǎng)頁中有用的信息。
下面用具體實施例對本發(fā)明方法加以詳細(xì)描述。
基于HTML標(biāo)簽和向量計算的Web信息提取方法為將Web頁面對應(yīng)的HTML文本以及用戶指定的標(biāo)簽尺和信息提取矩陣作為輸入,提取出Web頁面中感興趣的信息。
例如以上述背景技術(shù)中給出的HTML文本作為信息源,標(biāo)簽尺定義為<TR|<TD|</TD>|<TD|</TD>|<TD|</TD>|<TD|</TD>|<TD|</TD>|<TD|</TD>|<TD|</TD>|<TD|</TD>|/TR>|;標(biāo)簽尺以“|”分割,包括“<”。
將標(biāo)簽尺作為分割HTML文本的HTML標(biāo)簽向量,在算法中可描述為vector<string>FLAGLISTFLAGLIST中存儲的內(nèi)容根據(jù)實際的Web信息格式設(shè)定。在上述例子中,可以定義標(biāo)簽尺如下FLAGLIST fl,fl實例化以后為fl
=“<TR”;fl[1]=“<TD”;fl[2]=“</TD>”;......
fl[17]=“/TR>”。
根據(jù)標(biāo)簽尺生成標(biāo)簽集合set<string>FLAGSET標(biāo)簽集合用于在按照標(biāo)簽尺對HTML文本進(jìn)行匹配時,判斷某一個HTML標(biāo)簽的匹配是否為有效匹配。
在上例中,可以定義標(biāo)簽集合如下FLAGSET fs,fs實例化以后為fs
=“<TR”;fs[1]=“<TD”;fs[2]=“</TD>”;fs[3]=“/TR>”。
該FLAGSET共含有四個元素。
下面具體描述如何根據(jù)設(shè)定的標(biāo)簽尺來分割Web信息。
系統(tǒng)按照標(biāo)簽尺包含的標(biāo)簽元素按序匹配HTML文本中對應(yīng)標(biāo)簽;若匹配成功,繼續(xù)匹配下一個標(biāo)簽,直到標(biāo)簽尺的標(biāo)簽元素全部匹配成功;在匹配過程中,采用匹配出的HTML標(biāo)簽分割Web信息;并存儲分割后的Web信息塊和包含該信息塊的對應(yīng)HTML標(biāo)簽在文本中的位置信息;若標(biāo)簽匹配失敗,則將該匹配失敗的HTML標(biāo)簽所在文本處作為斷點,從該斷點處重新開始按照標(biāo)簽尺包含的標(biāo)簽元素按序進(jìn)行下一輪匹配。
以采用堆棧方式存儲分割后的Web信息塊和包含該信息塊的HTML標(biāo)簽在HTML文本中的位置信息為例,具體匹配存儲過程為起始,在HTML文本中查找FLAGLIST中的第一個標(biāo)簽元素,如果找到,則將該標(biāo)簽以及該標(biāo)簽在HTML文本中出現(xiàn)的位置(記其位置為pos1)壓入堆棧,然后在pos1之后的HTML文本中查找標(biāo)簽尺中的第二個標(biāo)簽,如果找到(記其位置為pos2),判斷pos1和pos2之間的信息是否含有標(biāo)簽尺中的任何標(biāo)簽元素,如果pos1和pos2之間的信息不包含標(biāo)簽尺中的任何標(biāo)簽元素,則認(rèn)為第二個標(biāo)簽匹配成功;按照上述方法,繼續(xù)進(jìn)行FLAGLIST中第三個標(biāo)簽元素、第四個標(biāo)簽元素直到最后一個標(biāo)簽元素的匹配。
上述判斷HTML標(biāo)簽是否匹配成功的方法,可以概括為獲取標(biāo)簽尺中的第N個標(biāo)簽元素(N為標(biāo)簽尺所包含的標(biāo)簽元素的序號),在HTML文本中查找相同的HTML標(biāo)簽,若找到,將該第N個HTML標(biāo)簽在文本中的位置記為第N位置;在第N位置之后的HTML文本中查找所述標(biāo)簽尺中的第N+1個標(biāo)簽,若找到,將該第N+1個HTML標(biāo)簽在文本中的位置記為第N+1位置;如果第N位置和第N+1位置之間的所有標(biāo)簽在標(biāo)簽集合中不存在,則判斷第N+1個HTML標(biāo)簽匹配成功。否則判斷為匹配失敗。
若在匹配過程中出現(xiàn)匹配失??;則將堆棧內(nèi)存儲的全部信息彈(pop)出來,下一輪標(biāo)簽尺匹配從該匹配失敗的HTML標(biāo)簽所在位置處開始,重新按照標(biāo)簽尺中的標(biāo)簽元素順序進(jìn)行匹配。即下一次信息分割將從FLAGLIST的第一個標(biāo)簽元素開始。
當(dāng)堆棧內(nèi)存儲的信息個數(shù)為FLAGLIST的長度時,認(rèn)為完成了一次信息分割,依次pop出堆棧中的全部信息保存到預(yù)先設(shè)置的數(shù)據(jù)庫中。
通過以上步驟,獲得了分割后的每個Web信息塊。
可以將每一小塊Web信息格式化為一個對應(yīng)的字段信息(FieldsInfo)對象。
用戶根據(jù)所需Web信息設(shè)定一個信息提取矩陣,在該信息提取矩陣中指明包含所需Web信息的HTML標(biāo)簽在HTML文本中的位置;系統(tǒng)根據(jù)用戶設(shè)定的信息提取矩陣,利用向量乘法規(guī)則,從格式化后的字段信息對象中提取用戶所需Web信息。
仍以上述HTML文本及設(shè)定的標(biāo)簽尺為例,假設(shè)格式化后的FieldInfo對象定義為fi,其元素分別為fi
={“/search.aspx?q=學(xué)習(xí)&p=Seed&b=0”,“學(xué)習(xí)”};fi[1]={“http://www.cnplayer.com/upload/2006/2/13/200621323483592551238218.torrent”,“CPA2005學(xué)習(xí)資料-會計經(jīng)濟(jì)法稅法ISO經(jīng)典資料”};fi[2]={“http://bbs.fkee.com/”,“相關(guān)討論”};fi[3]={“http://www.cnplayer.com/bt/study/210591.htm”,“查看”};fi[4]={“147”};fi[5]={“734”};fi[6]={“1354M”};fi[7]={“2006-2-13 23:48”}。
假設(shè)用戶設(shè)定的信息提取矩陣如下221122723214215226
上述信息提取矩陣包含三列;其中從左到右第一列數(shù)據(jù)用以指明需要提取的Web信息位于一個Table行的第幾個字段。上述信息提取矩陣第一列從上到下的數(shù)字分別為2,1,7,2,2,2;表示用戶需要按序提出一個Table行中的第2個字段,第1個字段,第7個字段,第2個字段,第2個字段,第2個字段中的信息。
上述信息提取矩陣從左到右第二列數(shù)字對應(yīng)指明包含對應(yīng)Web信息的HTML標(biāo)簽為HTML文本中對應(yīng)<TD></TD>中的第幾個信息域標(biāo)簽。上述信息提取矩陣第二列從上到下的數(shù)字分別為2,2,2,1,1,2;結(jié)合信息提取矩陣中的第1列數(shù)字所表達(dá)的含義,進(jìn)一步確定需要提取的Web信息的具體位置,分別為提取HTML文本中描述第2字段的對應(yīng)<TD></TD>中第2個“><”包含的Web信息;以上述HTML文本為例,具體信息為“CPA2005學(xué)習(xí)資料-會計經(jīng)濟(jì)法稅法ISO經(jīng)典資料”;提取HTML文本中描述第1字段的對應(yīng)<TD></TD>中第2個“><”包含的Web信息;以上述HTML文本為例,具體信息為“學(xué)習(xí)”;提取HTML文本中描述第7字段的對應(yīng)<TD></TD>中第2個“><”包含的Web信息;以上述HTML文本為例,具體信息為“1354M”;提取HTML文本中描述第2字段的對應(yīng)<TD></TD>中第1個“><”包含的Web信息;以上述HTML文本為例具體信息為“http://www.cnplayer.com/upload/2006/2/13/200621323483592551238218.torrent”;提取HTML文本中描述第2字段的對應(yīng)<TD></TD>中第1個“><”包含的Web信息;以上述HTML文本為例具體信息為“http://www.cnplayer.com/upload/2006/2/13/200621323483592551238218.torrent”;提取HTML文本中描述第2字段的對應(yīng)<TD></TD>中第2個“><”包含的Web信息;以上述HTML文本為例,具體信息為“CPA2005學(xué)習(xí)資料-會計經(jīng)濟(jì)法稅法ISO經(jīng)典資料”。
上述信息提取矩陣從左到右第三列指明提取后的Web信息在數(shù)據(jù)庫中的存儲順序,上述信息提取矩陣第三列從上到下的數(shù)字分別為1,2,3,4,5,6;表示將提取的對應(yīng)Web信息按序存儲,形成數(shù)據(jù)庫中的一條記錄。
如果采取向量計算,則上述信息提取矩陣可定義為typedefvector<vector<int>>KeyWordMapInfo。例如定義上述例子中的信息提取矩陣為KeyWordMapInfo keymap,其中的各個元素對應(yīng)為keymap
=2;keymap
[1]=2;keymap
[2]=1;keymap[1]
=1;keymap[1][1]=2;keymap[1][2]=2;keymap[2]
=7;keymap[2][1]=2;keymap[2][2]=3;keymap[3]
=2;keymap[3][1]=1;keymap[3][2]=4;keymap[4]
=2;keymap[4][1]=1;keymap[4][2]=5;keymap[5]
=2;keymap[5][1]=2;keymap[5][2]=6。
將提取后的信息定義為一個字符串(string)向量,為typedefvector<string>VECRESULT;定義vr是實際的結(jié)果向量對象,則通過向量計算以后的vr的各個元素為vr
=“CPA2005學(xué)習(xí)資料-會計經(jīng)濟(jì)法稅法ISO經(jīng)典資料”;vr[1]=“學(xué)習(xí)”;vr[2]=“1354M”;vr[3]=“http://www.cnplayer.com/upload/2006/2/13/200621323483592551238218.torrent”;vr[4]=“http://www.cnplayer.com/upload/2006/2/13/200621323483592551238218.torrent”;vr[5]=“CPA2005學(xué)習(xí)資料-會計經(jīng)濟(jì)法稅法ISO經(jīng)典資料”。
綜上所述,本發(fā)明在Web頁面對應(yīng)的HTML文本中按序選取若干個HTML標(biāo)簽作為標(biāo)簽尺元素生成標(biāo)簽尺,存儲到系統(tǒng)中;由系統(tǒng)按照標(biāo)簽尺中的HTML標(biāo)簽元素按序匹配HTML文本,根據(jù)匹配出的HTML標(biāo)簽分割Web信息,并存儲分割后的Web信息塊和包含該信息塊的HTML標(biāo)簽在文本中的位置信息;由用戶根據(jù)所需Web信息確定包含該Web信息的HTML標(biāo)簽在HTML文本中的位置,并通知系統(tǒng);系統(tǒng)查找并提取存儲的分割后的對應(yīng)Web信息塊。因此,本發(fā)明使用HTML標(biāo)簽生成標(biāo)簽尺,用標(biāo)簽尺來分割HTML文本,使信息分割更加準(zhǔn)確高效。
采用本發(fā)明,用戶可以根據(jù)所需Web信息設(shè)定一個信息提取矩陣,在該信息提取矩陣中指明包含所需Web信息字符串的HTML標(biāo)簽在HTML文本中的位置;系統(tǒng)根據(jù)用戶設(shè)定的信息提取矩陣,利用向量乘法規(guī)則,從格式化后的Web信息對象中提取用戶所需Web信息,使信息提取算法更加靈活,高效。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1.一種提取Web頁面中用戶所需Web信息的方法,其特征在于包括A、按照Web頁面對應(yīng)的HTML文本順序,選取若干個HTML標(biāo)簽作為標(biāo)簽尺元素生成標(biāo)簽尺,存儲到系統(tǒng)中;B、系統(tǒng)按照所述標(biāo)簽尺中的HTML標(biāo)簽元素按序匹配所述HTML文本,根據(jù)匹配出的HTML標(biāo)簽分割Web信息,并存儲分割后的Web信息塊和包含該信息塊的HTML標(biāo)簽在文本中的位置信息;C、用戶根據(jù)所需Web信息確定包含該Web信息的HTML標(biāo)簽在HTML文本中的位置,并通知系統(tǒng);系統(tǒng)查找并提取存儲的分割后的對應(yīng)Web信息塊。
2.如權(quán)利要求1所述的方法,其特征在于,所述標(biāo)簽尺所包含的標(biāo)簽元素為采用Table形式顯示的Web頁面中用于顯示出表的一行的一對<TR></TR>之間所包含的全部HTML標(biāo)簽。
3.如權(quán)利要求2所述的方法,其特征在于,所述步驟B包括系統(tǒng)按照所述標(biāo)簽尺包含的標(biāo)簽元素按序匹配HTML文本中對應(yīng)標(biāo)簽;若匹配成功,繼續(xù)匹配下一個標(biāo)簽,直到所述標(biāo)簽尺的標(biāo)簽元素全部匹配成功;在匹配過程中,根據(jù)匹配出的HTML標(biāo)簽分割Web信息;一并存儲分割后的Web信息塊和包含該信息塊的HTML標(biāo)簽在文本中的位置信息;若標(biāo)簽匹配失敗,則將該匹配失敗的HTML標(biāo)簽所在文本處作為斷點,從該斷點處重新開始按照所述標(biāo)簽尺包含的標(biāo)簽元素按序進(jìn)行下一輪匹配。
4.如權(quán)利要求3所述的方法,其特征在于,判斷HTML標(biāo)簽是否匹配成功的具體方法為獲取所述標(biāo)簽尺中的第N個標(biāo)簽元素,N為標(biāo)簽尺所包含的標(biāo)簽元素序號,在HTML文本中查找相同的HTML標(biāo)簽,若找到,將該第N個HTML標(biāo)簽在文本中的位置記為第N位置;在所述第N位置之后的HTML文本中查找所述標(biāo)簽尺中的第N+1個標(biāo)簽,若找到,將該第N+1個HTML標(biāo)簽在文本中的位置記為第N+1位置;如果所述第N位置和第N+1位置之間的信息不含有所述標(biāo)簽尺中的任何標(biāo)簽元素,則判斷第N+1個HTML標(biāo)簽匹配成功。
5.如權(quán)利要求4所述的方法,其特征在于,采用堆棧方式存儲所述分割后的Web信息塊和包含該信息塊的HTML標(biāo)簽在HTML文本中的位置信息;若在本輪匹配過程中出現(xiàn)標(biāo)簽匹配失敗,則彈出存入所述堆棧中的全部信息,以便存儲下一輪匹配過程中分割后的Web信息塊和包含該信息塊的HTML標(biāo)簽在文本中的位置信息。
6.如權(quán)利要求2-5任意權(quán)項所述的方法,其特征在于,定義所述標(biāo)簽尺為包含若干個所述標(biāo)簽元素的標(biāo)簽列表向量。
7.如權(quán)利要求6所述的方法,其特征在于,所述系統(tǒng)將HTML標(biāo)簽分割后的每一個Web信息塊格式化為一個對應(yīng)的字段信息對象。
8.如權(quán)利要求7所述的方法,其特征在于,用戶根據(jù)所需Web信息設(shè)定一個信息提取矩陣,在該信息提取矩陣中指明包含所需Web信息的HTML標(biāo)簽在HTML文本中的位置;所述系統(tǒng)根據(jù)用戶設(shè)定的信息提取矩陣,利用向量乘法規(guī)則,從格式化后的所述字段信息對象中提取用戶所需Web信息。
9.如權(quán)利要求8所述的方法,其特征在于,所述信息提取矩陣包含三列;一列數(shù)據(jù)用以指明需要提取的Web信息位于一個Table行的第幾個字段中;另一列數(shù)字對應(yīng)指明包含所述Web信息的HTML標(biāo)簽為HTML文本中對應(yīng)<TD></TD>中的第幾個信息域標(biāo)簽;再一列數(shù)字用以指明提取出的每一個Web信息字段在數(shù)據(jù)庫中的存儲位置。
全文摘要
本發(fā)明公開了一種提取Web頁面中用戶所需Web信息的方法,包括按照Web頁面對應(yīng)的HTML文本順序,選取若干個HTML標(biāo)簽作為標(biāo)簽尺元素生成標(biāo)簽尺,存儲到系統(tǒng)中;系統(tǒng)按照所述標(biāo)簽尺中的HTML標(biāo)簽元素按序匹配所述HTML文本,根據(jù)匹配出的HTML標(biāo)簽分割Web信息,并存儲分割后的Web信息塊和包含該信息塊的HTML標(biāo)簽在文本中的位置信息;用戶根據(jù)所需Web信息確定包含該Web信息的HTML標(biāo)簽在HTML文本中的位置,并通知系統(tǒng);系統(tǒng)查找并提取存儲的分割后的對應(yīng)Web信息塊。采用本發(fā)明能靈活高效地獲取Web頁面中用戶所需Web信息。
文檔編號G06F17/00GK101094194SQ20061008642
公開日2007年12月26日 申請日期2006年6月19日 優(yōu)先權(quán)日2006年6月19日
發(fā)明者程凱 申請人:騰訊科技(深圳)有限公司