生成網頁模板的方法及裝置制造方法
【專利摘要】本發明公開一種生成網頁模板的方法及裝置,屬于互聯網【技術領域】。所述方法包括:構建對網頁進行標注的可視化效果框架;獲取對網頁各部分內容區域進行標注的指示;記錄內容區域與標注指示的對應關系,得到網頁模板。根據本發明,能夠提高生成網頁模板的效率和準確性。
【專利說明】生成網頁模板的方法及裝置
【技術領域】
[0001]本發明涉及互聯網【技術領域】,具體涉及一種生成網頁模板的方法及裝置。
【背景技術】
[0002]網頁模板可以用于抽取網頁的內容,比如有的搜索引擎在抓取網站時使用了定向采集技術,定向采集的蜘蛛使用網頁模板把網站的相關內容抽取出來,獲得格式化的內容,包括網頁的標題、作者、發表時間和正文等信息。
[0003]現有的一種生成網頁模板的方法為:首先,根據頁面的URL(Uniform ResourceLocator,統一資源定位符),下載頁面的源代碼;其次,根據頁面的源代碼對頁面結構進行自動分析,計算出頁面中各結構的哈希值;然后,根據頁面的源代碼人工判斷頁面中哪些結構對應標題,哪些結構對應正文,哪些結構對應發表時間等,并進行標記;最后,生成結構的哈希值與結構的內容類型的對應關系,得到網頁模板。
[0004]現有的生成網頁模板方法至少存在如下缺點:
[0005]人工標記頁面結構的內容類型是通過文本編輯進行的,網頁模板里面有大量的不相關的內容,有的網頁模板甚至有好幾萬行,導致人工標記的效率非常低;
[0006]網頁模板中的各種內容夾雜在網頁代碼中,由于網頁內容沒有直觀的呈現出來,如果對網頁設計語言不熟,則不容易確定頁面結構的內容類型,人工標記時就容易出錯,導致生成的網頁模板的準確性不高,進而導致根據該網頁模板進行內容抽取的準確性也不聞。
【發明內容】
[0007]鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的生成網頁模板的方法及裝置。
[0008]依據本發明的一個方面,提供了一種生成網頁模板的方法,所述方法包括:
[0009]構建對網頁進行標注的可視化效果框架;
[0010]獲取對網頁各部分內容區域進行標注的指示;
[0011]記錄內容區域與標注指示的對應關系,得到網頁模板。
[0012]可選地,所述可視化效果框架包括內容區域、位于選中的內容區域上方的蒙版和標注菜單,所述標注菜單包括多種內容類型菜單項;
[0013]所述獲取對網頁各部分內容區域進行標注的指示包括:獲取通過標注菜單選擇的內容類型。
[0014]可選地,在構建對網頁進行標注的可視化效果框架之前,所述方法還包括:
[0015]獲取網頁的源代碼,根據所述源代碼生成所述網頁的DOM樹;
[0016]獲取所述DOM樹中各節點對應的標簽的哈希值;
[0017]為所述網頁的各標簽添加哈希值屬性;
[0018]所述記錄內容區域與標注指示的對應關系,包括:記錄內容區域所屬標簽的哈希值與選擇的內容類型的對應關系。
[0019]可選地,所述方法還包括:對根據同一資源站點下的多個網頁生成的多個網頁模板進行統計,提取所述多個網頁模板中的相同部分生成最終的網頁模板。
[0020]可選地,所述獲取所述DOM樹中各節點對應的標簽的哈希值,包括:
[0021]為所述網頁的各標簽添加索引屬性;
[0022]將添加索引屬性后的網頁的源代碼發送到服務端,以供服務端進行標簽的哈希值計算;
[0023]接收服務端發送的標簽索引值與哈希值的對應關系。根據本發明的另一方面,提供了一種生成網頁模板的裝置,所述裝置包括:
[0024]可視化效果框架構建器,適于構建對網頁進行標注的可視化效果框架;
[0025]標注指示獲取器,適于獲取對網頁各部分內容區域進行標注的指示;
[0026]網頁模板生成器,適于記錄內容區域與標注指示的對應關系,得到網頁模板。
[0027]可選地,所述可視化效果框架包括內容區域、位于選中的內容區域上方的蒙版和標注菜單,所述標注菜單包括多種內容類型菜單項;
[0028]所述標注指示獲取器進一步適于:獲取通過標注菜單選擇的內容類型。
[0029]可選地,所述裝置還包括:
[0030]DOM樹生成器,適于獲取網頁的源代碼,根據所述源代碼生成所述網頁的DOM樹;
[0031]哈希值獲取器,適于獲取所述DOM樹中各節點對應的標簽的哈希值;
[0032]哈希值屬性添加器,適于為所述網頁的各標簽添加哈希值屬性;
[0033]所述網頁模板生成器進一步適于:記錄內容區域所屬標簽的哈希值與選擇的內容類型的對應關系,得到網頁模板。
[0034]可選地,所述裝置還包括統計器,適于對根據同一資源站點下的多個網頁生成的多個網頁模板進行統計,提取所述多個網頁模板中的相同部分生成最終的網頁模板。
[0035]可選地,所述哈希值獲取器進一步適于:
[0036]為所述網頁的各標簽添加索引屬性;
[0037]將添加索引屬性后的網頁的源代碼發送到服務端,以供服務端進行標簽的哈希值計算;
[0038]接收服務端發送的標簽索引值與哈希值的對應關系。
[0039]根據本發明上述的一個或多個技術方案,通過構建對網頁進行標注的可視化效果框架,不需要手工編輯網頁模板文本,只需要在所述可視化效果框架中選擇網頁內容區域進行可視化操作,即可輕松定義網頁模板,提高了生成網頁模板的效率;而且,由于網頁內容被直觀的呈現出來,不需要具備網頁設計方面的專業知識,就很容易確定頁面結構的內容類型,提高了生成網頁模板的準確性。
[0040]上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段,而可依照說明書的內容予以實施,并且為了讓本發明的上述和其它目的、特征和優點能夠更明顯易懂,以下特舉本發明的【具體實施方式】。
【專利附圖】
【附圖說明】
[0041]通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優選實施方式的目的,而并不認為是對本發明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0042]圖1示出了根據本發明一個實施例的生成網頁模板的方法流程圖;
[0043]圖2示出了本發明實施例中對網頁的標題進行標注的示意圖;
[0044]圖3示出了本發明實施例中對網頁的正文進行標注的示意圖;
[0045]圖4示出了根據本發明一個實施例的生成網頁模板的方法詳細流程圖;
[0046]圖5示出了根據本發明一個實施例的生成網頁模板的裝置結構圖;
[0047]圖6示出了根據本發明一個實施例的對網頁提供可視化標注的方法流程圖;
[0048]圖7示出了根據本發明一個實施例的對網頁提供可視化標注的裝置結構圖;
[0049]圖8示出了根據本發明一個實施例的根據可視化模板進行網頁內容抽取的方法流程圖;
[0050]圖9示出了根據本發明一個實施例的根據可視化模板進行網頁內容抽取的裝置結構圖;
[0051]圖10示出了根據本發明一個實施例的根據可視化模板進行網頁內容抽取的系統結構圖。
【具體實施方式】
[0052]下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。
[0053]實施例1
[0054]本實施例提供一種生成網頁模板的方法及裝置
[0055]圖1示出了根據本發明一個實施例的生成網頁模板的方法流程圖,參照圖1,所述方法包括:
[0056]步驟102,構建對網頁進行標注的可視化效果框架;
[0057]在一種實現方式中,所述可視化效果框架可以包括:內容區域、位于選中的內容區域上方的蒙版和標注菜單,所述標注菜單包括多種內容類型菜單項。
[0058]通過獲取網頁的源代碼例如html (hypertext mark-up language,超文本標記語言)文檔,將樣式表文件例如CSS (cascading style sheets,層疊樣式表)文件附加到html文檔,并在html文檔中增加js (javascript)腳本,可以構建網頁的可視化效果框架。具體地,通過js腳本可以實現當檢測到某個內容區域被選中時,在選中的內容區域上方出現蒙版和標注菜單,所述蒙版和標注菜單的顯示方式可以由樣式表文件中定義的規則來限定。
[0059]根據上述的可視化效果框架,網頁在瀏覽器中進行顯示時,網頁的各部分內容區域會具有可視化效果,某個內容區域被選中時(例如檢測到鼠標移動到該內容區域上方,又例如,在觸摸屏中檢測到對該內容區域的點擊或者檢測到在該內容區域的滑動手勢),該內容區域的上方會出現蒙版,并且,該內容區域的上方會同時出現標記菜單或者根據觸發出現標記菜單,例如,在被選中的內容區域上單擊鼠標右鍵,會出現各種內容類型菜單項。如圖2和圖3所示,所述內容類型菜單項可以包括“標記為標題”、“標記為正文”和“標記為日期”等,另外,所述內容類型菜單項還可以包括“保存標記”和“結束標記”等。
[0060]步驟104,獲取對網頁各部分內容區域進行標注的指示;
[0061]在本發明實施例中,執行標注的主體是客戶端,客戶端可以由用戶、運營人員或管理人員進行操作。可以通過鼠標對網頁進行標注,將鼠標移動到某個內容區域上方并單擊鼠標右鍵,然后,點擊某個內容類型菜單項,便可完成對該部分內容區域的標注。在觸摸屏中,還可以根據對菜單項的觸摸操作來選擇內容類型,實現對網頁的標注。如圖2所示,通過單擊“標記為標題”,可以將相應的內容區域標記為標題,如圖3所示,通過單擊“標記為正文”,可以將相應的內容區域標記為正文。
[0062]步驟106,記錄內容區域與標注指示的對應關系,得到網頁模板。
[0063]每標記一個內容區域,并選則“保存標記”菜單項,就可以將該內容區域與選擇的內容類型的對應關系存儲到網頁模板中,通過選擇“結束標記”菜單項,完成對網頁中所有需要標記的內容區域的標記,得到該網頁對應的網頁模板(或者稱為網頁內容模板)。
[0064]可見,根據本發明實施例的技術方案,只需要在所述可視化效果框架中選擇網頁內容區域進行可視化操作,即可輕松定義網頁模板,提高了生成網頁模板的效率;而且,由于網頁內容被直觀的呈現出來,很容易確定頁面結構的內容類型,提高了生成網頁模板的準確性。
[0065]上述方案是根據一個網頁來生成對應于該網頁的網頁模板。對于一個資源站點而言,其可能包括很多網頁,這些網頁一般是根據相同的網頁設計模板生成,因而這些網頁的結構會基本相同,有可能僅存在很少的不同之處,例如,有的網頁中可能包括評論內容,而有的網頁不包括評論內容,但這些網頁都包括標題、作者、發表時間和正文等內容。如果對每個網頁都進行上述的步驟來生成網頁模板,則工作量仍然較大。
[0066]于是,為進一步提高網頁模板的生成效率,所述方法還可以包括:對根據同一資源站點下的多個網頁生成的多個網頁模板進行統計,提取所述多個網頁模板中的相同部分生成最終的網頁模板。具體地,可以對資源站點包括的所有網頁進行抽樣,得到多個網頁;然后,根據上述方法生成多個網頁模板;最后,提取所述多個網頁模板(網頁模板中每條內容區域與內容類型的對應關系為網頁模板的一個部分)中的相同部分生成最終的網頁模板(或者稱為該資源站點的網頁模板)。
[0067]例如,對于360網站,可以先根據該網站的主頁URL (http://www.360.cn/)獲取首頁的HTML文檔;然后對該HTML文檔進行分析發現該網站包括多個(例如1000個)子網頁,于是,從這1000個子網頁按照預定的算法(例如隨機算法)抽取50個子網頁;對這50個子網頁進行可視化標注后生成50個網頁模板;最后,提取這50個網頁模板中的相同部分生成對應于360網站的網頁模板。
[0068]另外,在本發明實施例中,為便于定位和標識網頁中的內容區域,還可以為各內容區域所屬的標簽添加哈希值屬性,相應地,在網頁模板中存儲的就是內容區域所屬標簽的哈希值與選擇的內容類型的對應關系。在此種情況下,本發明實施例的生成網頁模板的方法在構建對網頁進行標注的可視化效果框架的步驟之前,還可以包括如下步驟:
[0069]首先,獲取網頁的源代碼,根據所述源代碼生成所述網頁的DOM(Document ObjectModel,文檔對象模型)樹;
[0070]然后,獲取所述DOM樹中各節點對應的標簽的哈希值;[0071]最后,為所述網頁的各標簽添加哈希值屬性。
[0072]其中,所述哈希值可以包括標簽在所述DOM樹中的層級哈希值和標簽自身的哈希值。標簽在DOM樹中的層級哈希值可以根據當前標簽所在的DOM樹的層級關系計算出來,標簽自身的哈希值可以根據當前標簽所擁有的屬性節點計算出來。
[0073]在具體實現時,可以由服務端來進行標簽的哈希值計算。如圖10所示,服務端210位于搜索引擎200中,搜索引擎200與多個(圖中示出了 3個)第三方網站服務器300通信連接,服務端210可以配合客戶端100來生成網頁模板。此種情況下,所述獲取所述DOM樹中各節點對應的標簽的哈希值可以包括:
[0074]首先,在客戶端100為所述網頁的各標簽添加索引屬性;
[0075]然后,客戶端100將添加索引屬性后的網頁的源代碼發送到服務端210 ;
[0076]其次,服務端210進行標簽的哈希值計算;
[0077]最后,服務端210將標簽索引值與哈希值的對應關系發送到客戶端100。
[0078]在實施本發明時,客戶端的操作可以包括如下步驟:
[0079]首先,在客戶端安裝可視化效果框架生成插件,并訪問第三方網站服務器300中的網頁;
[0080]然后,在一種實現方式中,鼠標移動到網頁內容區域上方,內容區域的上方出現淡藍色的蒙版,表示該內容區域被選中,右鍵單擊,出現選擇菜單,可以選擇該內容區域屬于標題、正文等內容類型;
[0081]最后,標記完成后,客戶端生成網頁|旲板。
[0082]客戶端可以把生成的網頁模板發送給服務端,服務端在進行定向采集網頁內容時即可使用該網頁模板進行信息采集。
[0083]以下給出一個本發明實施例的生成網頁模板的方法一個詳細流程。參照圖4,所述方法包括:
[0084]步驟402,客戶端獲取網頁的源代碼,根據所述源代碼生成所述網頁的DOM樹;
[0085]步驟404,客戶端為DOM樹的每個標簽添加索引屬性,其中,DOM樹的遍歷可以使用深度優先的算法進行;
[0086]步驟406,客戶端把添加索引(index)屬性后的網頁的源代碼發送給服務端,發送
的內容例如為:
[0087]
【權利要求】
1.一種生成網頁模板的方法,包括: 構建對網頁進行標注的可視化效果框架; 獲取對網頁各部分內容區域進行標注的指示; 記錄內容區域與標注指示的對應關系,得到網頁模板。
2.如權利要求1所述的方法,其中: 所述可視化效果框架包括內容區域、位于選中的內容區域上方的蒙版和標注菜單,所述標注菜單包括多種內容類型菜單項; 所述獲取對網頁各部分內容區域進行標注的指示,包括:獲取通過標注菜單選擇的內容類型。
3.如權利要求2所述的方法,其中,在構建對網頁進行標注的可視化效果框架之前,所述方法還包括: 獲取網頁的源代碼,根據所述源代碼生成所述網頁的DOM樹; 獲取所述DOM樹中各節點對應的標簽的哈希值; 為所述網頁的各標簽添加哈希值屬性; 所述記錄內容區域與標注指示的對應關系,包括:記錄內容區域所屬標簽的哈希值與選擇的內容類型的對應關系。
4.如權利要求3所述的方法,其中,還包括:` 對根據同一資源站點下的多個網頁生成的多個網頁模板進行統計,提取所述多個網頁模板中的相同部分生成最終的網頁模板。
5.如權利要求3所述的方法,其中,所述獲取所述DOM樹中各節點對應的標簽的哈希值,包括: 為所述網頁的各標簽添加索引屬性; 將添加索引屬性后的網頁的源代碼發送到服務端,以供服務端進行標簽的哈希值計算; 接收服務端發送的標簽索引值與哈希值的對應關系。
6.一種生成網頁模板的裝置,包括: 可視化效果框架構建器,適于構建對網頁進行標注的可視化效果框架; 標注指示獲取器,適于獲取對網頁各部分內容區域進行標注的指示; 網頁模板生成器,適于記錄內容區域與標注指示的對應關系,得到網頁模板。
7.如權利要求6所述的裝置,其中: 所述可視化效果框架包括內容區域、位于選中的內容區域上方的蒙版和標注菜單,所述標注菜單包括多種內容類型菜單項; 所述標注指示獲取器進一步適于:獲取通過標注菜單選擇的內容類型。
8.如權利要求7所述的裝置,其中,還包括: DOM樹生成器,適于獲取網頁的源代碼,根據所述源代碼生成所述網頁的DOM樹; 哈希值獲取器,適于獲取所述DOM樹中各節點對應的標簽的哈希值; 哈希值屬性添加器,適于為所述網頁的各標簽添加哈希值屬性; 所述網頁模板生成器進一步適于:記錄內容區域所屬標簽的哈希值與選擇的內容類型的對應關系,得到網頁模板。
9.如權利要求8所述的裝置,其中,還包括: 統計器,適于對根據同一資源站點下的多個網頁生成的多個網頁模板進行統計,提取所述多個網頁模板中的相同部分生成最終的網頁模板。
10.如權利要求8所述的裝置,其中,所述哈希值獲取器進一步適于: 為所述網頁的各標簽添加索引屬性; 將添加索引屬性后的網頁的源代碼發送到服務端,以供服務端進行標簽的哈希值計算; 接收服務端發送的標簽索`引值與哈希值的對應關系。
【文檔編號】G06F17/30GK103678509SQ201310606200
【公開日】2014年3月26日 申請日期:2013年11月25日 優先權日:2013年11月25日
【發明者】馬曉輝 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司