一種網(wǎng)頁(yè)信息提取方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種網(wǎng)頁(yè)信息提取方法及裝置。
【背景技術(shù)】
[0002]互聯(lián)網(wǎng)是一個(gè)巨大的信息發(fā)布和傳播源,目前網(wǎng)頁(yè)數(shù)量已超過(guò)800億,每小時(shí)還以驚人的速度在增長(zhǎng),這些網(wǎng)頁(yè)中可能包含用戶需要的大量信息,例如,對(duì)于建筑行業(yè)用戶來(lái)講,這些網(wǎng)頁(yè)中可能包含有潛在客戶列表與聯(lián)系信息、建筑材料的價(jià)格列表、實(shí)時(shí)的建筑工程信息、供求信息和招中標(biāo)信息等等。
[0003]實(shí)際應(yīng)用中,為了能夠有針對(duì)性的向用戶提供網(wǎng)頁(yè)信息,一般通過(guò)網(wǎng)頁(yè)信息提取方式從已存在的網(wǎng)頁(yè)中提取對(duì)用戶有用的信息,并將所提取的網(wǎng)頁(yè)信息提供給用戶?,F(xiàn)有技術(shù)中,提取網(wǎng)頁(yè)信息時(shí),可以通過(guò)關(guān)鍵字匹配等方法實(shí)現(xiàn)。具體的,通過(guò)關(guān)鍵字匹配法提取網(wǎng)頁(yè)信息時(shí),在目標(biāo)網(wǎng)頁(yè)的源代碼中查找與預(yù)設(shè)的關(guān)鍵字相匹配的信息,并提取與預(yù)設(shè)的關(guān)鍵字相匹配的信息。應(yīng)用上述方法可以提取出目標(biāo)網(wǎng)頁(yè)中的相關(guān)信息,然而,網(wǎng)頁(yè)中所包含的信息量較大,可能會(huì)存在多個(gè)與預(yù)設(shè)的關(guān)鍵字相匹配的信息,例如,目標(biāo)網(wǎng)頁(yè)中包含建筑行業(yè)潛在客戶的郵箱信息和網(wǎng)頁(yè)開(kāi)發(fā)者的郵箱信息,預(yù)設(shè)的關(guān)鍵字為用于提取網(wǎng)頁(yè)中的郵箱信息的關(guān)鍵字,這樣可以提取出目標(biāo)網(wǎng)頁(yè)中所包含的建筑行業(yè)潛在客戶的郵箱信息和網(wǎng)頁(yè)開(kāi)發(fā)者的郵箱信息,很明顯網(wǎng)頁(yè)開(kāi)發(fā)者的郵箱信息并不是用戶所需要的信息,可見(jiàn),應(yīng)用上述方法提取網(wǎng)頁(yè)信息時(shí),可能造成所提取的信息中包含冗余信息或者包含錯(cuò)誤信息,影響用戶體驗(yàn)。
[0004]另外,在所提取的信息中包含冗余信息的情況下,若要剔除冗余信息,以為用戶提供較為精確的網(wǎng)頁(yè)信息,則需要對(duì)所提取的信息進(jìn)行二次處理,信息提取效率低。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例公開(kāi)了一種網(wǎng)頁(yè)信息提取方法及裝置,以為用戶提供較為精確的網(wǎng)頁(yè)信息,提高信息提取效率及用戶體驗(yàn)。
[0006]為達(dá)到上述目的,本發(fā)明實(shí)施例公開(kāi)了一種網(wǎng)頁(yè)信息提取方法,所述方法包括:
[0007]獲得目標(biāo)網(wǎng)頁(yè)的源代碼;
[0008]獲得要提取的網(wǎng)頁(yè)信息的屬性對(duì)應(yīng)的正則表達(dá)式和針對(duì)上述正則表達(dá)式的運(yùn)算式;
[0009]根據(jù)所獲得的正則表達(dá)式和運(yùn)算式,從所述目標(biāo)網(wǎng)頁(yè)的源代碼中提取網(wǎng)頁(yè)信息。
[0010]在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述網(wǎng)頁(yè)信息提取方法還包括:
[0011]對(duì)所提取的網(wǎng)頁(yè)信息進(jìn)行分類(lèi)匯總,以分類(lèi)形式向用戶展示。
[0012]在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述根據(jù)所獲得的正則表達(dá)式和運(yùn)算式,從所述目標(biāo)網(wǎng)頁(yè)的源代碼中提取網(wǎng)頁(yè)信息,包括:
[0013]根據(jù)所獲得的正則表達(dá)和運(yùn)算式,確定所獲得的正則表達(dá)式和運(yùn)算式對(duì)應(yīng)的逆波蘭表達(dá)式;
[0014]根據(jù)所確定的逆波蘭表達(dá)式,從所述目標(biāo)網(wǎng)頁(yè)的源代碼中提取網(wǎng)頁(yè)信息。
[0015]在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述獲得要提取的網(wǎng)頁(yè)信息的屬性對(duì)應(yīng)的正則表達(dá)式和針對(duì)上述正則表達(dá)式的運(yùn)算式,包括:
[0016]根據(jù)用戶的輸入信息,獲得要提取的網(wǎng)頁(yè)信息的屬性對(duì)應(yīng)的正則表達(dá)式和針對(duì)上述正則表達(dá)式的運(yùn)算式;或
[0017]根據(jù)預(yù)設(shè)的表達(dá)式生成規(guī)則,獲得要提取的網(wǎng)頁(yè)信息的屬性對(duì)應(yīng)的正則表達(dá)式;根據(jù)預(yù)設(shè)的運(yùn)算式生成規(guī)則,獲得針對(duì)上述正則表達(dá)式的運(yùn)算式。
[0018]在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述運(yùn)算式中使用的運(yùn)算符號(hào)為預(yù)定義的符號(hào)。
[0019]為達(dá)到上述目的,本發(fā)明實(shí)施例公開(kāi)了一種網(wǎng)頁(yè)信息提取裝置,所述裝置包括:
[0020]源代碼獲得模塊,用于獲得目標(biāo)網(wǎng)頁(yè)的源代碼;
[0021]表達(dá)式獲得模塊,用于獲得要提取的網(wǎng)頁(yè)信息的屬性對(duì)應(yīng)的正則表達(dá)式和針對(duì)上述正則表達(dá)式的運(yùn)算式;
[0022]網(wǎng)頁(yè)信息提取模塊,用于根據(jù)所獲得的正則表達(dá)式和運(yùn)算式,從目標(biāo)網(wǎng)頁(yè)的源代碼中提取網(wǎng)頁(yè)信息。
[0023]在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述網(wǎng)頁(yè)信息提取裝置還包括:
[0024]分類(lèi)匯總模塊,用于對(duì)所提取的網(wǎng)頁(yè)信息進(jìn)行分類(lèi)匯總,以分類(lèi)形式向用戶展示。
[0025]在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述網(wǎng)頁(yè)信息提取模塊,包括:
[0026]逆波蘭表達(dá)式確定子模塊,用于根據(jù)所獲得的正則表達(dá)和運(yùn)算式,確定所獲得的正則表達(dá)式和運(yùn)算式對(duì)應(yīng)的逆波蘭表達(dá)式;
[0027]網(wǎng)頁(yè)信息提取子模塊,用于根據(jù)所確定的逆波蘭表達(dá)式,從目標(biāo)網(wǎng)頁(yè)的源代碼中提取網(wǎng)頁(yè)信息。
[0028]在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述表達(dá)式獲得模塊,具體用于根據(jù)用戶的輸入信息,獲得要提取的網(wǎng)頁(yè)信息的屬性對(duì)應(yīng)的正則表達(dá)式和針對(duì)上述正則表達(dá)式的運(yùn)算式;或
[0029]具體用于根據(jù)預(yù)設(shè)的表達(dá)式生成規(guī)則,獲得要提取的網(wǎng)頁(yè)信息的屬性對(duì)應(yīng)的正則表達(dá)式;根據(jù)預(yù)設(shè)的運(yùn)算式生成規(guī)則,獲得針對(duì)上述正則表達(dá)式的運(yùn)算式。
[0030]在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述運(yùn)算式中使用的運(yùn)算符號(hào)為預(yù)定義的符號(hào)。
[0031]由以上可見(jiàn),本發(fā)明實(shí)施例提供的方案中,獲得目標(biāo)網(wǎng)頁(yè)的源代碼后,獲得要提取的網(wǎng)頁(yè)信息的屬性對(duì)應(yīng)的正則表達(dá)式和針對(duì)上述正則表達(dá)式的運(yùn)算式,并根據(jù)所獲得的正則表達(dá)式和運(yùn)算式,從目標(biāo)網(wǎng)頁(yè)的源代碼中提取網(wǎng)頁(yè)信息。與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例提供的方案中,由于運(yùn)算式表達(dá)的是所獲得的正則表達(dá)式中的至少兩個(gè)正則表達(dá)式之間的邏輯運(yùn)算關(guān)系和算術(shù)運(yùn)算關(guān)系,經(jīng)該運(yùn)算式變換后,相當(dāng)于在提取網(wǎng)頁(yè)信息時(shí)直接對(duì)所提取的網(wǎng)頁(yè)信息進(jìn)行了過(guò)濾處理,因此,能夠減少所提取的網(wǎng)頁(yè)信息中包含的冗余信息或者包含的錯(cuò)誤信息,無(wú)需對(duì)所獲得的網(wǎng)頁(yè)信息進(jìn)行二次處理即可獲得較為精確的網(wǎng)頁(yè)信息,能夠提尚用戶體驗(yàn)。
【附圖說(shuō)明】
[0032]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0033]圖1為本發(fā)明實(shí)施例提供的一種網(wǎng)頁(yè)信息提取方法的流程示意圖;
[0034]圖2為本發(fā)明實(shí)施例提供的另一種網(wǎng)頁(yè)信息提取方法的流程示意圖;
[0035]圖3為本發(fā)明實(shí)施例提供的一種網(wǎng)頁(yè)信息提取裝置的結(jié)構(gòu)示意圖;
[0036]圖4為本發(fā)明實(shí)施例提供的另一種網(wǎng)頁(yè)信息提取裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0037]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0038]圖1為本發(fā)明實(shí)施例提供的一種網(wǎng)頁(yè)信息提取方法的流程示意圖,該方法包括:
[0039]SlOl:獲得目標(biāo)網(wǎng)頁(yè)的源代碼。
[0040]網(wǎng)頁(yè)的源代碼一般是以超文本標(biāo)記語(yǔ)言(HyperText Mark-up Language,HTML)編寫(xiě)的,由HTML命令組成,其中,HTML命令可用于說(shuō)明文字、圖形、動(dòng)畫(huà)、聲音、表格和鏈接等等。
[0041]S102:獲得要提取的網(wǎng)頁(yè)信息的屬性對(duì)應(yīng)的正則表達(dá)式和針對(duì)上述正則表達(dá)式的運(yùn)算式。
[0042]上述的正則表達(dá)式,又稱(chēng)正規(guī)表示法、常規(guī)表示法,屬于計(jì)算機(jī)科學(xué)的一個(gè)概念。正則表達(dá)式使用單個(gè)字符串來(lái)描述、匹配一系列符合某個(gè)句法規(guī)則的字符串。在很多文本編輯器里,正則表達(dá)式通常被用來(lái)檢索、替換那些符合某個(gè)模式的文本。如“〃~\d+$”,可以匹配所有的非負(fù)整數(shù)。
[0043]上述的運(yùn)算式表達(dá)了所獲得的正則表達(dá)式中至少兩個(gè)正則表達(dá)式之間的邏輯運(yùn)算關(guān)系和算術(shù)運(yùn)算關(guān)系等,描述運(yùn)算式所需要的運(yùn)算符號(hào)可以是自定義的符號(hào),也可以是已有的運(yùn)算符號(hào),本申請(qǐng)并不對(duì)此進(jìn)行限定。
[0044]其中,運(yùn)算符號(hào)可以是算術(shù)運(yùn)算符號(hào)、邏輯運(yùn)算符號(hào),也可以是關(guān)系運(yùn)算符號(hào)等等。
[0045]具體的,獲得要提取的網(wǎng)頁(yè)信息的屬性對(duì)應(yīng)的正則表達(dá)式和針對(duì)上述正則表達(dá)式的運(yùn)算式,可以是根據(jù)用戶的輸入信息,獲得要提取的網(wǎng)頁(yè)信息的屬性對(duì)應(yīng)的正則表達(dá)式和針對(duì)上述正則表達(dá)式的運(yùn)算式;還可以是根據(jù)預(yù)設(shè)的表達(dá)式生成規(guī)則,獲得要提取的網(wǎng)頁(yè)信息的屬性對(duì)應(yīng)的正則表達(dá)式,并根據(jù)預(yù)設(shè)的運(yùn)算式生成規(guī)則,獲得針對(duì)上述正則表達(dá)式的運(yùn)算式。
[0046]S103:根據(jù)所獲得的正則表達(dá)式和運(yùn)算式,從目標(biāo)網(wǎng)頁(yè)的源代碼中提取網(wǎng)頁(yè)信息。
[0047]一種具體實(shí)現(xiàn)方式中,根據(jù)所獲得的正則表達(dá)式和運(yùn)算式,從目標(biāo)網(wǎng)頁(yè)的源代碼中提取網(wǎng)頁(yè)信息,可以先根據(jù)所獲得的正則表達(dá)和運(yùn)算式,確定所獲得的正則表達(dá)式和運(yùn)算式對(duì)應(yīng)的逆波蘭表達(dá)式,再根據(jù)所確定的逆波蘭表達(dá)式,從目標(biāo)網(wǎng)頁(yè)的源代碼中提取網(wǎng)頁(yè)信息。
[0048]在通常的表達(dá)式中,二元運(yùn)算符總是置于與之相關(guān)的兩個(gè)運(yùn)算對(duì)象之間,所以,這種表示法也稱(chēng)為中綴表示。與上述的表示表達(dá)式的方式相對(duì)應(yīng),波蘭邏輯學(xué)家J.Lukasiewicz于1929年提出了另一種表示表達(dá)式的方法,這種方法中,每一運(yùn)算符都置于其運(yùn)算對(duì)象之后,稱(chēng)為后綴表示,以后綴表示法表示的表達(dá)式稱(chēng)為逆波蘭表達(dá)式。逆波蘭表達(dá)式是一種十分有用的表達(dá)式,它將復(fù)雜的表達(dá)式轉(zhuǎn)換為可以依靠簡(jiǎn)單的操作得到計(jì)算結(jié)果的表達(dá)式,例如,通常的表達(dá)式:(a+b)*(c+d)轉(zhuǎn)換為逆波蘭表達(dá)式為:ab+cd+*。
[0049]運(yùn)算式表達(dá)了所獲得的正則表達(dá)式中至少兩個(gè)正則表達(dá)式之間的邏輯運(yùn)算關(guān)系和算術(shù)運(yùn)算關(guān)系,下面通過(guò)幾個(gè)具體實(shí)例說(shuō)明運(yùn)算式與正則表達(dá)式之間的關(guān)系。
[0050]實(shí)例一:運(yùn)算式表示對(duì)若干個(gè)正則表達(dá)式的結(jié)果的合并操作。
[0051]假設(shè),根據(jù)正則表達(dá)式I從目標(biāo)網(wǎng)頁(yè)的源代碼中獲得的網(wǎng)頁(yè)信息為“5”,根據(jù)正則表達(dá)式2從目標(biāo)網(wǎng)頁(yè)的源代碼中獲得的網(wǎng)頁(yè)信息為“4”,則經(jīng)過(guò)本實(shí)例中的運(yùn)算式規(guī)定的合并操作處理后,得“9”。
[0052]本實(shí)例中的合并操作運(yùn)算符可以用“ + ”表示,當(dāng)然,也可以以用戶自定義的其他符號(hào)表不。
[0053]實(shí)例二:運(yùn)算式表示對(duì)若干個(gè)正則表達(dá)式的結(jié)果的“或”操作。
[0054]假設(shè),根據(jù)正則表達(dá)式3從目標(biāo)網(wǎng)頁(yè)的源代碼中獲得的網(wǎng)頁(yè)信息為“abc”,根據(jù)正則表達(dá)式4從目標(biāo)網(wǎng)頁(yè)的源代碼中獲得的網(wǎng)頁(yè)信息為“cde”,則經(jīng)過(guò)本實(shí)例中的運(yùn)算式規(guī)定的“或”操