摘 要: 設(shè)計(jì)和實(shí)現(xiàn)了從互聯(lián)網(wǎng)頁(yè)面到手機(jī)頁(yè)面的適配轉(zhuǎn)換機(jī)制,提出了基于樹(shù)結(jié)構(gòu)分析的Web頁(yè)面適配方法,該適配方法首先對(duì)互聯(lián)網(wǎng)頁(yè)面建立對(duì)應(yīng)的文檔模型樹(shù)結(jié)構(gòu),依據(jù)用戶硬件數(shù)據(jù)信息,對(duì)這棵樹(shù)進(jìn)行網(wǎng)頁(yè)去噪聲、對(duì)Frameset/Iframe適配、分頁(yè)重排、智能緩存以及多國(guó)語(yǔ)言字符集支持的操作,最終得到XHTML MP頁(yè)面,完成了Web頁(yè)面到手機(jī)頁(yè)面的轉(zhuǎn)換。通過(guò)實(shí)驗(yàn),驗(yàn)證了整個(gè)頁(yè)面適配過(guò)程和方法的可行性。
關(guān)鍵詞: 互聯(lián)網(wǎng)頁(yè)面適配網(wǎng)關(guān);樹(shù)結(jié)構(gòu);頁(yè)面適配;文檔對(duì)象模型
隨著信息化時(shí)代的到來(lái),手機(jī)越來(lái)越智能化,但手機(jī)用戶訪問(wèn)WWW站點(diǎn)的需求仍得不到很好的解決。目前主流的應(yīng)對(duì)措施是研發(fā)手機(jī)瀏覽器,但通過(guò)這種方式,只能使較高端的手機(jī)得到較好的用戶體驗(yàn),不能解決大量中低端的手機(jī)硬件限制的問(wèn)題,中低端用戶群依然得不到很好的業(yè)務(wù)使用保障,也無(wú)法有效地訪問(wèn)WWW站點(diǎn)[1]。
網(wǎng)頁(yè)適配網(wǎng)關(guān)是隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展需要新產(chǎn)生的一種設(shè)計(jì)架構(gòu),近幾年內(nèi)不斷有國(guó)內(nèi)外的專家學(xué)者提出了類似網(wǎng)頁(yè)適配網(wǎng)關(guān)這種設(shè)計(jì)概念。2005年LAAKKO T和HILTUNEN T提出內(nèi)容適配網(wǎng)關(guān)解決針對(duì)Web頁(yè)面手機(jī)終端開(kāi)發(fā)的問(wèn)題,使得手機(jī)用戶有效地使用互聯(lián)網(wǎng)信息[2]。2010年甘玉玨等人也做了相關(guān)的研究[3]。
本文在WAP 2.0的基礎(chǔ)上,設(shè)計(jì)和實(shí)現(xiàn)了從互聯(lián)網(wǎng)頁(yè)面到手機(jī)頁(yè)面的適配轉(zhuǎn)換機(jī)制,提出了基于樹(shù)結(jié)構(gòu)分析的Web頁(yè)面適配方法,并對(duì)系統(tǒng)進(jìn)行了算法的設(shè)計(jì)和C++實(shí)現(xiàn)。算法實(shí)現(xiàn)了HTML標(biāo)簽語(yǔ)言到XHTML MP標(biāo)簽語(yǔ)言的轉(zhuǎn)換,依據(jù)用戶硬件數(shù)據(jù)信息,對(duì)互聯(lián)網(wǎng)上的內(nèi)容進(jìn)行了適配,突破了手機(jī)屏幕尺寸,內(nèi)存等硬件限制,滿足了各種類型的手機(jī)終端訪問(wèn)WWW站點(diǎn)的需求。
1 算法描述
本文設(shè)計(jì)和實(shí)現(xiàn)了一個(gè)基于樹(shù)結(jié)構(gòu)的的網(wǎng)頁(yè)面適配方法,實(shí)現(xiàn)了以下7個(gè)主要功能:
?。?)DOM樹(shù)結(jié)構(gòu)解析HTML;
?。?)去掉網(wǎng)頁(yè)內(nèi)復(fù)雜的節(jié)點(diǎn),實(shí)現(xiàn)網(wǎng)頁(yè)去噪聲;
?。?)按照一定規(guī)則處理頁(yè)面上的框架,輸出經(jīng)過(guò)處理的HTML或序列化后的DOM樹(shù);
(4)對(duì)不符合手機(jī)終端屏幕大小的大頁(yè)面進(jìn)行網(wǎng)頁(yè)切片;
(5)頁(yè)面重排;
(6)分頁(yè)緩存的設(shè)計(jì)與實(shí)現(xiàn);
(7)多國(guó)語(yǔ)言字符集支持。
該方法包括接收和處理用戶HTTP請(qǐng)求,將網(wǎng)頁(yè)內(nèi)容的標(biāo)簽語(yǔ)言HTML轉(zhuǎn)換為符合手機(jī)標(biāo)準(zhǔn)的標(biāo)簽語(yǔ)言XHTML MP,同時(shí)要將大頁(yè)面的內(nèi)容根據(jù)手機(jī)屏幕大小進(jìn)行分頁(yè),并且將分頁(yè)的數(shù)據(jù)結(jié)果存入到模塊的分片緩存中。本文的Web頁(yè)面處理方法是頁(yè)面適配網(wǎng)關(guān)的核心環(huán)節(jié)和數(shù)據(jù)處理速度的瓶頸,基于DOM Tree的HTML解析過(guò)程和分片緩存的設(shè)計(jì)大大提高了網(wǎng)關(guān)的效率。
1.1 DOM樹(shù)結(jié)構(gòu)化Web頁(yè)面
Web網(wǎng)頁(yè)大多由HTML標(biāo)簽語(yǔ)言構(gòu)成,HTML是非結(jié)構(gòu)化的,很難直接應(yīng)用于下一步的研究和開(kāi)發(fā)中。因此本文在Web網(wǎng)頁(yè)適配方法中首先將HTML頁(yè)面解析為DOM Tree的邏輯結(jié)構(gòu),提交給下一步的操作[4]。
本文算法采用的是基于標(biāo)簽結(jié)構(gòu)的網(wǎng)頁(yè)內(nèi)容分析方法,所有對(duì)于Web頁(yè)面內(nèi)容的分析都是通過(guò)HTML標(biāo)簽來(lái)加以識(shí)別和分析的,例如通過(guò)frameset、frame和iframe來(lái)識(shí)別網(wǎng)頁(yè)中的框架元素,并加以提取和分析處理。但由于HTML文檔是無(wú)結(jié)構(gòu)的,因此需要基于DOM樹(shù)結(jié)構(gòu)分析對(duì)HTML文檔標(biāo)簽進(jìn)一步的處理[5]。
HTML原本是專為方便網(wǎng)頁(yè)瀏覽器訪問(wèn)電子文檔而設(shè)計(jì)的,但隨著HTML的發(fā)展而進(jìn)行改進(jìn)設(shè)計(jì)的瀏覽器可以容許錯(cuò)誤的編碼、忽略錯(cuò)誤的語(yǔ)法和允許“邋遢”的HTML代碼。網(wǎng)頁(yè)瀏覽器包含了許多可以忽略錯(cuò)誤的程序指令,例如丟失結(jié)束標(biāo)記的錯(cuò)誤。即使HTML文檔在語(yǔ)法上錯(cuò)誤百出,PC瀏覽器一樣能讀它。由此造成了Web上的HTML文檔內(nèi)容大部分格式不友好,手機(jī)瀏覽器不能支持,顯示這些文檔的數(shù)據(jù)變得比較困難。為了解決這個(gè)問(wèn)題,本文采用了支持DOM的開(kāi)放源代碼的Tidy庫(kù)。
DOM可以將整個(gè)HTML頁(yè)面文檔規(guī)劃成由多個(gè)相互連接的節(jié)點(diǎn)集合構(gòu)成的文檔,文檔中的每個(gè)部分都可以被看作是一個(gè)節(jié)點(diǎn)的衍生物。這樣一個(gè)節(jié)點(diǎn)的集合在邏輯形式上被看作為一棵DOM樹(shù)。DOM樹(shù)中的文本內(nèi)容和層次結(jié)構(gòu)可以有效地指導(dǎo)數(shù)據(jù)區(qū)域定位和實(shí)體區(qū)域定位,這令HTML結(jié)構(gòu)解析的難度大大減低。HTML文檔中的所有節(jié)點(diǎn)組成了一棵文檔節(jié)點(diǎn)樹(shù),樹(shù)中的節(jié)點(diǎn)代表了HTML文檔中的元素、屬性和文本等。HTML DOM節(jié)點(diǎn)之間存在等級(jí)關(guān)系。樹(shù)的根節(jié)點(diǎn)為HTML文檔節(jié)點(diǎn),并由此派生出它的子樹(shù),直到這棵樹(shù)的所有最低級(jí)別的文本節(jié)點(diǎn)為止。
?。?)對(duì)Tidy進(jìn)行封裝
在系統(tǒng)的實(shí)際開(kāi)發(fā)中,本文對(duì)Tidy進(jìn)行了客戶化的操作,使其可以將HTML頁(yè)面轉(zhuǎn)換為符合W3C標(biāo)準(zhǔn)的XHTML-MP。Tidy最初設(shè)計(jì)的目的是用來(lái)自動(dòng)修正HTML中的錯(cuò)誤和松散的標(biāo)簽,檢查HTML代碼,并指出其中沒(méi)有完全符合W3C發(fā)布標(biāo)準(zhǔn)的地方,它可以用來(lái)分析一個(gè)HTML文件或者一個(gè)包含HTML語(yǔ)句的字符串,還可以自動(dòng)進(jìn)行必需的修改以使代碼符合相關(guān)標(biāo)準(zhǔn)的要求。
由于Tidy支持HTML與XHTML的互相轉(zhuǎn)換以及HTML轉(zhuǎn)換為XML,因此本文在Tidy基礎(chǔ)上,對(duì)它進(jìn)行了一系列的封裝和客戶化,進(jìn)行了應(yīng)用級(jí)別的開(kāi)發(fā)。這些新的函數(shù)包括checkXhtmlMP(),parseDomTree(),paginate(),F(xiàn)rameSetProcessor(),restruct()等,它們是在Tidy基礎(chǔ)上,進(jìn)行二次開(kāi)發(fā)的。
(2)建立HTML DOM Tree
HTML文檔結(jié)構(gòu)化為一棵DOM Tree的過(guò)程實(shí)際上就是新建一個(gè)DOM Tree對(duì)象并且初始化的過(guò)程。本文的實(shí)現(xiàn)方法是新建一個(gè)DOM Tree列表:TidyDoc*docs=new TidyDoc[out_num]。
1.2 網(wǎng)頁(yè)去噪聲的設(shè)計(jì)與實(shí)現(xiàn)
網(wǎng)頁(yè)中的與主題內(nèi)容無(wú)關(guān)的元素,如版權(quán)、廣告、導(dǎo)航欄等,稱為網(wǎng)頁(yè)噪聲。據(jù)統(tǒng)計(jì),每張網(wǎng)頁(yè)中有多達(dá)40%~50%的內(nèi)容是模板噪音。噪音會(huì)對(duì)網(wǎng)頁(yè)信息處理造成很大干擾。
1.2.1 去噪聲策略
HTML原本是一種簡(jiǎn)單的標(biāo)簽語(yǔ)言,但Web網(wǎng)頁(yè)發(fā)展迅速,Javascript使得動(dòng)態(tài)網(wǎng)頁(yè)的可交互性變得更為強(qiáng)大,CSS、Image、Flash以及各種插件使得Web家族變得日益龐大,也給手機(jī)用戶瀏覽Web頁(yè)面帶來(lái)了困難[6]。因此本論文在HTML DOM Tree建立的基礎(chǔ)上,保留了Frame相關(guān)的元素,裁剪了其他的所有標(biāo)簽,并交付給網(wǎng)關(guān)框架中的其他模塊做適配和處理。
另外,網(wǎng)頁(yè)中有些次要元素包括廣告信息、不可見(jiàn)的外部鏈接、用于網(wǎng)頁(yè)修飾的圖片元素對(duì)手機(jī)用戶獲取信息并不是必要條件的內(nèi)容或者不可見(jiàn)的內(nèi)容,需要網(wǎng)頁(yè)適配網(wǎng)關(guān)采取必要的裁剪,將更簡(jiǎn)單清晰的Web頁(yè)面內(nèi)容返回到手機(jī)用戶的終端屏幕上。
1.2.2 本文網(wǎng)頁(yè)去噪聲的具體實(shí)現(xiàn)
?。?)從文檔根節(jié)點(diǎn)開(kāi)始,深度遍歷已經(jīng)建立的HTML DOM Tree;按照表1所示的標(biāo)簽刪減子節(jié)點(diǎn),將script塊的內(nèi)容交付給JavaScript模塊進(jìn)行處理。
(2)將去噪聲后的HTML文本內(nèi)容保存為一棵新的DOM Tree。
1.3 Frameset/Iframe適配算法
1.3.1 ICAP模式
本文是基于ICAP協(xié)議的應(yīng)用網(wǎng)關(guān)開(kāi)發(fā)。ICAP協(xié)議在結(jié)構(gòu)和用法上是和HTTP協(xié)議有一樣具有請(qǐng)求和應(yīng)答模式,它包括兩種模式:REQMOD和RESPMOD。
到origin server取回Frame頁(yè)面時(shí),需要在ICAP REQMOD下進(jìn)行,因此本文研究的Frame處理方法是基于REQMOD模式的。
1.3.2 Web頁(yè)面中Frameset的處理
HTML頁(yè)面中的Frameset代表一個(gè)框架集,用于組織多個(gè)框架和嵌套框架集。Frame在Frameset元素內(nèi)表示單個(gè)框架。通過(guò)使用框架集,在同一個(gè)瀏覽器窗口中可以顯示不止一個(gè)頁(yè)面,每個(gè)頁(yè)面被稱為一個(gè)框架,每個(gè)框架獨(dú)立于其他框架顯示。
目前大多手機(jī)終端不能處理網(wǎng)頁(yè)中的Frameset,因此對(duì)網(wǎng)頁(yè)中的Frame進(jìn)行重新適配,變得非常必要。
?。?)對(duì)Frameset的處理原則
多數(shù)手機(jī)終端不能處理Frameset,所有Frame頁(yè)面的內(nèi)容應(yīng)該被整合到同一個(gè)頁(yè)面中,才能使頁(yè)面內(nèi)容被有效使用。基于這個(gè)原則,本文將Frameset轉(zhuǎn)換成標(biāo)準(zhǔn)頁(yè),HTML文檔中與Frame相關(guān)的標(biāo)簽將被刪除,如表1所示,F(xiàn)rameset標(biāo)簽被替換為body,而Frame則被替換為div,適配后將得到新的XHTML MP文檔。
當(dāng)http request的header經(jīng)過(guò)squid代理服務(wù)器傳遞給Icap server,再傳達(dá)給Web頁(yè)面適配網(wǎng)關(guān),網(wǎng)關(guān)提取Http header中的User-Agent信息,并去用戶數(shù)據(jù)信息緩存中取手機(jī)終端信息,根據(jù)Frame處理過(guò)程,相對(duì)的URL地址會(huì)被改寫成絕對(duì)URL,并按照這個(gè)絕對(duì)的URL地址到original server取回每個(gè)Frame的內(nèi)容,對(duì)標(biāo)簽Frame用div進(jìn)行替換;并對(duì)網(wǎng)頁(yè)重排后,將三個(gè)Frame的內(nèi)容重新排列到同一個(gè)頁(yè)面里,得到如下適配結(jié)果,經(jīng)過(guò)checkMP函數(shù),得到審核后的適配布局。
?。?)Web頁(yè)面中Iframe的處理
Iframe是HTML頁(yè)面中的內(nèi)聯(lián)框架。HTML文檔在瀏覽器端的顯示結(jié)果是一張頁(yè)面內(nèi)嵌的圖片。通過(guò)例子中的HTML文檔,可以觀察到Iframe最主要的特點(diǎn)是內(nèi)置于HTML標(biāo)簽body內(nèi),所以Iframe也被稱為內(nèi)嵌框架。
表2顯示的是在HTML DOM Tree中(即HTML文檔中),iframe節(jié)點(diǎn)要被替換為div節(jié)點(diǎn),符合XHTML MP移動(dòng)概要,才能在手機(jī)終端上顯示Iframe的內(nèi)容。
1.4 頁(yè)面重排設(shè)計(jì)與實(shí)現(xiàn)
本文研究的網(wǎng)頁(yè)重排方法是一種基于通用規(guī)則的網(wǎng)頁(yè)重布局方法,需要將HTML語(yǔ)言到W3C定義的手機(jī)標(biāo)準(zhǔn)格式語(yǔ)言XHTML MP。網(wǎng)頁(yè)重排后輸出的DOM Tree將由HTML DOM Tree轉(zhuǎn)換為XHTML DOM Tree。
網(wǎng)頁(yè)重排是指讓W(xué)eb頁(yè)面上的內(nèi)容在手機(jī)上的顯示效果主次分明,適合在手機(jī)上閱讀,方便用戶迅速定位到自己感興趣的內(nèi)容。
現(xiàn)在的網(wǎng)頁(yè)排版優(yōu)化方法主要有基于通用規(guī)則的網(wǎng)頁(yè)內(nèi)容局部變換,以及基于網(wǎng)頁(yè)封裝器的頁(yè)面定制這兩種手段?;谕ㄓ靡?guī)則進(jìn)行網(wǎng)頁(yè)內(nèi)容局部變換是網(wǎng)頁(yè)重排的一種方法,其基本原理是根據(jù)頁(yè)面內(nèi)容本身的結(jié)構(gòu)特點(diǎn),研究出可以讓網(wǎng)頁(yè)在手機(jī)上顯示效果更好的局部變換規(guī)則,這些規(guī)則具有明確的觸發(fā)條件,當(dāng)條件成立時(shí),在輸出數(shù)據(jù)中添加特定結(jié)構(gòu)或內(nèi)容,或者選擇忽略或輸出原頁(yè)面特定的結(jié)構(gòu)和內(nèi)容。對(duì)頁(yè)面內(nèi)容的局部變換通常會(huì)使用一些比較保守的策略。其優(yōu)點(diǎn)是可以應(yīng)用于各種頁(yè)面,并能在一定程度上降低頁(yè)面數(shù)據(jù)流量和頁(yè)面排版的復(fù)雜度,缺點(diǎn)是精確性比較低。
本文Web頁(yè)面到XHTML MP頁(yè)面的網(wǎng)頁(yè)重排過(guò)程如圖1所示。
網(wǎng)頁(yè)重排時(shí)先從用戶信息緩存中取回重排需要的一個(gè)參數(shù)maxResponseSize(最大響應(yīng)大?。?。這個(gè)參數(shù)決定一頁(yè)內(nèi)容的大小,在網(wǎng)頁(yè)分片中使用過(guò)。另外還需要得到手機(jī)的品牌型號(hào)。
1.5 分頁(yè)的設(shè)計(jì)方案
為解決Web頁(yè)面適配后整個(gè)頁(yè)面內(nèi)容冗長(zhǎng)的問(wèn)題,本文提出要對(duì)適配后的網(wǎng)頁(yè)進(jìn)行分頁(yè)。網(wǎng)頁(yè)分頁(yè)就是在HTML文檔樹(shù)中確定分頁(yè)的節(jié)點(diǎn),將Web頁(yè)面進(jìn)行切分的過(guò)程。
為了提高系統(tǒng)的效率,本文在系統(tǒng)的實(shí)際開(kāi)發(fā)中設(shè)置了分片緩存這個(gè)子模塊。分頁(yè)緩存指的是在頁(yè)面適配網(wǎng)關(guān)中設(shè)置一個(gè)只能緩存模塊存儲(chǔ)用戶訪問(wèn)過(guò)的Web網(wǎng)頁(yè),這些網(wǎng)頁(yè)是以往同一型號(hào)手機(jī)用戶通過(guò)頁(yè)面適配網(wǎng)關(guān)訪問(wèn)過(guò)的頁(yè)面,已經(jīng)經(jīng)過(guò)適配但并沒(méi)被更新。因此手機(jī)用戶不必在每次訪問(wèn)WWW站點(diǎn)時(shí)都要重新進(jìn)行頁(yè)面適配,而只在該型號(hào)手機(jī)第一次訪問(wèn)時(shí)再進(jìn)行頁(yè)面適配。
當(dāng)緩存中有相應(yīng)的內(nèi)容,分片緩存直接將緩存的相應(yīng)頁(yè)面發(fā)給用戶,可以避免重復(fù)訪問(wèn)Web網(wǎng)站上的靜態(tài)內(nèi)容,重復(fù)再做網(wǎng)頁(yè)適配,從而減少中間件到網(wǎng)站獲取網(wǎng)頁(yè)的連接時(shí)延和傳輸耗時(shí)。設(shè)立分片緩存同時(shí)可以使用戶直接跳到目標(biāo)頁(yè),提高了訪問(wèn)速度。
2 算法驗(yàn)證
2.1不含F(xiàn)rame的頁(yè)面適配實(shí)驗(yàn)
在本模擬實(shí)驗(yàn)中采用大小為50 KB的W3C測(cè)試頁(yè)面。這個(gè)測(cè)試頁(yè)面非常典型,是不含有Frame的普通網(wǎng)頁(yè),這使實(shí)驗(yàn)的測(cè)試點(diǎn)足夠小,去掉了Frame的干擾情況。在這個(gè)模擬實(shí)驗(yàn)中,只需要驗(yàn)證這個(gè)網(wǎng)頁(yè)是否經(jīng)過(guò)了本文所實(shí)現(xiàn)的適配流程:建立DOM Tree->去噪聲->網(wǎng)頁(yè)重排->網(wǎng)頁(yè)切片。W3C測(cè)試頁(yè)面經(jīng)適配前的顯示效果如圖2所示。
HTTP Request的header經(jīng)過(guò)squid代理服務(wù)器傳遞給Icap server后,再傳達(dá)給Web頁(yè)面適配網(wǎng)關(guān),網(wǎng)關(guān)提取Http header中的User-Agent信息,并去用戶數(shù)據(jù)信息緩存中取手機(jī)終端信息。根據(jù)用戶信息,Web頁(yè)面適配網(wǎng)關(guān)進(jìn)行了網(wǎng)頁(yè)解析、去噪聲、網(wǎng)頁(yè)分頁(yè)、網(wǎng)頁(yè)重排,W3C頁(yè)面經(jīng)頁(yè)面適配網(wǎng)關(guān)的適配結(jié)果如圖3所示。從結(jié)果中,可以看到經(jīng)過(guò)網(wǎng)頁(yè)分頁(yè)處理,頁(yè)面被切成了兩頁(yè)。經(jīng)過(guò)網(wǎng)頁(yè)重排,網(wǎng)頁(yè)的布局有所改變,符合本模擬實(shí)驗(yàn)中測(cè)試手機(jī)的屏幕大小。網(wǎng)頁(yè)中的噪聲點(diǎn)被取出,得到的結(jié)果更簡(jiǎn)潔,適合手機(jī)顯示。這個(gè)實(shí)驗(yàn)很好地驗(yàn)證了Web適配系統(tǒng)的功能。
用戶信息數(shù)據(jù)庫(kù)用在終端適配中,這個(gè)數(shù)據(jù)庫(kù)存儲(chǔ)了目前世界上主流手機(jī)的品牌型號(hào)以及操作系統(tǒng)。頁(yè)面適配網(wǎng)關(guān)在收到HTTP請(qǐng)求時(shí),將查看HTTP頭部的字段,得到手機(jī)品牌型號(hào)后,在用戶信息數(shù)據(jù)庫(kù)中查找出該手機(jī)品牌型號(hào)的操作系統(tǒng)以及屏幕尺寸大小、分辨率、手機(jī)內(nèi)存等性能參數(shù)。這些信息同時(shí)將存入用戶信息緩存中,向頁(yè)面適配網(wǎng)關(guān)的其他處理模塊傳遞相應(yīng)的數(shù)據(jù)參數(shù)。
2.2 Frame頁(yè)面適配實(shí)驗(yàn)
為驗(yàn)證本文工作的Frame頁(yè)面適配子模塊,本文模擬了Web頁(yè)面中含有Frameset的情況。
2.3 分頁(yè)和重排黑盒實(shí)驗(yàn)
分頁(yè)和重排黑盒實(shí)驗(yàn)測(cè)試了Web網(wǎng)關(guān)將大頁(yè)面進(jìn)行分頁(yè)和重排的過(guò)程。
實(shí)驗(yàn)結(jié)果顯示,其中分頁(yè)的結(jié)果不完全與測(cè)試頁(yè)面完全對(duì)應(yīng),原因主要有兩點(diǎn):(1)在整個(gè)互聯(lián)網(wǎng)頁(yè)面適配網(wǎng)關(guān)中,廣告投放模塊會(huì)將格外地在適配后的結(jié)果中投放廣告等內(nèi)容。(2)當(dāng)測(cè)試頁(yè)面經(jīng)過(guò)適配方法的去噪聲模塊后,不能被網(wǎng)關(guān)適配且手機(jī)終端不能支持的模塊內(nèi)容從頁(yè)面中被刪除了。
本文提出的基于樹(shù)結(jié)構(gòu)的互聯(lián)網(wǎng)頁(yè)面適配方法解決了互聯(lián)網(wǎng)頁(yè)面適配網(wǎng)關(guān)中的HTML適配,并分別通過(guò)黑盒實(shí)驗(yàn)驗(yàn)證了互聯(lián)網(wǎng)頁(yè)面適配方法的可行性,白盒實(shí)驗(yàn)驗(yàn)證適配算法C++程序代碼路徑的正確性。該項(xiàng)目成果已經(jīng)在某一品牌手機(jī)中得到了具體驗(yàn)證。
參考文獻(xiàn)
[1] 小雨.愛(ài)立信Web網(wǎng)關(guān)提升移動(dòng)互聯(lián)網(wǎng)應(yīng)用體驗(yàn)[J].世
界電信(企業(yè)報(bào)道版),2009(4):76.
[2] LAAKKO T, HILTUNEN T. Adapting Web content to mobile useragents[J]. IEEE Internet Computing,2005,9(2):46-53.
[3] 甘玉玨,楊杰,蘇軍根,等.移動(dòng)互聯(lián)網(wǎng)Web網(wǎng)關(guān)的設(shè)計(jì)[J].移動(dòng)通信,2010(22):71-74.
[4] 李猛.基于DOM的Web信息抽出技術(shù)的研究與實(shí)現(xiàn)[D].大連:大連理工大學(xué),2008.
[5] 寇月,李冬,申德榮,等.D2EEM:一種基于DOM樹(shù)的Deep Web 實(shí)體抽取機(jī)制[J].計(jì)算機(jī)研究與發(fā)展,2010,47(5):858-865.
[6] 時(shí)達(dá)明,林鴻飛,楊志豪.基于網(wǎng)頁(yè)框架和規(guī)則的網(wǎng)頁(yè)噪音去除方法[J].計(jì)算機(jī)工程,2008,33(19):276-278.