專利名稱:將互聯(lián)網(wǎng)頁面轉換為無線應用協(xié)議頁面的轉換方法和裝置的制作方法
技術領域:
本發(fā)明涉及網(wǎng)絡信息處理技術,尤其涉及 一種互聯(lián)網(wǎng)頁面轉換為無線
應用協(xié)議(WAP, Wireless Application Protocol)頁面的方法和裝置。
背景技術:
隨著網(wǎng)絡技術的發(fā)展,無線互聯(lián)網(wǎng)技術也在迅速地發(fā)展,人們可以通 過移動通信終端(例如移動電話、無線掌上電腦等)可以隨時隨地地與他 人聯(lián)系,同時隨著通信資費的降低以及3G技術的推廣,無線互聯(lián)網(wǎng)將有極 大的發(fā)展,并改變我們的生活方式。
目前互聯(lián)網(wǎng)上存在最多的資源是頁面,但是這些頁面是專為個人計算 機(PC)設計的超文本標記語言(HTML, HyperText Markup Language )
格式,由于移動通信終端屏幕大小、處理能力和網(wǎng)絡帶寬的限制,這些頁 面無法直接在移動通信設備上進行瀏覽,針對這種情況,目前出現(xiàn)了以專 用的語言格式生成的WAP頁面,用于在移動通信設備上顯示頁面。所述專 用的語言格式主要包括無線標記語言(WML, Wireless Markup Language ) 格式的標記語言,用于撰寫在移動通信終端上能夠顯示的頁面;還有一種 移動設備可擴展標記語言(XHTML-Mobile, Extensible HyperText Markup Language Mobile ),這種XHTML-Mobile語言格式以可擴展標識語言
(XHTML, The Extensible HyperText Markup Language )描述語言為基礎, 以增強WAP頁面的表現(xiàn)形式。
目前的移動通信設備,例如手機、具有無線通信功能的個人數(shù)字助理
(PDA)等,如果想瀏覽互聯(lián)網(wǎng)上的HTML頁面,則需要安裝能夠解析 HTML格式內(nèi)容的瀏覽器,直接瀏覽HTML頁面內(nèi)容。但是,HTML瀏覽器對用戶無線設備性能要求較高,大部分的無線通信設備無法達到流暢瀏
覽HTML頁面的性能要求。
所以目前大部分移動通信設備只能利用WAP瀏覽器瀏覽專用的無線 標記語言(WML, Wireless Markup Language)或XHTML-Mobile格式的 WAP頁面。然而,在互聯(lián)網(wǎng)上,WAP頁面的數(shù)量遠遠少于互聯(lián)網(wǎng)頁面(主 要是HTML頁面),因此為了讓移動通信設備用戶能夠瀏覽更豐富的信息, 需要將HTML頁面轉換成WAP頁面,例如WML或XHTML-Mobile頁面, 以在無線通信設備上進行瀏覽。
現(xiàn)有的將HTML頁面轉換成WAP頁面的主要方式為參照原始的 HTML頁面進行人工編輯,由人工制作出具有原始HTML頁面內(nèi)容的WML 或XHTML-Mobile頁面,組成WAP站點供移動通信設備訪問。但是,現(xiàn) 有的這種處理方法需要大量的人工參與,工作量巨大,無法適用于互聯(lián)網(wǎng) 上海量的HTML頁面。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明所要解決的技術問題在于提供一種將互聯(lián)網(wǎng)頁面轉換 為WAP頁面的方法,以實現(xiàn)自動轉換頁面,大量減少人工制作的工作量, 使移動通信終端可以直接利用WAP瀏覽器瀏覽大量的互聯(lián)網(wǎng)頁面。
本發(fā)明所要解決的另一技術問題在于提供一種將互聯(lián)網(wǎng)頁面轉換為 WAP頁面的裝置,以實現(xiàn)自動轉換頁面,大量減少人工制作的工作量,使 移動通信終端可以直接利用WAP瀏覽器瀏覽大量的互聯(lián)網(wǎng)頁面。
為了實現(xiàn)上述發(fā)明目的,本發(fā)明的主要技術方案為
一種將互聯(lián)網(wǎng)頁面轉換為無線應用協(xié)議WAP頁面的轉換方法,包括
A、 解析互聯(lián)網(wǎng)頁面,將該互聯(lián)網(wǎng)頁面轉換為文檔對象模型DOM樹;
B、 從步驟A所述的互聯(lián)網(wǎng)頁面DOM樹上提取頁面內(nèi)容,轉換成WAP 頁面的DOM樹;
C、 按照所述WAP頁面DOM樹輸出WAP頁面。
優(yōu)選的,所述步驟B具體為
Bl、根據(jù)所述互聯(lián)網(wǎng)頁面DOM樹的內(nèi)容信息選擇頁面提取方式;
B2、利用所選擇的頁面提取方式對所述互聯(lián)網(wǎng)頁面DOM樹進行提取處
理;
B3、將提取的數(shù)據(jù)轉換為WAP頁面的DOM樹。
優(yōu)選的,所述步驟B1具體包括從所述互聯(lián)網(wǎng)頁面的DOM樹中提取 文字內(nèi)容,統(tǒng)計文字內(nèi)容的大小,并與預定的閾值比較,如果超過所述閾值
則選擇文字頁面提取方式;如果沒有超過所述閾值則選擇完整頁面提取方式。
優(yōu)選的,當步驟B1選擇文字頁面提取方式時
步驟B2具體包括從所述互聯(lián)網(wǎng)頁面的DOM樹中分別查找到標題元 素和正文元素,從查找到的元素的根節(jié)點開始遍歷,提取出所述根節(jié)點及其 子節(jié)點的內(nèi)容,并保持各節(jié)點之間的原有關系;
步驟B3具體包括將所提取出的標題元素和正文元素的節(jié)點轉換為 WAP頁面對應的節(jié)點,并按照各節(jié)點之間的原有關系將節(jié)點內(nèi)容加入到一 新的DOM樹上,得到WAP頁面的DOM樹。
優(yōu)選的,當步驟B1選擇完整頁面提取方式時
步驟B2具體包括從所述互聯(lián)網(wǎng)頁面DOM樹中查找可以在WAP頁面 中顯示的元素,提取這些元素的節(jié)點內(nèi)容,并保持各節(jié)點之間的原有關系;
步驟B3具體包括將所提取出的各元素的節(jié)點轉換為WAP頁面對應 的節(jié)點,并按照各節(jié)點之間的原有關系將節(jié)點內(nèi)容加入到一新的DOM樹上, 得到WAP頁面的DOM樹。
1優(yōu)選的,步驟B2中進一步包括
將所述互聯(lián)網(wǎng)頁面DOM樹中的無法在WAP頁面中顯示的元素轉換為 可以在WAP頁面中顯示的元素,提取這些元素的節(jié)點內(nèi)容,并保持各節(jié)點 之間的原有關系。
優(yōu)選的,步驟B1之后、B2之前進一步包括從所述互聯(lián)網(wǎng)頁面DOM樹中查找區(qū)域元素,對區(qū)域元素進行優(yōu)化處理,將經(jīng)過優(yōu)化處理后的區(qū)域元
素所限定的區(qū)塊作為后續(xù)步驟B2的查找提取對象。
優(yōu)選的,所述步驟A具體為維護一個解析棧,采用壓棧出棧方式遍 歷解析出所述整個互聯(lián)網(wǎng)頁面的元素,并生成DOM樹;其中,對于沒有結 東標簽的元素將其壓棧后立即出棧;對于可以有結束標簽的元素進行回溯操 作,回溯成功則調節(jié)所述解析棧到成功回溯點,回溯失敗則忽略當前的結東 標簽。
優(yōu)選的,步驟C具體為采用深度優(yōu)先方法將所述WAP頁面的DOM
樹上的各個節(jié)點輸出,組成一WAP頁面。
優(yōu)選的,所述互聯(lián)網(wǎng)頁面為超文本標記語言頁面,所述WAP頁面為無
線標記語言頁面或移動設備可擴展標記語言頁面。
一種將互聯(lián)網(wǎng)頁面轉換為WAP頁面的轉換裝置,包括
解析模塊,用于解析互聯(lián)網(wǎng)頁面,將該互聯(lián)網(wǎng)頁面轉換為DOM樹;
頁面提取模塊,用于從所述解析模塊輸出的DOM樹上提取頁面內(nèi)容,
轉換成WAP頁面的DOM樹;
WAP頁面構建模塊,用于按照所述WAP頁面DOM樹構建輸出WAP頁面。
優(yōu)選的,所述頁面提取模塊至少有兩個;且所述轉換裝置進一步包括頁 面提取控制模塊,用于分析所述解析模塊輸出的DOM樹,選擇對應的一個 頁面提取模塊進行提取操作。
優(yōu)選的,所述頁面提取模塊至少包括
文字頁面提取模塊,用于提取所述互聯(lián)網(wǎng)頁面DOM樹的標題元素和正 文元素的節(jié)點內(nèi)容,組成一個WAP頁面的DOM樹,并保持所提取節(jié)點之
間的原有關系;
完整頁面提取模塊,用于提取優(yōu)化所述互聯(lián)網(wǎng)頁面DOM樹的所有元素 的節(jié)點內(nèi)容,轉換成可以在WAP頁面顯示的元素,組成一個WAP頁面的 DOM樹,并保持所提取節(jié)點之間的原有關系。
本發(fā)明中,由于先將互聯(lián)網(wǎng)頁面轉換成DOM樹,使得互聯(lián)網(wǎng)頁面的文檔可以由非常利于計算機分析的DOM樹表示,接下來釆用專用的提取方式 從所述DOM樹中提取頁面內(nèi)容信息,再轉換成可以在WAP頁面中顯示的 內(nèi)容,組成WAP頁面的DOM樹,最后根據(jù)WAP頁面的DOM樹中的信息 生成WAP頁面。因此,本發(fā)明完全可以實現(xiàn)將互聯(lián)網(wǎng)頁面(例如HTML頁 面)自動轉換為WAP頁面,大量減少人工制作的工作量,使移動通信終端 可以直接利用WAP瀏覽器瀏覽大量的互聯(lián)網(wǎng)頁面。本發(fā)明可極大地提高用 戶體驗,也使得用戶可瀏覽的頁面資源由以前數(shù)量較少的WAP網(wǎng)站擴充到 了整個互聯(lián)網(wǎng),極大地提高了資源的豐富程度,為無線互聯(lián)網(wǎng)的普及和發(fā)展 將有著重要的推動作用。
圖1為本發(fā)明所述將HTML頁面轉換為WAP頁面的轉換裝置的一種結 構示意圖2為本發(fā)明所述將HTML頁面轉換為WAP頁面的轉換方法的 一種流 程圖3為一種頁面導航欄的示意圖。
具體實施例方式
下面通過具體實施例和附圖對本發(fā)明做進 一 步詳細說明。 以下實施例中,以所述互聯(lián)網(wǎng)頁面為HTML頁面,所述WAP頁面為 WML或XHTML-Mobile頁面為例進行說明。
圖1為本發(fā)明所述將HTML頁面轉換為WAP頁面的轉換裝置的一種結
構示意圖。參見圖1,該裝置包括
解析模塊(HTML Parser) 101,用于解析HTML頁面文檔11 ,根據(jù)解 析結果將該HTML頁面文檔轉換為HTML的DOM樹12。
頁面提取控制模塊(SkeeterNest) 102,是本發(fā)明所述轉換裝置的核心控制模塊,負責HTML頁面類型的區(qū)分與判斷,根據(jù)HTML頁面的類型調 用不同的頁面提取模塊103來進行頁面提取。
頁面提取模塊103,位于所述轉換裝置的最底層,包括1-N個頁面提取 方式單元(Skeeter),針對不同類型的頁面,將釆用不同類型的頁面提取方 式或者多種頁面提取方式的組合進行提取。所述提取方式可以從所述解析模 塊輸出的HTML的DOM樹12上提取頁面內(nèi)容,組成WAP頁面的DOM樹 13。
WAP頁面構建模塊104,用于按照所述WAP頁面的DOM樹13構建 輸出WAP頁面文檔14。
本發(fā)明中,所述頁面提取模塊至少有兩個
其中一個為文字頁面提取模塊,主要用于處理互聯(lián)網(wǎng)上大量的新聞頁 面,因此也可以稱為新聞頁面提取模塊,由于新聞頁面的主要內(nèi)容是文字部 分,因此該模塊用于提取所述新聞頁面的HTML頁面DOM樹的標題元素和 正文元素的節(jié)點內(nèi)容,組成一個WAP頁面的DOM樹,并保持所提取節(jié)點 之間的原有關系。
另一個為完整頁面提取模塊,用于提取優(yōu)化所述互聯(lián)網(wǎng)頁面DOM樹的 所有元素的節(jié)點內(nèi)容,轉換成可以在WAP頁面顯示的元素,組成一個WAP 頁面的DOM樹,并保持所提取節(jié)點之間的原有關系。該完整頁面提取模塊 主要是用于處理沒有明顯特征的HTML頁面,可以釆用保留頁面所有內(nèi)容 的提取方式,使得轉換后的WAP頁面盡量保持原HTML頁面的所有內(nèi)容。
另外,在本發(fā)明的其它實施例中,也可對HTML頁面進行進一步的細 分得到針對某種具體頁面類型的頁面提取模塊,例如針對論壇頁面的頁面提 取模塊、針對導航欄頁面的頁面提取模塊等,以進一步提高轉換效果。
圖2為本發(fā)明所述將HTML頁面轉換為WAP頁面的轉換方法的一種 流程圖。參見圖2,該方法包括
步驟201、解析HTML頁面文檔,并將其轉化為一顆HTML的DOM 樹,以供后續(xù)分析。本步驟201為所述解析模塊101的執(zhí)行過程。
所述的解析過程可以基于現(xiàn)有的WML解析方法,但是增加了對非完 整性標簽的支持。
解析模塊101釆用狀態(tài)機的方式對HTML頁面文檔進行解析,順序遍
歷頁面文檔,對不同的標簽和文本進行狀態(tài)判斷,隨著頁面文本的遍歷,將
會在狀態(tài)機的各個不同狀態(tài)之間進行跳轉,狀態(tài)機對每個狀態(tài)有著不同的處
理,例如在DOM樹上創(chuàng)建元素、修改元素屬性等,同時會根據(jù)當前狀態(tài)和
下一個讀入的頁面字符,跳轉到其他狀態(tài)或留在當前狀態(tài),直到頁面文檔全
部讀完,同時維護一個解析棧(stack),保留解析的中間狀態(tài)。
例如對于如下的 一段HTML文檔
<formula>complex formula see original document page 11</formula>
解析模塊101的狀態(tài)機初始狀態(tài)為正文狀態(tài)(STATE—HTML—TEXT ),設
立一個指針,從頁面文檔首部即"<"開始遍歷,當發(fā)現(xiàn)是"<"且當前狀態(tài) 為 STATE—HTML—TEXT 時, 進入元素開始狀態(tài)
(STATE—HTML—ELEMENT),繼續(xù)遍歷所述文檔,直到找到">"結東, 進入元素結東狀態(tài)(ST ATE—HTML—ELEMENT_FINISH ),此時創(chuàng)建元素
"html"壓入到解析棧中,并桂到DOM樹上,同時繼續(xù)向前遍歷,當解析 到〈head〉時,創(chuàng)建"head"元素,并加入到當前解析棧首部元素"html"的 子節(jié)點列表中,并將"head"壓棧,繼續(xù)向前遍歷,當解析到々head〉時,進 行出棧操作,將剛才壓入解析棧的"head"出棧,并繼續(xù)解析,后續(xù)的解析 工作與前類似,直到最后完成整個文本的遍歷。
維護解析棧的主要作用是為了支持非完整性標簽。由于HTML中,有 些元素可能有開始標簽但沒有結東標簽,如果不對這種情況作特殊處理,就 會在創(chuàng)建DOM樹的情況時出現(xiàn)錯誤,因此本發(fā)明需要對非完整性標簽進行 處理。
為了支持非完整性標簽,本發(fā)明主要以下強制出棧法和解析?;厮莶?找法進行處理
a)、強制出棧法
對于HTML中的 area、 base、 basefont、 br、 col、 frame 、 hr、 img、 input 、 isindex、 link、 meta、 param等不需要結束標簽的元素,首先將其壓入解析棧 后再立即出棧,這樣就不需要等找到一個所謂的結東標簽才進行出棧工作。
b)對于其他的元素,在目前HTML中可以有結東標簽,也可以沒有 結束標簽。目前的IE等各種瀏覽器并不強制要求HTML中標出結東標簽, 加之IE等瀏覽器對這些元素具有良好的容錯性,因此在目前的瀏覽器中顯 示沒有問題。但是,對于WAP頁面,這些可有可無的結東標簽對解析棧的 操作會造成一定影響,需要進行特殊處理,即需要進行解析?;厮莶檎?,具 體包括以下兩種情況
bl)、如果成功回溯,調節(jié)解析棧到成功回溯點。
例如以下的HTML文檔
</z/m/> <6o(i_y〉 </ >/ze//o wo廠/(i〈/^/w/〉 當解析到々html〉時,解析棧中的元素為html、 body、 p,查找當前元
素p失??;回溯解析棧,查找body失??;回溯到元素html,對比確認為html
元素,修改DOM樹當前的節(jié)點指針到html的父節(jié)點。此處html為根節(jié)點,
則觸發(fā)結東解析文檔消息(endDocument消息),結東整個頁面的解析工作。
b2)、回溯失敗,忽略當前的結束標識。
例如以下的HTML文檔
當解析到々p〉時,解析棧中的元素為html、 body,查找當前元素body 失??;回溯到html,查找p失?。灰呀?jīng)回溯到棧底,回溯失敗,忽略當前結 東表示〈/p〉。
步驟202、對步驟201解析出的HTML頁面的DOM樹進行分析,選擇 適合所轉換HTML頁面的頁面提取方式。
本步驟202主要由所述頁面提取控制模塊執(zhí)行,用于選擇不同的頁面抽 取方式進行嘗試與綜合處理,從而將步驟201解析得到的一個HTML頁面 的DOM樹轉換成 一 個WML/XHTML-Mobile頁面的DOM樹。
本步驟202采用的方式為
利用正文提取技術,將所述HTML頁面的DOM樹中的各個文字內(nèi)容部 分抽取出來,并統(tǒng)計文字內(nèi)容的大小,例如統(tǒng)計提取出的諸如字數(shù)、標點符 號個數(shù),字體大小等信息,并與預定的閾值進行比較,所述的閾值可以根據(jù) 經(jīng)驗來設定,如果某一文字內(nèi)容部分的大小超過一定的閾值,則判定所述 HTML頁面為新聞頁面,需要采用文字頁面提取方式進行提??;如果所有的 文字內(nèi)容部分的大小都沒有超過所述閾值,則判定所述HTML頁面為無明
顯特征的頁面,采用保留頁面所有內(nèi)容的方式進行提取,即采用完整頁面提 取方式進行提取。
步驟203、調用步驟202所選擇的頁面提取方式來完成對所述HTML頁 面的DOM樹的信息提取以及重組成WML/XHTML-Mobile頁面的DOM樹。
例如,本實施例中主要包含針對新聞頁面的文字頁面提取方式和針對非 新聞頁面的完整頁面提取方式,下面分別介紹這兩種提取方式的具體處理方 法
1) 文字頁面提取方式。
如果步驟202選擇文字頁面提取方式,則判定所述HTML頁面新聞頁 面,此時需從所述HTML頁面的DOM樹中分別查找到標題元素和正文元素, 從查找到的元素的根節(jié)點開始遍歷,提取出所述根節(jié)點及其子節(jié)點的內(nèi)容, 并保持各節(jié)點之間的原有關系;然后將所提取出的標題元素和正文元素的節(jié) 點類型轉換為WML/XHTML-Mobile頁面對應的節(jié)點類型,并按照各節(jié)點之 間的原有關系將節(jié)點類型和內(nèi)容加入到 一 新的DOM樹上,得到 WML/XHTML-Mobile頁面的DOM樹。
2) 完整頁面提取方式,也稱為默認頁面提取方式。
如果步驟202選擇完整頁面提取方式,則判定所述HTML頁面為無明 顯特征的頁面,此時需要保留該頁面的所有內(nèi)容,具體處理過程如下
(a)從所述HTML頁面DOM樹中查找在WML/XHTML-Mobile頁面 中有對應項的元素,即該元素可在WML/XHTML-Mobile頁面中顯示,提取
這些元素的節(jié)點內(nèi)容,同時也保持這些元素節(jié)點在原有HTML頁面DOM樹 上的相應關系。
(b )將所述HTML頁面DOM樹中的無法在WML/XHTML-Mobile頁 面中顯示的元素轉換為可以在WML/XHTML-Mobile頁面中顯示的元素,提 取這些元素的節(jié)點內(nèi)容,并保持各節(jié)點之間的原有關系。
此步驟主要處理不能自適應手機屏幕大小的樣式設置的元素,例如對于 輸入框元素,將該輸入框元素的大小轉換為指定的手機屏幕尺寸大小,以避 免在手機上出現(xiàn)顯示不下的情況;另外對于所有的圖片元素,將會利用專門 的圖片轉換服務器將圖像轉化為gif格式,并將其縮放到適合手機屏幕大小 的尺寸。
(c)將上述步驟(a) 、 (b)中提取轉換出的可在WML/XHTML-Mobile 頁面中顯示的每個元素節(jié)點轉換為其在WML/XHTML-Mobile頁面中對應的 元素節(jié)點,并保持原有各個節(jié)點之間的關系,加入到一顆新的DOM樹上, 形成 一顆WML/XHTML-Mobile頁面的DOM樹。
另外,在步驟(a)之前,還可以進一步包括從所述HTML頁面DOM 樹中査找區(qū)域元素,對區(qū)域元素進行優(yōu)化處理,將經(jīng)過優(yōu)化處理后的區(qū)域元 素所限定的區(qū)塊作為后續(xù)步驟(a) 、 (b)的査找提取對象。例如,對于相 互遮蓋的層,僅選取內(nèi)容最豐富的層作為后續(xù)操作的提取對象以進行顯示; 對于一些廣告元素,則可以執(zhí)行去噪處理,去除掉各種無關的廣告元素區(qū)域。
的用戶體驗的頁面特征細節(jié)。例如當查找到類似與圖3所述的頁面導航欄 30時,可以將多個導航鏈接用"+"號隱藏起來,用戶點擊"+"號時才展
開這個部分進行瀏覽,以進一步提高轉換效果。
步驟204、將步驟203轉換后的WML/XHTML-Mobile頁面DOM樹輸 出為 一 張WML/XHTML-Mobile頁面文檔。本步驟所使用的方法比較簡單, 直接采用深度優(yōu)先的方法將WML/XHTML-Mobile頁面DOM樹上的各個節(jié) 點輸出即可,輸出的WML/XHTML-Mobik頁面文檔將保留在存儲服務器中,
前臺的計算機圖形接口 (CGI)將會訪問存儲服務器獲取轉換后的
WML/XHTML-Mobile頁面文檔并顯示對應的WAP頁面給移動通信設備用 戶。本步驟204為所述WAP頁面構建模塊104的執(zhí)行過程。
以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不 局限于此,任何熟悉該技術的人在本發(fā)明所揭露的技術范圍內(nèi),可輕易想到 的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。
權利要求
1、一種將互聯(lián)網(wǎng)頁面轉換為無線應用協(xié)議WAP頁面的轉換方法,其特征在于,包括A、解析互聯(lián)網(wǎng)頁面,將該互聯(lián)網(wǎng)頁面轉換為文檔對象模型DOM樹;B、從步驟A所述的互聯(lián)網(wǎng)頁面DOM樹上提取頁面內(nèi)容,轉換成WAP頁面的DOM樹;C、按照所述WAP頁面DOM樹輸出WAP頁面。
2、 根據(jù)權利要求l所述的方法,其特征在于,所述步驟B具體為 Bl、根據(jù)所述互聯(lián)網(wǎng)頁面DOM樹的內(nèi)容信息選擇頁面提取方式;B2、利用所選擇的頁面提取方式對所述互聯(lián)網(wǎng)頁面DOM樹進行提取處理;B3、將提取的數(shù)據(jù)轉換為WAP頁面的DOM樹。
3、 根據(jù)權利要求2所述的方法,其特征在于,所述步驟Bl具體包括 從所述互聯(lián)網(wǎng)頁面的DOM樹中提取文字內(nèi)容,統(tǒng)計文字內(nèi)容的大小,并與 預定的閾值比較,如果超過所述閾值則選擇文字頁面提取方式;如果沒有超 過所述閾值則選擇完整頁面提取方式。
4、 根據(jù)權利要求3所述的方法,其特征在于,當步驟B1選擇文字頁面 提取方式時步驟B2具體包括從所述互聯(lián)網(wǎng)頁面的DOM樹中分別查找到標題元 素和正文元素,從查找到的元素的根節(jié)點開始遍歷,提取出所述根節(jié)點及其 子節(jié)點的內(nèi)容,并保持各節(jié)點之間的原有關系;步驟B3具體包括將所提取出的標題元素和正文元素的節(jié)點轉換為 WAP頁面對應的節(jié)點,并按照各節(jié)點之間的原有關系將節(jié)點內(nèi)容加入到一 新的DOM樹上,得到WAP頁面的DOM樹。
5、 根據(jù)權利要求3所述的方法,其特征在于,當步驟B1選擇完整頁面 提取方式時步驟B2具體包括從所述互聯(lián)網(wǎng)頁面DOM樹中查找可以在WAP頁面 中顯示的元素,提取這些元素的節(jié)點內(nèi)容,并保持各節(jié)點之間的原有關系;步驟B3具體包括將所提取出的各元素的節(jié)點轉換為WAP頁面對應 的節(jié)點,并按照各節(jié)點之間的原有關系將節(jié)點內(nèi)容加入到一新的DOM樹上, 得到WAP頁面的DOM樹。
6、 根據(jù)權利要求5所述的方法,其特征在于,步驟B2中進一步包括 將所述互聯(lián)網(wǎng)頁面DOM樹中的無法在WAP頁面中顯示的元素轉換為可以在WAP頁面中顯示的元素,提取這些元素的節(jié)點內(nèi)容,并保持各節(jié)點 之間的原有關系。
7、 根據(jù)權利要求5所述的方法,其特征在于,步驟B1之后、B2之前 進一步包括從所述互聯(lián)網(wǎng)頁面DOM樹中查找區(qū)域元素,對區(qū)域元素進行 優(yōu)化處理,將經(jīng)過優(yōu)化處理后的區(qū)域元素所限定的區(qū)塊作為后續(xù)步驟B2的查找提取對象。
8、 根據(jù)權利要求1所述的方法,其特征在于,所述步驟A具體為維 護一個解析棧,釆用壓棧出棧方式遍歷解析出所述整個互聯(lián)網(wǎng)頁面的元素,并生成DOM樹;其中,對于沒有結東標簽的元素將其壓棧后立即出棧;對 于可以有結東標簽的元素進行回溯操作,回溯成功則調節(jié)所述解析棧到成功回溯點,回溯失敗則忽略當前的結束標簽。
9、 根據(jù)權利要求1所述的方法,其特征在于,步驟C具體為采用深 度優(yōu)先方法將所述WAP頁面的DOM樹上的各個節(jié)點輸出,組成一 WAP 頁面。
10、 根據(jù)權利要求1至9任一項所述的方法,其特征在于,所述互聯(lián)網(wǎng) 頁面為超文本標記語言頁面,所述WAP頁面為無線標記語言頁面或移動設 備可擴展標記語言頁面。
11、 一種將互聯(lián)網(wǎng)頁面轉換為WAP頁面的轉換裝置,其特征在于,包括解析模塊,用于解析互聯(lián)網(wǎng)頁面,將該互聯(lián)網(wǎng)頁面轉換為DOM樹;頁面提取模塊,用于從所述解析模塊輸出的DOM樹上提取頁面內(nèi)容,轉換成WAP頁面的DOM樹;WAP頁面構建模塊,用于按照所述WAP頁面DOM樹構建輸出WAP頁面。
12、 根據(jù)權利要求11所述的轉換裝置,其特征在于,所述頁面提取模 塊至少有兩個;且所述轉換裝置進一步包括頁面提取控制模塊,用于分析所 述解析模塊輸出的DOM樹,選擇對應的一個頁面提取模塊進行提取操作。
13、 根據(jù)權利要求ll所述的轉換裝置,其特征在于,所述頁面提取模 塊至少包括文字頁面提取模塊,用于提取所述互聯(lián)網(wǎng)頁面DOM樹的標題元素和正 文元素的節(jié)點內(nèi)容,組成一個WAP頁面的DOM樹,并保持所提取節(jié)點之 間的原有關系;完整頁面提取模塊,用于提取優(yōu)化所述互聯(lián)網(wǎng)頁面DOM樹的所有元素 的節(jié)點內(nèi)容,轉換成可以在WAP頁面顯示的元素,組成一個WAP頁面的 DOM樹,并保持所提取節(jié)點之間的原有關系。
全文摘要
本發(fā)明公開了將互聯(lián)網(wǎng)頁面轉換為無線應用協(xié)議(WAP)頁面的轉換方法,包括解析互聯(lián)網(wǎng)頁面,將該互聯(lián)網(wǎng)頁面轉換為文檔對象模型(DOM)樹;從所述互聯(lián)網(wǎng)頁面DOM樹上提取頁面內(nèi)容,轉換成WAP頁面的DOM樹;按照所述WAP頁面DOM樹輸出WAP頁面。裝置包括解析模塊,用于解析互聯(lián)網(wǎng)頁面,將該互聯(lián)網(wǎng)頁面轉換為DOM樹;頁面提取模塊,用于從所述互聯(lián)網(wǎng)頁面DOM樹上提取頁面內(nèi)容,轉換成WAP頁面的DOM樹;WAP頁面構建模塊,用于按照所述WAP頁面DOM樹構建輸出WAP頁面。利用本發(fā)明,可以實現(xiàn)自動轉換頁面,大量減少人工制作的工作量,使移動通信終端可以直接利用WAP瀏覽器瀏覽大量的互聯(lián)網(wǎng)頁面。
文檔編號H04L29/08GK101197849SQ200710303789
公開日2008年6月11日 申請日期2007年12月21日 優(yōu)先權日2007年12月21日
發(fā)明者為 王, 宇 紀 申請人:騰訊科技(深圳)有限公司