一種網(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)頁信息,則需要對所提取的信息進行二次處理,信息提取效率低。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例公開了一種網(wǎng)頁信息提取方法及裝置,以為用戶提供較為精確的網(wǎng)頁信息,提高信息提取效率及用戶體驗。
[0006]為達到上述目的,本發(fā)明實施例公開了一種網(wǎng)頁信息提取方法,所述方法包括:
[0007]獲得目標(biāo)網(wǎng)頁的源代碼;
[0008]獲得要提取的網(wǎng)頁信息的屬性對應(yīng)的正則表達式和針對上述正則表達式的運算式;
[0009]根據(jù)所獲得的正則表達式和運算式,從所述目標(biāo)網(wǎng)頁的源代碼中提取網(wǎng)頁信息。
[0010]在本發(fā)明的一種具體實現(xiàn)方式中,所述網(wǎng)頁信息提取方法還包括:
[0011]對所提取的網(wǎng)頁信息進行分類匯總,以分類形式向用戶展示。
[0012]在本發(fā)明的一種具體實現(xiàn)方式中,所述根據(jù)所獲得的正則表達式和運算式,從所述目標(biāo)網(wǎng)頁的源代碼中提取網(wǎng)頁信息,包括:
[0013]根據(jù)所獲得的正則表達和運算式,確定所獲得的正則表達式和運算式對應(yīng)的逆波蘭表達式;
[0014]根據(jù)所確定的逆波蘭表達式,從所述目標(biāo)網(wǎng)頁的源代碼中提取網(wǎng)頁信息。
[0015]在本發(fā)明的一種具體實現(xiàn)方式中,所述獲得要提取的網(wǎng)頁信息的屬性對應(yīng)的正則表達式和針對上述正則表達式的運算式,包括:
[0016]根據(jù)用戶的輸入信息,獲得要提取的網(wǎng)頁信息的屬性對應(yīng)的正則表達式和針對上述正則表達式的運算式;或
[0017]根據(jù)預(yù)設(shè)的表達式生成規(guī)則,獲得要提取的網(wǎng)頁信息的屬性對應(yīng)的正則表達式;根據(jù)預(yù)設(shè)的運算式生成規(guī)則,獲得針對上述正則表達式的運算式。
[0018]在本發(fā)明的一種具體實現(xiàn)方式中,所述運算式中使用的運算符號為預(yù)定義的符號。
[0019]為達到上述目的,本發(fā)明實施例公開了一種網(wǎng)頁信息提取裝置,所述裝置包括:
[0020]源代碼獲得模塊,用于獲得目標(biāo)網(wǎng)頁的源代碼;
[0021]表達式獲得模塊,用于獲得要提取的網(wǎng)頁信息的屬性對應(yīng)的正則表達式和針對上述正則表達式的運算式;
[0022]網(wǎng)頁信息提取模塊,用于根據(jù)所獲得的正則表達式和運算式,從目標(biāo)網(wǎng)頁的源代碼中提取網(wǎng)頁信息。
[0023]在本發(fā)明的一種具體實現(xiàn)方式中,所述網(wǎng)頁信息提取裝置還包括:
[0024]分類匯總模塊,用于對所提取的網(wǎng)頁信息進行分類匯總,以分類形式向用戶展示。
[0025]在本發(fā)明的一種具體實現(xiàn)方式中,所述網(wǎng)頁信息提取模塊,包括:
[0026]逆波蘭表達式確定子模塊,用于根據(jù)所獲得的正則表達和運算式,確定所獲得的正則表達式和運算式對應(yīng)的逆波蘭表達式;
[0027]網(wǎng)頁信息提取子模塊,用于根據(jù)所確定的逆波蘭表達式,從目標(biāo)網(wǎng)頁的源代碼中提取網(wǎng)頁信息。
[0028]在本發(fā)明的一種具體實現(xiàn)方式中,所述表達式獲得模塊,具體用于根據(jù)用戶的輸入信息,獲得要提取的網(wǎng)頁信息的屬性對應(yīng)的正則表達式和針對上述正則表達式的運算式;或
[0029]具體用于根據(jù)預(yù)設(shè)的表達式生成規(guī)則,獲得要提取的網(wǎng)頁信息的屬性對應(yīng)的正則表達式;根據(jù)預(yù)設(shè)的運算式生成規(guī)則,獲得針對上述正則表達式的運算式。
[0030]在本發(fā)明的一種具體實現(xiàn)方式中,所述運算式中使用的運算符號為預(yù)定義的符號。
[0031]由以上可見,本發(fā)明實施例提供的方案中,獲得目標(biāo)網(wǎng)頁的源代碼后,獲得要提取的網(wǎng)頁信息的屬性對應(yīng)的正則表達式和針對上述正則表達式的運算式,并根據(jù)所獲得的正則表達式和運算式,從目標(biāo)網(wǎng)頁的源代碼中提取網(wǎng)頁信息。與現(xiàn)有技術(shù)相比,本發(fā)明實施例提供的方案中,由于運算式表達的是所獲得的正則表達式中的至少兩個正則表達式之間的邏輯運算關(guān)系和算術(shù)運算關(guān)系,經(jīng)該運算式變換后,相當(dāng)于在提取網(wǎng)頁信息時直接對所提取的網(wǎng)頁信息進行了過濾處理,因此,能夠減少所提取的網(wǎng)頁信息中包含的冗余信息或者包含的錯誤信息,無需對所獲得的網(wǎng)頁信息進行二次處理即可獲得較為精確的網(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ù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[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)的正則表達式和針對上述正則表達式的運算式。
[0042]上述的正則表達式,又稱正規(guī)表示法、常規(guī)表示法,屬于計算機科學(xué)的一個概念。正則表達式使用單個字符串來描述、匹配一系列符合某個句法規(guī)則的字符串。在很多文本編輯器里,正則表達式通常被用來檢索、替換那些符合某個模式的文本。如“〃~\d+$”,可以匹配所有的非負(fù)整數(shù)。
[0043]上述的運算式表達了所獲得的正則表達式中至少兩個正則表達式之間的邏輯運算關(guān)系和算術(shù)運算關(guān)系等,描述運算式所需要的運算符號可以是自定義的符號,也可以是已有的運算符號,本申請并不對此進行限定。
[0044]其中,運算符號可以是算術(shù)運算符號、邏輯運算符號,也可以是關(guān)系運算符號等等。
[0045]具體的,獲得要提取的網(wǎng)頁信息的屬性對應(yīng)的正則表達式和針對上述正則表達式的運算式,可以是根據(jù)用戶的輸入信息,獲得要提取的網(wǎng)頁信息的屬性對應(yīng)的正則表達式和針對上述正則表達式的運算式;還可以是根據(jù)預(yù)設(shè)的表達式生成規(guī)則,獲得要提取的網(wǎng)頁信息的屬性對應(yīng)的正則表達式,并根據(jù)預(yù)設(shè)的運算式生成規(guī)則,獲得針對上述正則表達式的運算式。
[0046]S103:根據(jù)所獲得的正則表達式和運算式,從目標(biāo)網(wǎng)頁的源代碼中提取網(wǎng)頁信息。
[0047]一種具體實現(xiàn)方式中,根據(jù)所獲得的正則表達式和運算式,從目標(biāo)網(wǎng)頁的源代碼中提取網(wǎng)頁信息,可以先根據(jù)所獲得的正則表達和運算式,確定所獲得的正則表達式和運算式對應(yīng)的逆波蘭表達式,再根據(jù)所確定的逆波蘭表達式,從目標(biāo)網(wǎng)頁的源代碼中提取網(wǎng)頁信息。
[0048]在通常的表達式中,二元運算符總是置于與之相關(guān)的兩個運算對象之間,所以,這種表示法也稱為中綴表示。與上述的表示表達式的方式相對應(yīng),波蘭邏輯學(xué)家J.Lukasiewicz于1929年提出了另一種表示表達式的方法,這種方法中,每一運算符都置于其運算對象之后,稱為后綴表示,以后綴表示法表示的表達式稱為逆波蘭表達式。逆波蘭表達式是一種十分有用的表達式,它將復(fù)雜的表達式轉(zhuǎn)換為可以依靠簡單的操作得到計算結(jié)果的表達式,例如,通常的表達式:(a+b)*(c+d)轉(zhuǎn)換為逆波蘭表達式為:ab+cd+*。
[0049]運算式表達了所獲得的正則表達式中至少兩個正則表達式之間的邏輯運算關(guān)系和算術(shù)運算關(guān)系,下面通過幾個具體實例說明運算式與正則表達式之間的關(guān)系。
[0050]實例一:運算式表示對若干個正則表達式的結(jié)果的合并操作。
[0051]假設(shè),根據(jù)正則表達式I從目標(biāo)網(wǎng)頁的源代碼中獲得的網(wǎng)頁信息為“5”,根據(jù)正則表達式2從目標(biāo)網(wǎng)頁的源代碼中獲得的網(wǎng)頁信息為“4”,則經(jīng)過本實例中的運算式規(guī)定的合并操作處理后,得“9”。
[0052]本實例中的合并操作運算符可以用“ + ”表示,當(dāng)然,也可以以用戶自定義的其他符號表不。
[0053]實例二:運算式表示對若干個正則表達式的結(jié)果的“或”操作。
[0054]假設(shè),根據(jù)正則表達式3從目標(biāo)網(wǎng)頁的源代碼中獲得的網(wǎng)頁信息為“abc”,根據(jù)正則表達式4從目標(biāo)網(wǎng)頁的源代碼中獲得的網(wǎng)頁信息為“cde”,則經(jīng)過本實例中的運算式規(guī)定的“或”操