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