專利名稱:一種計(jì)算機(jī)實(shí)現(xiàn)的用于優(yōu)化標(biāo)記語言文本的方法與設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)優(yōu)化計(jì)算領(lǐng)域,尤其涉及一種優(yōu)化標(biāo)記語言文本的技術(shù)。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展與應(yīng)用,人們對網(wǎng)頁下載速度有了更高的要求,由此標(biāo)記語言文本,如HTML等的優(yōu)化技術(shù)受到越來越多的關(guān)注并得到一定程度的發(fā)展。由于許多標(biāo)記語言文本中包含大堆冗余信息,這些冗余信息給本來應(yīng)該盡可能保持輕量級的頁面增加一定不必要的負(fù)擔(dān)且占據(jù)大量存儲空間,降低頁面加載速度,進(jìn)而降低了頁面的可訪問性和易維護(hù)性?,F(xiàn)有技術(shù)主要利用正則表達(dá)式匹配的方法對例如HTML文本進(jìn)行優(yōu)化處理,以減少其文本大小,但該方法僅能夠去除HTML文本中有限的冗余內(nèi)容,如換行、注釋等,不
能對HTML標(biāo)簽中的內(nèi)容進(jìn)行優(yōu)化,并且利用正則表達(dá)式匹配的方式進(jìn)行優(yōu)化可能導(dǎo)致對HTML內(nèi)容的破壞。因此,如何有效地優(yōu)化標(biāo)記語言文本,成為目前亟待解決的問題之一。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種用于優(yōu)化標(biāo)記語言文本的方法與設(shè)備。根據(jù)本發(fā)明的一個(gè)方面,提供一種用于優(yōu)化標(biāo)記語言文本的方法,該方法包括以下步驟a獲取待處理的標(biāo)記語言文本;b基于對所述標(biāo)記語言文本的詞法分析,對所述標(biāo)記語言文本進(jìn)行分詞處理,以獲得與所述標(biāo)記語言文本相對應(yīng)的一個(gè)或多個(gè)單詞序列;c對所述單詞序列進(jìn)行優(yōu)化處理,以獲得與所述單詞序列相對應(yīng)的優(yōu)化單詞序列;d將所述優(yōu)化單詞序列進(jìn)行合并,以獲得與所述標(biāo)記語言文本相對應(yīng)的標(biāo)記語言優(yōu)化文本。根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種用于優(yōu)化標(biāo)記語言文本的設(shè)備,該設(shè)備包括文本獲取裝置,用于獲取待處理的標(biāo)記語言文本;詞法分析裝置,用于基于對所述標(biāo)記語言文本的詞法分析,對所述標(biāo)記語言文本進(jìn)行分詞處理,以獲得與所述標(biāo)記語言文本相對應(yīng)的一個(gè)或多個(gè)單詞序列;優(yōu)化裝置,用于對所述單詞序列進(jìn)行優(yōu)化處理,以獲得與所述單詞序列相對應(yīng)的優(yōu)化單詞序列;優(yōu)化文本獲取裝置,用于將所述優(yōu)化單詞序列進(jìn)行合并,以獲得與所述標(biāo)記語言文本相對應(yīng)的標(biāo)記語言優(yōu)化文本。與現(xiàn)有技術(shù)相比,本發(fā)明對待處理的標(biāo)記語言文本進(jìn)行詞法分析,以獲得與該標(biāo)記語言文本相對應(yīng)的單詞序列,再對該些單詞序列進(jìn)行優(yōu)化處理從而得到優(yōu)化單詞序列;本發(fā)明在保證標(biāo)記語言文本內(nèi)容邏輯正確的前提下,對更多內(nèi)容進(jìn)行優(yōu)化,在提高優(yōu)化準(zhǔn)確性的基礎(chǔ)上實(shí)現(xiàn)了頁面的高速加載,進(jìn)而提升了頁面的可訪問性和易維護(hù)性。
通過閱讀參照以下附圖所作的對非限制性實(shí)施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點(diǎn)將會變得更明顯圖I示出根據(jù)本發(fā)明一個(gè)方面用于識別失序文本的設(shè)備示意圖;圖2示出根據(jù)本發(fā)明另一個(gè)方面用于識別失序文本的方法流程圖。附圖中相同或相似的附圖標(biāo)記代表相同或相似的部件。
具體實(shí)施例方式下面結(jié)合附圖對本發(fā)明作進(jìn)一步詳細(xì)描述?!DI示出根據(jù)本發(fā)明一個(gè)方面用于優(yōu)化標(biāo)記語言文本的設(shè)備示意圖。優(yōu)化設(shè)備I包括文本獲取裝置11、詞法分析裝置12、優(yōu)化裝置13和優(yōu)化文本獲取裝置14。在此,優(yōu)化設(shè)備I包括但不限于計(jì)算機(jī)、網(wǎng)絡(luò)主機(jī)、單個(gè)網(wǎng)絡(luò)服務(wù)器、多個(gè)網(wǎng)絡(luò)服務(wù)器集或多個(gè)服務(wù)器構(gòu)成的云。在此,云由基于云計(jì)算(Cloud Computing)的大量計(jì)算機(jī)或網(wǎng)絡(luò)服務(wù)器構(gòu)成,其中,云計(jì)算是分布式計(jì)算的一種,由一群松散耦合的計(jì)算機(jī)集組成的一個(gè)超級虛擬計(jì)算機(jī)。具體地,文本獲取裝置11獲取待處理的標(biāo)記語言文本。更具體地,文本獲取裝置11按預(yù)定周期或應(yīng)事件觸發(fā)實(shí)時(shí)地獲取待處理的目標(biāo)文本,例如通過實(shí)時(shí)監(jiān)聽用戶通過用戶設(shè)備提交的標(biāo)記語言文本提交請求,接收該標(biāo)記語言文本提交請求,并根據(jù)該請求獲取待處理的標(biāo)記語言文本,或者定期地通過約定的通信方式直接從第三方設(shè)備讀取標(biāo)記語言文本。例如,假設(shè)優(yōu)化設(shè)備I為網(wǎng)站服務(wù)器,用戶通過用戶設(shè)備輸入一條訪問某HTML網(wǎng)頁的URL,然后,用戶設(shè)備將該URL通過預(yù)定的通信協(xié)議如http、https等提交到優(yōu)化設(shè)備I的文本獲取裝置11,接著,文本獲取裝置11通過實(shí)時(shí)監(jiān)聽用戶消息接收該URL,根據(jù)該URL獲取其所對應(yīng)的網(wǎng)頁,并提取該網(wǎng)頁中的HTML文本信息作為待處理的標(biāo)記語言文本。再如,文本獲取裝置11按一定周期,定期地通過調(diào)用預(yù)定的應(yīng)用編程接口(API)向第三方設(shè)備發(fā)送獲取待處理的標(biāo)記語言文本的請求,并接收該第三方設(shè)備基于該請求返回的標(biāo)記語言文本。在此,標(biāo)記語言文本包括但不限于I)超文本標(biāo)記語言(HTML),2)可擴(kuò)展超文本標(biāo)記語言(XHTML),3)可縮放矢量圖形(SVG)等。本領(lǐng)域技術(shù)人員應(yīng)能理解上述獲取標(biāo)記語言文本的方式僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的獲取標(biāo)記語言文本的方式如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。隨后,詞法分析裝置12基于對所述標(biāo)記語言文本的詞法分析,對所述標(biāo)記語言文本進(jìn)行分詞處理,以獲得與所述標(biāo)記語言文本相對應(yīng)的一個(gè)或多個(gè)單詞序列。具體地,詞法分析裝置12根據(jù)文本獲取裝置11提供的標(biāo)記語言文本,例如通過將該標(biāo)記語言的所有固有標(biāo)簽,作為詞法分析中進(jìn)行分詞處理的標(biāo)記;或者通過將該標(biāo)記語言的指定的若干固有標(biāo)簽作為詞法分析中進(jìn)行分詞處理的標(biāo)記,對該標(biāo)記語言文本進(jìn)行分詞處理,將該標(biāo)記語言文本劃分成若干單詞序列。例如,詞法分析裝置12根據(jù)文本獲取裝置11提供的HTML文本〈p style="" > 文本框 <textarea>welefen〈/textarea>
〈input class = " input " onclick = " alert ( ' hello—> ' ) " type="text" /></p>,將HTML的所有固有標(biāo)簽如該HTML文本中的input標(biāo)簽、textarea標(biāo)簽、p標(biāo)簽作為詞法分析中進(jìn)行分詞處理的標(biāo)記,并根據(jù)HTML的語言規(guī)范利用隊(duì)列對該HTML文本進(jìn)行分詞處理,首先詞法分析裝置12將該HTML文本的第一個(gè)字符“〈”入隊(duì),并記錄該字符“〈”為一個(gè)新標(biāo)簽的開始,接著將后續(xù)字符“P”和空格字符入隊(duì),并根據(jù)該隊(duì)列中字符“〈”與空格字符之間的字符序列“P”確定該標(biāo)簽為HTML固有標(biāo)簽,即P標(biāo)簽,隨后詞法分析裝置12依次將后續(xù)字符“8”、“儼、“/’、“1”、“6”、“ = ”、“" ”、“" ”入隊(duì),接著當(dāng)詞法分析裝置12將字符“〉”入隊(duì)時(shí),其確定該字符“〉”與隊(duì)首的字符“〈”相對應(yīng),并表示該固有標(biāo)簽P的結(jié)束,據(jù)此,詞法分析裝置12將該隊(duì)列中的字符全部輸出,以獲得一個(gè)單詞序列〈Pstyle ="" >,再接著詞法分析裝置12將字符“文”、“本”、“框”和“〈”入隊(duì) ,并記錄該字符“〈”為一個(gè)新標(biāo)簽的開始,然后詞法分析裝置12將該HTML文本中的后續(xù)字符
“X” “t”、“a”、“r” “e”、“a”和“〉”入隊(duì),當(dāng)詞法分析裝置12將字符“〉”入隊(duì)時(shí),其確定該字符“〉”與隊(duì)首的字符“〈”相對應(yīng),并根據(jù)其間的字符序列“ textarea”確定其為HTML固有標(biāo)簽,即textarea標(biāo)簽,則詞法分析裝置12據(jù)此將該隊(duì)列中字符“〈”之前的所有字符全部輸出,以獲得單詞序列“文本框”,并將該隊(duì)列中的其余字符全部輸出,以獲得另一個(gè)單詞序列“〈textarea〉”,詞法分析裝置12按照此方式對該HTML文本進(jìn)行分詞處理,獲得的單詞序列依次為I)〈p style="" >,2)文本框,3)〈textarea〉,4) welefen,5) </textarea〉,6)回車換行符(如\n\r),7)〈input class = " input " onclick = " alert ( ' hello—> ' ) " type="text" />,8)回車換行符,9) </p>o在此,所述“隊(duì)列”是一種“先進(jìn)先出”(FIFO-first in first out)的線性表,新元素(等待進(jìn)入隊(duì)列的元素)總是被插入到表的后端,即隊(duì)尾,而讀取的時(shí)候總是從表的前端,即隊(duì)首,開始讀取。在此,所述“入隊(duì)”意為將新元素插入隊(duì)尾。在此,所述“單詞序列”意指對根據(jù)詞法分析對標(biāo)記語言文本進(jìn)行劃分的最小單位。本領(lǐng)域技術(shù)人員應(yīng)能理解利用隊(duì)列進(jìn)行分詞處理的方式僅為舉例,其他數(shù)據(jù)結(jié)構(gòu)也可作為進(jìn)行分詞處理的方式。本領(lǐng)域技術(shù)人員應(yīng)能理解上述獲得單詞序列的方式僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的獲得單詞序列的方式如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。接著,優(yōu)化裝置13對所述單詞序列進(jìn)行優(yōu)化處理,以獲得與所述單詞序列相對應(yīng)的優(yōu)化單詞序列。具體地,優(yōu)化裝置13根據(jù)詞法分析裝置12獲取的若干單詞序列,對該等單詞序列進(jìn)行去除冗余信息的優(yōu)化處理,以獲得與該些單詞序列相對應(yīng)的優(yōu)化單詞序列,其中,優(yōu)化處理的方式包括但不限于1)去除單詞序列中的換行、注釋等;2)根據(jù)單詞序列類型,如開始標(biāo)簽、結(jié)束標(biāo)簽等,對所述單詞序列進(jìn)行相應(yīng)的優(yōu)化處理,例如去除單詞序列類型為開始標(biāo)簽的單詞序列中的缺省標(biāo)簽屬性、去除可省略的單詞序列類型為結(jié)束標(biāo)簽的單詞序列。例如,假設(shè)優(yōu)化處理方式包括去除單詞序列中的回車換行符(\n\r),并且詞法分析裝置12獲取的單詞序列為\n\r〈textarea>welefen〈/teXtarea>\n\r,則優(yōu)化裝置13將對該單詞序列中的兩個(gè)回車換行符直接刪除,從而獲得優(yōu)化單詞序列<textarea>welefen〈/textarea>。又例如,假設(shè)優(yōu)化處理方式包括去除單詞序列類型為開始標(biāo)簽的單詞序列中的缺省標(biāo)簽屬性,并且詞法分析裝置12獲取的單詞序列為〈input class = " input " onclick = " alert (' hello—> ' ) " type="text" />,優(yōu)化裝置13按照HTML語言規(guī)范對該單詞序列進(jìn)行解析,根據(jù)字符組合“〈input”確定該單詞序列類型為開始標(biāo)簽,且為input標(biāo)簽的開始標(biāo)簽,并據(jù)此提取該input標(biāo)簽的屬性及其屬性值,包括class、onclick和type,其對應(yīng)的屬性值分別為"input"、" alert hello—>')"和"text",接著優(yōu)化裝置13在標(biāo)簽缺省屬性列表中的查詢獲得input標(biāo)簽的type屬性的缺省屬性值為"text",據(jù)此確定該單詞序列中input標(biāo)簽的type屬性的屬性值為缺省屬性值,從而將字符序列type = " text"從該單詞序列中刪除,以獲得優(yōu)化單詞序列〈input class = " input " onclick ="alert hello—)" />,其中,所述標(biāo)簽缺省屬性列表中包含HTML標(biāo)簽及其所對應(yīng)可缺省標(biāo)簽屬性的映射關(guān)系,并且其可存儲于優(yōu)化設(shè)備I或第三方設(shè)備中。本領(lǐng)域技術(shù)人員應(yīng)能理解上述獲得優(yōu)化單詞序列的方式僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的獲得優(yōu)化單詞序列的方式如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。隨后,優(yōu)化文本獲取裝置14將所述優(yōu)化單詞序列進(jìn)行合并,以獲得與所述標(biāo)記語言文本相對應(yīng)的標(biāo)記語言優(yōu)化文本。具體地,優(yōu)化文本獲取裝置14將優(yōu)化裝置13獲取的優(yōu)化單詞序列進(jìn)行合并,以獲得與標(biāo)記語言文本相對應(yīng)的標(biāo)記語言優(yōu)化文本,將優(yōu)化單詞序列進(jìn)行合并的方式包括但不限于優(yōu)化文本獲取裝置14基于優(yōu)化單詞序列所對應(yīng)的該些單詞序列在標(biāo)記語言文本中的位序,將該些優(yōu)化單詞序列按照位序的順序連接成一個(gè)字符串,并將該字符串作為標(biāo)記語言優(yōu)化文本;或優(yōu)化裝置13獲得的第一個(gè)優(yōu)化單詞序列后,優(yōu)化文本獲取裝置14將該優(yōu)化單詞序列存入文本文檔中,并根據(jù)優(yōu)化裝置13進(jìn)行優(yōu)化的順序,將后續(xù)獲得的優(yōu)化單詞序列依次存入該文本文檔中,以獲得標(biāo)記語言優(yōu)化文本。例如,假設(shè)詞法分析裝置12獲得單詞序列為I)〈p style ="" >2)文本框3)〈textarea〉4)</textarea〉5)〈input class = " input " onclick = " alert ( ' hello—> ' ) " type="text" />6) </p>,優(yōu)化裝置13根據(jù)單詞序列I)<p style = "" >,對該單詞序列進(jìn)行優(yōu)化處理,以獲得的第一個(gè)優(yōu)化單詞序列為〈P〉,文本獲取裝置14將其存入一個(gè)文本文檔中,接著優(yōu)化裝置13繼續(xù)對候選單詞序列進(jìn)行優(yōu)化處理,每當(dāng)完成一個(gè)單詞序列的優(yōu)化后,文本獲取裝置14將其存入文本文檔,當(dāng)優(yōu)化結(jié)束時(shí),文本獲取裝置14獲取標(biāo)記語言優(yōu)化文本為
文本框〈textareaX/textareaXinput class = inputonclick = " alert {' hello—>' )" />。本領(lǐng)域技術(shù)人員應(yīng)能理解上述獲得標(biāo)記語言優(yōu)化文本的方法僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的獲得標(biāo)記語言優(yōu)化文本的方法如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。優(yōu)選地,文本獲取裝置11、詞法分析裝置12、優(yōu)化裝置13和文本獲取裝置14之間可以是持續(xù)不斷地工作。具體地,文本獲取裝置11獲取待處理的標(biāo)記語言文本;隨后,統(tǒng)計(jì)信息獲取裝置12基于對所述標(biāo)記語言文本的詞法分析,對所述標(biāo)記語言文本進(jìn)行分詞處理,以獲得與所述標(biāo)記語言文本相對應(yīng)的一個(gè)或多個(gè)單詞序列;接著,識別裝置13對所述 單詞序列進(jìn)行優(yōu)化處理,以獲得與所述單詞序列相對應(yīng)的優(yōu)化單詞序列;隨后,優(yōu)化文本獲取裝置14將所述優(yōu)化單詞序列進(jìn)行合并,以獲得與所述標(biāo)記語言文本相對應(yīng)的標(biāo)記語言優(yōu)化文本。在此,本領(lǐng)域技術(shù)人員應(yīng)理解“持續(xù)”是指各裝置分別按照設(shè)定的或?qū)崟r(shí)調(diào)整的工作模式要求進(jìn)行待處理的標(biāo)記語言文本的獲取、一個(gè)或多個(gè)單詞序列的獲取、優(yōu)化單詞序列的獲取及優(yōu)化文本的獲取,直至文本獲取裝置11在較長時(shí)間內(nèi)停止對待處理的標(biāo)記語言文本的獲取。優(yōu)選地,優(yōu)化設(shè)備I的詞法分析裝置12可對所述標(biāo)記語言文本進(jìn)行詞法分析,獲得所述單詞序列及與所述單詞序列相對應(yīng)的單詞序列類型;接著,優(yōu)化裝置13根據(jù)所述單詞序列類型,對所述單詞序列進(jìn)行優(yōu)化處理,以獲得所述優(yōu)化單詞序列。具體地,詞法分析裝置12根據(jù)文本獲取裝置11提供的標(biāo)記語言文本,對該標(biāo)記語言文本進(jìn)行分詞處理,以獲得與該標(biāo)記語言文本相對應(yīng)的一個(gè)或多個(gè)單詞序列,并據(jù)該(些)單詞序列,獲取與該(些)單詞序列相對應(yīng)的單詞序列類型,其中,獲取單詞序列類型的規(guī)則包括但不限于1)若單詞序列以字符“〈”為開始,并以字符“〉”為結(jié)束,則確定該單詞序列類型為開始標(biāo)簽;2)若單詞序列以字符組合“〈/”為開始,并以字符“〉”為結(jié)束,則確定該單詞序列類型為結(jié)束標(biāo)簽;3)若單詞序列中不包含字符“〉”與字符“〈”,則確定該單詞序列類型為純文本;接著,優(yōu)化裝置13根據(jù)詞法分析裝置12獲取的單詞序列類型,對該些單詞序列進(jìn)行去除冗余信息的優(yōu)化處理,以獲得優(yōu)化單詞序列,單詞序列的優(yōu)化處理的方式包括但不限于1)若單詞序列類型為開始標(biāo)簽,則去除單詞序列類型為開始標(biāo)簽的單詞序列中的缺省標(biāo)簽屬性;2)若單詞序列類型為結(jié)束標(biāo)簽,則根據(jù)該單詞序列中的內(nèi)容判斷該單詞序列是否可省略,以去除抑或保留該單詞序列;3)若單詞序列類型為純文本,則將純文本中的多個(gè)連續(xù)空格符修改為只保留一個(gè)空格符。本領(lǐng)域技術(shù)人員應(yīng)能理解上述獲取單詞序列類型的規(guī)則確定單詞序列類型的方式僅為舉例,其他用戶自定義的任意字符或字符組合標(biāo)記如“ Γ和“}”、“〈&”和“&>”等也可作為確定單詞序列類型的依據(jù)。例如,假設(shè)詞法分析裝置12根據(jù)文本獲取裝置11提供的HTML文本為
北京□□口國家大劇院</p>,按照上例的方法利用隊(duì)列對該HTML文本進(jìn)行分詞處理,獲得單詞序列為I)
,
2)北京□□口國家大劇院,3)〈/p>,其中單詞序列2)為“北京□□口國家大劇院”,并根據(jù)該單詞序列中沒有字符“〈”和字符“〉”,確定該單詞序列類型為純文本,并據(jù)此對該單詞序列進(jìn)行解析獲得該單詞序列中有連續(xù)三個(gè)空格符“ □”;接著優(yōu)化裝置13按照HTML優(yōu)化規(guī)則,純文本中的連續(xù)空格符只需保留一個(gè),其余可刪除,從而將該純文本的連續(xù)三個(gè)空格符刪除兩個(gè)保留一個(gè),獲得優(yōu)化單詞序列為“北京□國家大劇院”;隨后,單詞序列3)為</p>,根據(jù)該單詞序列是以字符組合“〈/”為開始、以字符“〉”為結(jié)束,確定該單詞序列類型為結(jié)束標(biāo)簽,并據(jù)此對該單詞序列進(jìn)行解析,確定該單詞序列為P標(biāo)簽;接著優(yōu)化裝置13按照HTML優(yōu)化規(guī)則,P標(biāo)簽的結(jié)束標(biāo)簽可以缺省,從而將字符序列</p>刪除。本領(lǐng)域技術(shù)人員應(yīng)能理解上述獲得單詞序列類型和獲得優(yōu)化單詞序列的方式僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的獲得單詞序列類型或獲得優(yōu)化單詞序列的方式如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。 優(yōu)選地,優(yōu)化裝置13還可根據(jù)所述單詞序列類型,結(jié)合用戶相關(guān)信息,對所述單詞序列進(jìn)行優(yōu)化處理,以獲得所述優(yōu)化單詞序列。具體地,優(yōu)化裝置13根據(jù)詞法分析裝置12獲取的單詞序列類型,結(jié)合例如用戶所使用的瀏覽器類型、或用戶對HTML文本進(jìn)行優(yōu)化的偏好設(shè)置等用戶相關(guān)信息,以確定優(yōu)化處理的方式,進(jìn)而對該些單詞序列進(jìn)行優(yōu)化處理,以獲得優(yōu)化單詞序列。例如,詞法分析裝置12獲取的單詞序列為〈! 一[ifexpression] >HTML< ! [endif]—>,且該單詞序列類型為開始標(biāo)簽,據(jù)此對該單詞序列進(jìn)行解析獲得其為HTML注釋,假設(shè)用戶使用的瀏覽器為Firefox瀏覽器,優(yōu)化裝置13在兼容對照表中查詢獲得在Firefox瀏覽器中該注釋可以缺省,據(jù)此優(yōu)化裝置13將該單詞序列刪除,其中,所述兼容對照表中包含所有的現(xiàn)有瀏覽器以及其兼容HTML的標(biāo)簽類型的映射關(guān)系,并且其可存儲于優(yōu)化設(shè)備I或第三方設(shè)備中。又例如,詞法分析裝置12獲取的單詞序列為〈script src = " http://cache.soso.com.js" >,且該單詞序列類型開始標(biāo)簽,據(jù)此對該單詞序列進(jìn)行解析獲得其為script標(biāo)簽,假設(shè)用戶在用戶偏好設(shè)置中設(shè)置不運(yùn)行HTML文本中的所有script標(biāo)簽,則優(yōu)化裝置13根據(jù)該單詞序列類型及該用戶的偏好設(shè)置,將該單詞序列刪除。再例如,假設(shè)用戶在用戶偏好設(shè)置中設(shè)置不對HTML文本進(jìn)行優(yōu)化處理,則優(yōu)化裝置13保留原單詞序列。本領(lǐng)域技術(shù)人員應(yīng)能理解上述獲得優(yōu)化單詞序列的方式僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的獲得優(yōu)化單詞序列的方式如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。優(yōu)選地,所述用戶相關(guān)信息包括以下至少任一項(xiàng)-用戶偏好設(shè)置;-用戶瀏覽器信息。其中,用戶偏好設(shè)置包括但不限于用戶通過用戶設(shè)備設(shè)置是否對HTML文本進(jìn)行優(yōu)化設(shè)置,或是否允許執(zhí)行HTML文本中的腳本等;用戶瀏覽器信息包括用戶瀏覽器的類型或版本等,如IE瀏覽器、Firefox瀏覽器、Opera瀏覽器、Google Chrome瀏覽器等或IE3. O、IE5. O等。本領(lǐng)域技術(shù)人員應(yīng)能理解,上述兩項(xiàng)用戶相關(guān)信息不僅可以單獨(dú)用于對單詞序列進(jìn)行優(yōu)化處理,還可以將兩項(xiàng)結(jié)合用于對單詞序列進(jìn)行優(yōu)化處理。本領(lǐng)域技術(shù)人員應(yīng)能理解上述用戶相關(guān)信息僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的用戶相關(guān)信息如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。優(yōu)選地,所述單詞序列類型包括以下至少任一項(xiàng)-開始標(biāo)簽;-結(jié)束標(biāo)簽;-純文本。具體地,單詞序列類型包括但不限于I)開始標(biāo)簽,若單詞序列的單詞序列類型為開始標(biāo)簽時(shí),則優(yōu)化裝置13根據(jù)該單詞序列類型,去除該單詞序列中的缺省標(biāo)簽屬性或當(dāng)單詞序列的標(biāo)簽的屬性值不包括特殊字符如字符“〈”、“〉”等時(shí),屬性值的左右引號""可省略;例如input標(biāo)簽的type屬性的缺省屬性值為"text",優(yōu)化裝置13可將字符序列type=" text"從單詞序列中 刪除;又例如,input標(biāo)簽的class屬性的屬性值"input"中沒有特殊字符時(shí),左右引號""可省略,從而優(yōu)化裝置13將字符序列class=" input"中的""刪除;再例如,input標(biāo)簽的disabled屬性的屬性值為"disabled"可缺省,從而優(yōu)化裝置13將字符序列="disabled"從單詞序列中刪除;2)結(jié)束標(biāo)簽,若單詞序列類型為結(jié)束標(biāo)簽,則優(yōu)化裝置13根據(jù)該單詞序列類型,去除可省略的單詞序列類型為結(jié)束標(biāo)簽的單詞序列,例如,P標(biāo)簽的結(jié)束標(biāo)簽可以缺省,優(yōu)化裝置13將單詞序列</p>刪除;3)純文本,若單詞序列類型為純文本,則優(yōu)化裝置13將純文本中的連續(xù)多個(gè)空格符只保留一個(gè),其余刪除。本領(lǐng)域技術(shù)人員應(yīng)能理解上述單詞序列類型僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的單詞序列類型如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。在一個(gè)優(yōu)選實(shí)施例中(參照圖I),所述詞法分析裝置12基于根據(jù)預(yù)置分析規(guī)則對所述標(biāo)記語言文本的詞法分析,對所述標(biāo)記語言文本進(jìn)行分詞處理,以獲得所述一個(gè)或多個(gè)單詞序列。以下參照圖I對該優(yōu)選實(shí)施例進(jìn)行詳細(xì)描述,其中,文本獲取裝置11獲取待處理的標(biāo)記語言文本;優(yōu)化裝置13對所述單詞序列進(jìn)行優(yōu)化處理,以獲得與所述單詞序列相對應(yīng)的優(yōu)化單詞序列;優(yōu)化文本獲取裝置14將所述優(yōu)化單詞序列進(jìn)行合并,以獲得與所述標(biāo)記語言文本相對應(yīng)的標(biāo)記語言優(yōu)化文本;其具體過程與前述參照圖I所描述的實(shí)施例中文本獲取裝置11、優(yōu)化裝置13和優(yōu)化文本獲取裝置14所執(zhí)行的過程相同,為簡明起見,以引用方式包含于此,而不做贅述。具體地,詞法分析裝置12基于根據(jù)預(yù)置分析規(guī)則對文本獲取裝置11獲取的標(biāo)記語言文本的詞法分析,并對該標(biāo)記語言文本進(jìn)行分詞處理,以獲得所述一個(gè)或多個(gè)單詞序列,其中,預(yù)置分析規(guī)則包括但不限于1)將若干指定的標(biāo)記語言的固有標(biāo)簽,2)將用戶自定義的標(biāo)簽,作為詞法分析中進(jìn)行單詞序列分割的標(biāo)記,對該標(biāo)記語言文本進(jìn)行詞法分析。例如,假設(shè)預(yù)設(shè)分析規(guī)則為將包含有Smarty語法內(nèi)容的用戶自定義標(biāo)簽作為詞法分析中進(jìn)行單詞序列分割的標(biāo)記,文本獲取裝置11提供的HTML文本<&if $smarty. get. mode = = " iframe" &><div class = " ui-no-result" > 沒有新的搭訕啦詞法分析裝置12利用隊(duì)列對該HTML文本進(jìn)行分詞處理,首先詞法分析裝置12將該HTML文本的第一個(gè)字符“〈”入對,并記錄該字符“〈”為一個(gè)新標(biāo)簽的開始,接著將后續(xù)字符“&”、“1”、“廣和“$”入隊(duì),并根據(jù)該隊(duì)列中的字符“〈”與字符“$”之間的字符串“紀(jì)廣確定該標(biāo)簽為用戶自定義的標(biāo)簽,即標(biāo)簽,隨后詞法分析裝置12依次將后續(xù)字符“S”、
“m”...... “&”入隊(duì),接著當(dāng)詞法分析裝置12將字符“〉”入隊(duì)時(shí),其確定該字符“〉”與隊(duì)首
的字符“〈”相對應(yīng),并表示該用戶自定義標(biāo)簽的結(jié)束,據(jù)此,詞法分析裝置12將該隊(duì)列中的字符全部輸出,以獲得一個(gè)單詞序列<&if $smarty. get. mode = = " iframe" &>,再接著詞法分析裝置12按照相同的方法對后續(xù)文本進(jìn)行分詞處理,以獲得的單詞序列依次為I) <&if $smarty. get. mode = = " iframe " &>,2) \n\r <div class = " ui-no-result;/ >。
其中,Smarty語法是一個(gè)使用PHP寫出來的模板引擎,它分離了邏輯代碼和外在的內(nèi)容,用來將原本與HTML代碼混雜在一起PHP代碼邏輯分離。本領(lǐng)域技術(shù)人員應(yīng)能理解上述預(yù)置分析規(guī)則僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的預(yù)置分析規(guī)則如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。優(yōu)選地,所述預(yù)置分析規(guī)則基于以下至少任一項(xiàng)對所述標(biāo)記語言文本進(jìn)行詞法分析-所述標(biāo)記語言的標(biāo)簽信息;-用戶自定義標(biāo)簽信息。具體地,預(yù)置分析規(guī)則基于標(biāo)記語言的標(biāo)簽信息,如該標(biāo)記語言的標(biāo)簽信息示出該標(biāo)簽為標(biāo)記語言固有的標(biāo)簽,如HTML中的〈body〉、〈input〉、
等;或基于用戶通過用戶設(shè)備自定義標(biāo)簽信息,如包含有Smarty語法內(nèi)容的標(biāo)簽用戶預(yù)先設(shè)定標(biāo)記語言中的若干固有標(biāo)簽,作為詞法分析中進(jìn)行單詞序列分割的標(biāo)記,對標(biāo)記語言文本進(jìn)行詞法分析。本領(lǐng)域技術(shù)人員應(yīng)能理解,上述兩項(xiàng)預(yù)置分析規(guī)則不僅可以單獨(dú)用于對標(biāo)記語言文本進(jìn)行詞法分析,還可以結(jié)合用于對標(biāo)記語言文本進(jìn)行詞法分析。本領(lǐng)域技術(shù)人員應(yīng)能理解上述詞法分析的方法僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的詞法分析的方法如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。優(yōu)選地,優(yōu)化文本獲取裝置14根據(jù)所述優(yōu)化單詞序列所對應(yīng)的所述單詞序列在所述標(biāo)記語言文本中的位序,將所述優(yōu)化單詞序列進(jìn)行合并,以獲得與所述標(biāo)記語言文本相對應(yīng)的標(biāo)記語言優(yōu)化文本。具體地,優(yōu)化文本獲取裝置14根據(jù)優(yōu)化裝置13獲取的優(yōu)化單詞序列,并基于該些優(yōu)化單詞序列所對應(yīng)的該些單詞序列在標(biāo)記語言文本中的位序,例如將該些優(yōu)化單詞序列按照位序的順序連接成一個(gè)字符串,并將該字符串作為標(biāo)記語言優(yōu)化文本。例如,假設(shè)待處理的標(biāo)記語言文本為〈p style ="" > 文本框 <textarea>welefen〈/textarea>〈input class = " input " onclick = " alert ( 1 hello—> 1 ) " type="text" /></p>詞法分析裝置12進(jìn)過詞法分析,獲得單詞序列為I) <p style ="" >,2)文本框,3)〈textarea〉
4) welefen,5) </textarea〉,6)〈input class = " input " onclick = " alert ( ' hello—> ' ) " type="text" />,7)</p>,優(yōu)化裝置13根據(jù)詞法分析裝置12獲得的單詞序列,通過單詞序列優(yōu)化獲取的優(yōu)化單詞序列依次為I)
, 2)文本框, 3)〈textarea〉,4) welefen,5) </textarea),6) <input class = input onclick = " alert {' hello—>' )" />,優(yōu)化文本獲取裝置14根據(jù)該些單詞序列在標(biāo)記語言文本中的位序,如1)、2)等,將該些優(yōu)化單詞序列按照位序的順序連接成一個(gè)字符串,并將該字符串作為標(biāo)記語言優(yōu)化文本為
文本框 <textarea>welefen〈/textarea>〈input class = inputonclick = " alert {' hello—>' )" />本領(lǐng)域技術(shù)人員應(yīng)能理解上述獲得標(biāo)記語言優(yōu)化文本的方法僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的獲得標(biāo)記語言優(yōu)化文本的方法如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。優(yōu)選地,文本獲取裝置11獲取與用戶通過用戶設(shè)備提交的訪問請求相對應(yīng)的所述標(biāo)記語言文本;優(yōu)選設(shè)備I還包括提供裝置(未示出),提供裝置將所述標(biāo)記語言優(yōu)化文本提供給用戶設(shè)備。具體地,用戶通過與用戶設(shè)備的交互方式,包括但不限于鍵盤、鼠標(biāo)、遙控器、觸摸板、或手寫設(shè)備,在瀏覽器軟件、應(yīng)用程序或客戶端軟件中輸入一條訪問某HTML網(wǎng)頁的URL,然后,用戶設(shè)備將該URL通過預(yù)定的通信協(xié)議提交到優(yōu)化設(shè)備I的文本獲取裝置11,接著,文本獲取裝置11通過實(shí)時(shí)監(jiān)聽用戶消息接收該URL,根據(jù)該URL獲取其所對應(yīng)的網(wǎng)頁,并提取該網(wǎng)頁中的HTML文本信息作為待處理的標(biāo)記語言文本。在此,該用戶設(shè)備可以是任何一種可與用戶通過鍵盤、鼠標(biāo)、遙控器、觸摸板、或聲控設(shè)備進(jìn)行人機(jī)交互的電子產(chǎn)品,包括但不限于計(jì)算機(jī)、智能手機(jī)、PDA、或IPTV等。優(yōu)化設(shè)備I與用戶設(shè)備之間可通過任何通信方式實(shí)現(xiàn)通信,包括但不限于,基于3GPP、LTE、WIMAX的移動通信、基于TCP/IP、UDP協(xié)議的計(jì)算機(jī)網(wǎng)絡(luò)通信以及基于藍(lán)牙、紅外傳輸標(biāo)準(zhǔn)的近距無線傳輸方式。優(yōu)化設(shè)備I與用戶設(shè)備連接的網(wǎng)絡(luò)包括但不限于互聯(lián)網(wǎng)、廣域網(wǎng)、城域網(wǎng)、局域網(wǎng)、VPN網(wǎng)絡(luò)、無線自組織網(wǎng)絡(luò)(Ad Hoc網(wǎng)絡(luò))等。本領(lǐng)域技術(shù)人員應(yīng)能理解上述獲取標(biāo)記語言文本的方式僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的獲取標(biāo)記語言文本的方式如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。隨后,提供裝置根據(jù)優(yōu)化文本獲取裝置14獲取的標(biāo)記語言優(yōu)化文本,采用任何已知的計(jì)算機(jī)提供人可讀信息的技術(shù)手段,例如屏幕顯示等,將該標(biāo)記語言優(yōu)化文本提供給用戶設(shè)備。以屏幕顯示為例,提供裝置將標(biāo)記語言優(yōu)化文本按一定格式提供給用戶設(shè)備,例如以鏈接、頁面文本等形式提供給用戶設(shè)備,供用戶進(jìn)行瀏覽。本領(lǐng)域技術(shù)人員應(yīng)能理解上述對提供標(biāo)記語言優(yōu)化文本的方式僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的提供標(biāo)記語言優(yōu)化文本的方式如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。圖2示出根據(jù)本發(fā)明一個(gè)方面用于優(yōu)化標(biāo)記語言文本的方法流程圖。在此,優(yōu)化設(shè)備I包括但不限于計(jì)算機(jī)、網(wǎng)絡(luò)主機(jī)、單個(gè)網(wǎng)絡(luò)服務(wù)器、多個(gè)網(wǎng)絡(luò)服務(wù)器集或多個(gè)服務(wù)器構(gòu)成的云。在此,云由基于云計(jì)算(Cloud Computing)的大量計(jì)算機(jī)或網(wǎng)絡(luò)服務(wù)器構(gòu)成,其中,云計(jì)算是分布式計(jì)算的一種,由一群松散耦合的計(jì)算機(jī)集組成的一個(gè)超級虛擬計(jì)算機(jī)。具體地,在步驟SI中,優(yōu)化設(shè)備I獲取待處理的標(biāo)記語言文本。更具體地,在步驟Si中,優(yōu)化設(shè)備I按預(yù)定周期或應(yīng)事件觸發(fā)實(shí)時(shí)地獲取待處理的目標(biāo)文本,例如通過實(shí)時(shí)監(jiān)聽用戶通過用戶設(shè)備提交的標(biāo)記語言文本提交請求,接收該標(biāo)記語言文本提交請求,并根據(jù)該請求獲取待處理的標(biāo)記語言文本,或者定期地通過約定的通信方式直接從第三方設(shè)備讀取標(biāo)記語言文本。例如,假設(shè)優(yōu)化設(shè)備I為網(wǎng)站服務(wù)器,用戶通過用戶設(shè)備輸入一條 訪問某HTML網(wǎng)頁的URL,然后,用戶設(shè)備將該URL通過預(yù)定的通信協(xié)議如http、https等提交到優(yōu)化設(shè)備1,接著,在步驟SI中,優(yōu)化設(shè)備I通過實(shí)時(shí)監(jiān)聽用戶消息接收該URL,根據(jù)該URL獲取其所對應(yīng)的網(wǎng)頁,并提取該網(wǎng)頁中的HTML文本信息作為待處理的標(biāo)記語言文本。再如,優(yōu)化設(shè)備I在步驟S I中按一定周期,定期地通過調(diào)用預(yù)定的應(yīng)用編程接口(API)向第三方設(shè)備發(fā)送獲取待處理的標(biāo)記語言文本的請求,并接收該第三方設(shè)備基于該請求返回的標(biāo)記語言文本。在此,標(biāo)記語言文本包括但不限于I)超文本標(biāo)記語言(HTML),2)可擴(kuò)展超文本標(biāo)記語言(XHTML),3)可縮放矢量圖形(SVG)等。本領(lǐng)域技術(shù)人員應(yīng)能理解上述獲取標(biāo)記語言文本的方式僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的獲取標(biāo)記語言文本的方式如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。隨后,在步驟S2中,優(yōu)化設(shè)備I基于對所述標(biāo)記語言文本的詞法分析,對所述標(biāo)記語言文本進(jìn)行分詞處理,以獲得與所述標(biāo)記語言文本相對應(yīng)的一個(gè)或多個(gè)單詞序列。具體地,在步驟S2中,優(yōu)化設(shè)備I根據(jù)其在步驟SI中提供的標(biāo)記語言文本,例如通過將該標(biāo)記語言的所有固有標(biāo)簽,作為詞法分析中進(jìn)行分詞處理的標(biāo)記;或者通過將該標(biāo)記語言的指定的若干固有標(biāo)簽作為詞法分析中進(jìn)行分詞處理的標(biāo)記,對該標(biāo)記語言文本進(jìn)行分詞處理,將該標(biāo)記語言文本劃分成若干單詞序列。例如,在步驟S2中,優(yōu)化設(shè)備I根據(jù)其在步驟S I中提供的HTML文本〈p style="" > 文本框 <textarea>welefen〈/textarea>〈input class = " input " onclick = " alert ( ' hello—> ' ) " type="text" /></p>,將HTML的所有固有標(biāo)簽如該HTML文本中的input標(biāo)簽、textarea標(biāo)簽、p標(biāo)簽作為詞法分析中進(jìn)行分詞處理的標(biāo)記,并根據(jù)HTML的語言規(guī)范利用隊(duì)列對該HTML文本進(jìn)行分詞處理,首先優(yōu)化設(shè)備I將該HTML文本的第一個(gè)字符“〈”入隊(duì),并記錄該字符“〈”為一個(gè)新標(biāo)簽的開始,接著將后續(xù)字符“P”和空格字符入隊(duì),并根據(jù)該隊(duì)列中字符“〈”與空格字符之間的字符序列“P”確定該標(biāo)簽為HTML固有標(biāo)簽,即P標(biāo)簽,隨后優(yōu)化設(shè)備I依次將后續(xù)字符“ s ”、“ t ”、“y ”、“ I ”、“ e ”、“ = ”、“ " ”、“ " ”入隊(duì),接著當(dāng)優(yōu)化設(shè)備I將字符“〉”入隊(duì)時(shí),其確定該字符“〉”與隊(duì)首的字符“〈”相對應(yīng),并表示該固有標(biāo)簽P的結(jié)束,據(jù)此,優(yōu)化設(shè)備I將該隊(duì)列中的字符全部輸出,以獲得一個(gè)單詞序列〈P Style = "" >,再接著優(yōu)化設(shè)備I將字符“文”、“本”、“框”和“〈”入隊(duì),并記錄該字符“〈”為一個(gè)新標(biāo)簽的開始,然后優(yōu)化設(shè)備I將該HTML文本中的后續(xù)字符“t”、“e”、“x” “t”、“a”、“r” “e”、“a”和“〉”入隊(duì),當(dāng)優(yōu)化設(shè)備I將字符“〉”入隊(duì)時(shí),其確定該字符“〉”與隊(duì)首的字符“〈”相對應(yīng),并根據(jù)其間的字符序列“textarea”確定其為HTML固有標(biāo)簽,即textarea標(biāo)簽,則優(yōu)化設(shè)備I據(jù)此將該隊(duì)列中字符“〈”之前的所有字符全部輸出,以獲得單詞序列“文本框”,并將該隊(duì)列中的其余字符全部輸出,以獲得另一個(gè)單詞序列“〈textarea〉”,優(yōu)化設(shè)備I按照此方式對該HTML文本進(jìn)行分詞處理,獲得的單詞序列依次為I) <p style ="" >,2)文本框,
3)〈textarea〉,4) welefen,5) </textarea),6)回車換行符(如\n\r),7)〈input class = " input " onclick = " alert ( ' hello—> ' ) " type="text" />,8)回車換行符,9)〈/p>。在此,所述“隊(duì)列”是一種“先進(jìn)先出”(FIFO-firstin first out)的線性表,新元素(等待進(jìn)入隊(duì)列的元素)總是被插入到表的后端,即隊(duì)尾,而讀取的時(shí)候總是從表的前端,即隊(duì)首,開始讀取。在此,所述“入隊(duì)”意為將新元素插入隊(duì)尾。在此,所述“單詞序列”意指對根據(jù)詞法分析對標(biāo)記語言文本進(jìn)行劃分的最小單位。本領(lǐng)域技術(shù)人員應(yīng)能理解利用隊(duì)列進(jìn)行分詞處理的方式僅為舉例,其他數(shù)據(jù)結(jié)構(gòu)也可作為進(jìn)行分詞處理的方式。本領(lǐng)域技術(shù)人員應(yīng)能理解上述獲得單詞序列的方式僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的獲得單詞序列的方式如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。接著,在步驟S3中,優(yōu)化設(shè)備I對所述單詞序列進(jìn)行優(yōu)化處理,以獲得與所述單詞序列相對應(yīng)的優(yōu)化單詞序列。具體地,在步驟S3中,優(yōu)化設(shè)備I根據(jù)其在步驟S2中獲取的若干單詞序列,對該等單詞序列進(jìn)行去除冗余信息的優(yōu)化處理,以獲得與該些單詞序列相對應(yīng)的優(yōu)化單詞序列,其中,優(yōu)化處理的方式包括但不限于1)去除單詞序列中的換行、注釋等;2)根據(jù)單詞序列類型,如開始標(biāo)簽、結(jié)束標(biāo)簽等,對所述單詞序列進(jìn)行相應(yīng)的優(yōu)化處理,例如去除單詞序列類型為開始標(biāo)簽的單詞序列中的缺省標(biāo)簽屬性、去除可省略的單詞序列類型為結(jié)束標(biāo)簽的單詞序列。例如,假設(shè)優(yōu)化處理方式包括去除單詞序列中的回車換行符(VAr),并且優(yōu)化設(shè)備I在步驟S2中獲取的單詞序列為\n\r〈textarea>welefen〈/textarea>\n\r,則在步驟S3中,優(yōu)化設(shè)備I將對該單詞序列中的兩個(gè)回車換行符直接刪除,從而獲得優(yōu)化單詞序列<textarea>welefen〈/textarea>。又例如,假設(shè)優(yōu)化處理方式包括去除單詞序列類型為開始標(biāo)簽的單詞序列中的缺省標(biāo)簽屬性,并且優(yōu)化設(shè)備I在步驟S2中獲取的單詞序列為〈input class =" input " onclick="alert (' hello—> ' )" type = " text " />,在步驟 S3 中,優(yōu)化設(shè)備 I 按照 HTML語言規(guī)范對該單詞序列進(jìn)行解析,根據(jù)字符組合“〈input”確定該單詞序列類型為開始標(biāo)簽,且為input標(biāo)簽的開始標(biāo)簽,并據(jù)此提取該input標(biāo)簽的屬性及其屬性值,包括class、onclick 和 type,其對應(yīng)的屬性值分別為"input"、" alert hello—>')"和"text",接著優(yōu)化設(shè)備I在標(biāo)簽缺省屬性列表中的查詢獲得input標(biāo)簽的type屬性的缺省屬性值為"text",據(jù)此確定該單詞序列中input標(biāo)簽的type屬性的屬性值為缺省屬性值,從而將字符序列type = " text"從該單詞序列中刪除,以獲得優(yōu)化單詞序列〈inputclass = " input" onclick = " alert (' hello—>' )" />,其中,所述標(biāo)簽缺省屬性列表中包含HTML標(biāo)簽及其所對應(yīng)可缺省標(biāo)簽屬性的映射關(guān)系,并且其可存儲于優(yōu)化設(shè)備I或第三方設(shè)備中。本領(lǐng)域技術(shù)人員應(yīng)能理解上述獲得優(yōu)化單詞序列的方式僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的獲得優(yōu)化單詞序列的方式如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。隨后,在步驟S4中,優(yōu)化設(shè)備I將所述優(yōu)化單詞序列進(jìn)行合并,以獲得與所述標(biāo)記語言文本相對應(yīng)的標(biāo)記語言優(yōu)化文本。具體地,在步驟S4中,優(yōu)化設(shè)備I將其在步驟S3中獲取的優(yōu)化單詞序列進(jìn)行合并,以獲得與標(biāo)記語言文本相對應(yīng)的標(biāo)記語言優(yōu)化文本,將優(yōu)·化單詞序列進(jìn)行合并的方式包括但不限于在步驟S4中,優(yōu)化設(shè)備I基于優(yōu)化單詞序列所對應(yīng)的該些單詞序列在標(biāo)記語言文本中的位序,將該些優(yōu)化單詞序列按照位序的順序連接成一個(gè)字符串,并將該字符串作為標(biāo)記語言優(yōu)化文本;或優(yōu)化設(shè)備I在步驟S3中獲得的第一個(gè)優(yōu)化單詞序列后,在步驟S4中,優(yōu)化設(shè)備I將該優(yōu)化單詞序列存入文本文檔中,并根據(jù)其在步驟S3中進(jìn)行優(yōu)化的順序,將后續(xù)獲得的優(yōu)化單詞序列依次存入該文本文檔中,以獲得標(biāo)記語言優(yōu)化文本。例如,假設(shè)在步驟S2中,優(yōu)化設(shè)備I獲得單詞序列為I)〈p style="" >2)文本框3)〈textarea〉4) </textarea)5)〈input class = " input " onclick = " alert ( ' hello—> ' ) " type="text" />6)〈/p>,在步驟S3中,優(yōu)化設(shè)備I根據(jù)單詞序列I)<p style = "" >,對該單詞序列進(jìn)行優(yōu)化處理,以獲得的第一個(gè)優(yōu)化單詞序列為〈P〉,在步驟S4中,優(yōu)化設(shè)備I將其存入一個(gè)文本文檔中,接著優(yōu)化設(shè)備I繼續(xù)對候選單詞序列進(jìn)行優(yōu)化處理,每當(dāng)完成一個(gè)單詞序列的優(yōu)化后,優(yōu)化設(shè)備I將其存入文本文檔,當(dāng)優(yōu)化結(jié)束時(shí),優(yōu)化設(shè)備I獲取標(biāo)記語言優(yōu)化文本為
文本框〈textareaX/textareaXinput class = inputonclick = " alert {' hello—>' )" />。本領(lǐng)域技術(shù)人員應(yīng)能理解上述獲得標(biāo)記語言優(yōu)化文本的方法僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的獲得標(biāo)記語言優(yōu)化文本的方法如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。
優(yōu)選地,上述各步驟可以是持續(xù)不斷地工作。具體地,在步驟SI中,優(yōu)化設(shè)備I獲取待處理的標(biāo)記語言文本;隨后,在步驟S2中,優(yōu)化設(shè)備I基于對所述標(biāo)記語言文本的詞法分析,對所述標(biāo)記語言文本進(jìn)行分詞處理,以獲得與所述標(biāo)記語言文本相對應(yīng)的一個(gè)或多個(gè)單詞序列;接著,在步驟S3中,優(yōu)化設(shè)備I對所述單詞序列進(jìn)行優(yōu)化處理,以獲得與所述單詞序列相對應(yīng)的優(yōu)化單詞序列;隨后,在步驟S4中,優(yōu)化設(shè)備I將所述優(yōu)化單詞序列進(jìn)行合并,以獲得與所述標(biāo)記語言文本相對應(yīng)的標(biāo)記語言優(yōu)化文本。在此,本領(lǐng)域技術(shù)人員應(yīng)理解“持續(xù)”是指優(yōu)化設(shè)備I在各步驟中分別按照設(shè)定的或?qū)崟r(shí)調(diào)整的工作模式要求進(jìn)行待處理的標(biāo)記語言文本的獲取、一個(gè)或多個(gè)單詞序列的獲取、優(yōu)化單詞序列的獲取及優(yōu)化文本的獲取,直至優(yōu)化設(shè)備I在較長時(shí)間內(nèi)停止對待處理的標(biāo)記語言文本的獲取。優(yōu)選地,在步驟S2中,優(yōu)化設(shè)備I可對所述標(biāo)記語言文本進(jìn)行詞法分析,獲得所述單詞序列及與所述單詞序列相對應(yīng)的單詞序列類型;接著,在步驟S3中,優(yōu)化設(shè)備I根據(jù)所述單詞序列類型,對所述單詞序列進(jìn)行優(yōu)化處理,以獲得所述優(yōu)化單詞序列。具體地,在步驟S2中,優(yōu)化設(shè)備I根據(jù)其在步驟SI中獲得的標(biāo)記語言文本,對該標(biāo)記語言文本進(jìn)行分詞處理,以獲得與該標(biāo)記語言文本相對應(yīng)的一個(gè)或多個(gè)單詞序列,并據(jù)該(些)單詞序列,獲 取與該(些)單詞序列相對應(yīng)的單詞序列類型,其中,獲取單詞序列類型的規(guī)則包括但不限于1)若單詞序列以字符“〈”為開始,并以字符“〉”為結(jié)束,則確定該單詞序列類型為開始標(biāo)簽;2)若單詞序列以字符組合“〈/”為開始,并以字符“〉”為結(jié)束,則確定該單詞序列類型為結(jié)束標(biāo)簽;3)若單詞序列中不包含字符“〉”與字符“〈”,則確定該單詞序列類型為純文本;接著,在步驟S3中,優(yōu)化設(shè)備I根據(jù)其在步驟S2中獲取的單詞序列類型,對該些單詞序列進(jìn)行去除冗余信息的優(yōu)化處理,以獲得優(yōu)化單詞序列,單詞序列的優(yōu)化處理的方式包括但不限于1)若單詞序列類型為開始標(biāo)簽,則去除單詞序列類型為開始標(biāo)簽的單詞序列中的缺省標(biāo)簽屬性;2)若單詞序列類型為結(jié)束標(biāo)簽,則根據(jù)該單詞序列中的內(nèi)容判斷該單詞序列是否可省略,以去除抑或保留該單詞序列;3)若單詞序列類型為純文本,則將純文本中的多個(gè)連續(xù)空格符修改為只保留一個(gè)空格符。本領(lǐng)域技術(shù)人員應(yīng)能理解上述獲取單詞序列類型的規(guī)則確定單詞序列類型的方式僅為舉例,其他用戶自定義的任意字符或字符組合標(biāo)記如“ {”和“}和“&>”等也可作為確定單詞序列類型的依據(jù)。例如,假設(shè)在步驟S2中,優(yōu)化設(shè)備I根據(jù)其在步驟SI中獲得的HTML文本為
北京□□口國家大劇院</p>,按照上例的方法利用隊(duì)列對該HTML文本進(jìn)行分詞處理,獲得單詞序列為I)
,2)北京□□口國家大劇院,3)〈/p>,其中單詞序列2)為“北京□□口國家大劇院”,并根據(jù)該單詞序列中沒有字符“〈”和字符“〉”,確定該單詞序列類型為純文本,并據(jù)此對該單詞序列進(jìn)行解析獲得該單詞序列中有連續(xù)三個(gè)空格符“ 口 ” ;接著在步驟S3中,優(yōu)化設(shè)備I按照HTML優(yōu)化規(guī)則,純文本中的連續(xù)空格符只需保留一個(gè),其余可刪除,從而將該純文本的連續(xù)三個(gè)空格符刪除兩個(gè)保留一個(gè),獲得優(yōu)化單詞序列為“北京□國家大劇院”;隨后,單詞序列3)為</p>,根據(jù)該單詞序列是以字符組合“〈/”為開始、以字符“〉”為結(jié)束,確定該單詞序列類型為結(jié)束標(biāo)簽,并據(jù)此對該單詞序列進(jìn)行解析,確定該單詞序列為P標(biāo)簽;接著優(yōu)化設(shè)備I按照HTML優(yōu)化規(guī)則,P標(biāo)簽的結(jié)束標(biāo)簽可以缺省,從而將字符序列〈/P〉刪除。本領(lǐng)域技術(shù)人員應(yīng)能理解上述獲得單詞序列類型和獲得優(yōu)化單詞序列的方式僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的獲得單詞序列類型或獲得優(yōu)化單詞序列的方式如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。優(yōu)選地,在步驟S3中,優(yōu)化設(shè)備I還可根據(jù)所述單詞序列類型,結(jié)合用戶相關(guān)信息,對所述單詞序列進(jìn)行優(yōu)化處理,以獲得所述優(yōu)化單詞序列。具體地,在步驟S3中,優(yōu)化設(shè)備I根據(jù)其在步驟S2中獲取的單詞序列類型,結(jié)合例如用戶所使用的瀏覽器類型、或用戶對HTML文本進(jìn)行優(yōu)化的偏好設(shè)置等用戶相關(guān)信息,以確定優(yōu)化處理的方式,進(jìn)而對該些單詞序列進(jìn)行優(yōu)化處理,以獲得優(yōu)化單詞序列。例如,在步驟S2中,優(yōu)化設(shè)備I獲取的單詞序列為〈! 一[if expression] >HTML< ! [endif]—>,且該單詞序列類型為開始標(biāo)簽,據(jù)此對該單詞序列進(jìn)行解析獲得其為HTML注釋,假設(shè)用戶使用的瀏覽器為Firefox瀏覽器,在步驟S3中,優(yōu)化設(shè)備I在兼容對照表中查詢獲得在Firefox瀏覽器中該注釋可以缺省,據(jù)此優(yōu)化設(shè)備I將該單詞序列刪除,其中,所述兼容對照表中包含所有的現(xiàn)有瀏覽器以及其兼容HTML的標(biāo)簽類型的映射關(guān)系,并且其可存儲于優(yōu)化設(shè)備I或第三方設(shè)備中。又例如,在步驟S2中,優(yōu)化設(shè)備I獲取的單詞序列為〈script src = " http://cache, soso. com.js" >,且該單詞序列類型開始標(biāo)簽,據(jù)此對該單詞序列進(jìn)行解析獲得其為script標(biāo)簽,假設(shè)用戶在用戶偏好設(shè)置中設(shè)置不運(yùn)行HTML文本中的所有script標(biāo)簽,則在步驟S3中,優(yōu)化設(shè)備I根據(jù)該單詞序列類型及該用戶的偏好設(shè)置,將該單詞序列刪除。再例如,假設(shè)用戶在用戶偏好設(shè)置中設(shè)置不對HTML文本進(jìn)行優(yōu)化處理,則在步驟S3中,優(yōu)化設(shè)備I保留原單詞序列。本領(lǐng)域技術(shù)人員應(yīng)能理解上述獲得優(yōu)化單詞序列的方式僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的獲得優(yōu)化單詞序列的方式如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。優(yōu)選地,所述用戶相關(guān)信息包括以下至少任一項(xiàng)-用戶偏好設(shè)置;-用戶瀏覽器信息。其中,用戶偏好設(shè)置包括但不限于用戶通過用戶設(shè)備設(shè)置是否對HTML文本進(jìn)行優(yōu)化設(shè)置,或是否允許執(zhí)行HTML文本中的腳本等;用戶瀏覽器信息包括用戶瀏覽器的類型或版本等,如IE瀏覽器、Firefox瀏覽器、Opera瀏覽器、Google Chrome瀏覽器等或IE3. O、IE5. O等。本領(lǐng)域技術(shù)人員應(yīng)能理解,上述兩項(xiàng)用戶相關(guān)信息不僅可以單獨(dú)用于對單詞序列進(jìn)行優(yōu)化處理,還可以將兩項(xiàng)結(jié)合用于對單詞序列進(jìn)行優(yōu)化處理。本領(lǐng)域技術(shù)人員應(yīng)能理解上述用戶相關(guān)信息僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的用戶相關(guān)信息如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。優(yōu)選地,所述單詞序列類型包括以下至少任一項(xiàng)-開始標(biāo)簽;-結(jié)束標(biāo)簽;-純文本。具體地,單詞序列類型包括但不限于I)開始標(biāo)簽,若單詞序列的單詞序列類型為開始標(biāo)簽時(shí),則在步驟S3中,優(yōu)化設(shè)備I根據(jù)該單詞序列類型,去除該單詞序列中的缺省標(biāo)簽屬性或當(dāng)單詞序列的標(biāo)簽的屬性值不包括特殊字符如字符“〈”、“〉”等時(shí),屬性值的左右引號""可省略;例如input標(biāo)簽的type屬性的缺省屬性值為"text",在步驟S3中,優(yōu)化設(shè)備I可將字符序列type = " text "從單詞序列中刪除;又例如,input標(biāo)簽的class屬性的屬性值"input"中沒有特殊字符時(shí),左右引號""可省略,從而在步驟S3中,優(yōu)化設(shè)備I將字符序列class=" input"中的""刪除;再例如,input標(biāo)簽的disabled屬性的屬性值為"disabled"可缺省,從而在步驟S3中,優(yōu)化設(shè)備I將字符序列="disabled"從單詞序列中刪除; 2)結(jié)束標(biāo)簽,若單詞序列類型為結(jié)束標(biāo)簽,則在步驟S3中,優(yōu)化設(shè)備I根據(jù)該單詞序列類型,去除可省略的單詞序列類型為結(jié)束標(biāo)簽的單詞序列,例如,P標(biāo)簽的結(jié)束標(biāo)簽可以缺省,在步驟S3中,優(yōu)化設(shè)備I將單詞序列</p>刪除;3)純文本,若單詞序列類型為純文本,則在步驟S3中,優(yōu)化設(shè)備I將純文本中的連續(xù)多個(gè)空格符只保留一個(gè),其余刪除。本領(lǐng)域技術(shù)人員應(yīng)能理解上述單詞序列類型僅為舉 例,其他現(xiàn)有的或今后可能出現(xiàn)的單詞序列類型如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。在一個(gè)優(yōu)選實(shí)施例中(參照圖2),在步驟S2中,優(yōu)化設(shè)備I基于根據(jù)預(yù)置分析規(guī)則對所述標(biāo)記語言文本的詞法分析,對所述標(biāo)記語言文本進(jìn)行分詞處理,以獲得所述一個(gè)或多個(gè)單詞序列。以下參照圖2對該優(yōu)選實(shí)施例進(jìn)行詳細(xì)描述,其中,在步驟SI中,優(yōu)化設(shè)備I獲取待處理的標(biāo)記語言文本;在步驟S3中,優(yōu)化設(shè)備I對所述單詞序列進(jìn)行優(yōu)化處理,以獲得與所述單詞序列相對應(yīng)的優(yōu)化單詞序列;在步驟S4中,優(yōu)化設(shè)備I將所述優(yōu)化單詞序列進(jìn)行合并,以獲得與所述標(biāo)記語言文本相對應(yīng)的標(biāo)記語言優(yōu)化文本;其具體過程與前述參照圖2所描述的實(shí)施例中優(yōu)化設(shè)備I在步驟SI、步驟S3和步驟S4中所執(zhí)行的過程相同,為簡明起見,以引用方式包含于此,而不做贅述。具體地,在步驟S2中,優(yōu)化設(shè)備I基于根據(jù)預(yù)置分析規(guī)則對其在步驟SI中獲取的標(biāo)記語言文本的詞法分析,并對該標(biāo)記語言文本進(jìn)行分詞處理,以獲得所述一個(gè)或多個(gè)單詞序列,其中,預(yù)置分析規(guī)則包括但不限于1)將若干指定的標(biāo)記語言的固有標(biāo)簽,2)將用戶自定義的標(biāo)簽,作為詞法分析中進(jìn)行單詞序列分割的標(biāo)記,對該標(biāo)記語言文本進(jìn)行詞法分析。例如,假設(shè)預(yù)設(shè)分析規(guī)則為將包含有Smarty語法內(nèi)容的用戶自定義標(biāo)簽作為詞法分析中進(jìn)行單詞序列分割的標(biāo)記,在步驟SI中,優(yōu)化設(shè)備I提供的HTML文本<&if $smarty. get. mode = = " iframe" &><div class = " ui-no-result" > 沒有新的搭訕啦在步驟S2中,優(yōu)化設(shè)備I利用隊(duì)列對該HTML文本進(jìn)行分詞處理,首先優(yōu)化設(shè)備I將該HTML文本的第一個(gè)字符“〈”入對,并記錄該字符“〈”為一個(gè)新標(biāo)簽的開始,接著將后續(xù)字符和“$”入隊(duì),并根據(jù)該隊(duì)列中的字符“〈”與字符“$”之間的字符串“&if”確定該標(biāo)簽為用戶自定義的標(biāo)簽,即標(biāo)簽,隨后優(yōu)化設(shè)備I依次將后續(xù)字符
...... “&”入隊(duì),接著當(dāng)優(yōu)化設(shè)備I將字符“〉”入隊(duì)時(shí),其確定該字符“〉”與隊(duì)首
的字符“〈”相對應(yīng),并表示該用戶自定義標(biāo)簽的結(jié)束,據(jù)此,優(yōu)化設(shè)備I將該隊(duì)列中的字符全部輸出,以獲得一個(gè)單詞序列<&if $smarty. get. mode = = " iframe;/ &>,再接著優(yōu)化設(shè)備I按照相同的方法對后續(xù)文本進(jìn)行分詞處理,以獲得的單詞序列依次為
I) <&if $smarty. get. mode = = " iframe " &>,2) \n\r <div class = " ui-no-result;/ >。其中,Smarty語法是一個(gè)使用PHP寫出來的模板引擎,它分離了邏輯代碼和外在的內(nèi)容,用來將原本與HTML代碼混雜在一起PHP代碼邏輯分離。本領(lǐng)域技術(shù)人員應(yīng)能理解上述預(yù)置分析規(guī)則僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的預(yù)置分析規(guī)則如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。優(yōu)選地,所述預(yù)置分析規(guī)則基于以下至少任一項(xiàng)對所述標(biāo)記語言文本進(jìn)行詞法分析-所述標(biāo)記語言的標(biāo)簽信息;-用戶自定義標(biāo)簽信息。
具體地,預(yù)置分析規(guī)則基于標(biāo)記語言的標(biāo)簽信息,如該標(biāo)記語言的標(biāo)簽信息示出該標(biāo)簽為標(biāo)記語言固有的標(biāo)簽,如HTML中的〈body〉、〈input〉、
等;或基于用戶通過用戶設(shè)備自定義標(biāo)簽信息,如包含有Smarty語法內(nèi)容的標(biāo)簽用戶預(yù)先設(shè)定標(biāo)記語言中的若干固有標(biāo)簽,作為詞法分析中進(jìn)行單詞序列分割的標(biāo)記,對標(biāo)記語言文本進(jìn)行詞法分析。本領(lǐng)域技術(shù)人員應(yīng)能理解,上述兩項(xiàng)預(yù)置分析規(guī)則不僅可以單獨(dú)用于對標(biāo)記語言文本進(jìn)行詞法分析,還可以結(jié)合用于對標(biāo)記語言文本進(jìn)行詞法分析。本領(lǐng)域技術(shù)人員應(yīng)能理解上述詞法分析的方法僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的詞法分析的方法如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。優(yōu)選地,在步驟S4中,優(yōu)化設(shè)備I根據(jù)所述優(yōu)化單詞序列所對應(yīng)的所述單詞序列在所述標(biāo)記語言文本中的位序,將所述優(yōu)化單詞序列進(jìn)行合并,以獲得與所述標(biāo)記語言文本相對應(yīng)的標(biāo)記語言優(yōu)化文本。具體地,在步驟S4中,優(yōu)化設(shè)備I根據(jù)其在步驟S3中獲取的優(yōu)化單詞序列,并基于該些優(yōu)化單詞序列所對應(yīng)的該些單詞序列在標(biāo)記語言文本中的位序,例如將該些優(yōu)化單詞序列按照位序的順序連接成一個(gè)字符串,并將該字符串作為標(biāo)記語言優(yōu)化文本。例如,假設(shè)待處理的標(biāo)記語言文本為〈p style="" > 文本框 <textarea>welefen〈/textarea>〈input class = " input " onclick = " alert ( ' hello—> ' ) " type="text" /></p>在步驟S2中,優(yōu)化設(shè)備I進(jìn)過詞法分析,獲得單詞序列為I) <p style ="" >,2)文本框,3)〈textarea〉4) welefen,5) </textarea),6)〈input class = " input " onclick = " alert ( ' hello—> ' ) " type="text" />,7)〈/p>,在步驟S3中,優(yōu)化設(shè)備I根據(jù)其在步驟S2中獲得的單詞序列,通過單詞序列優(yōu)化獲取的優(yōu)化單詞序列依次為
I)
,2)文本框,3) <textarea>,4) welefen,5) </textarea),6) <input class = input onclick = " alert {' hello—>' )" />,在步驟S4中,優(yōu)化設(shè)備I根據(jù)該些單詞序列在標(biāo)記語言文本中的位序,如I)、2)等,將該些優(yōu)化單詞序列按照位序的順序連接成一個(gè)字符串,并將該字符串作為標(biāo)記語言優(yōu)化文本為
文本框 <textarea>welefen〈/textarea>〈input class = inputonclick = " alert {' hello—>' )" />本領(lǐng)域技術(shù)人員應(yīng)能理解上述獲得標(biāo)記語言優(yōu)化文本的方法僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的獲得標(biāo)記語言優(yōu)化文本的方法如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。優(yōu)選地,在步驟SI中,優(yōu)化設(shè)備I獲取與用戶通過用戶設(shè)備提交的訪問請求相對應(yīng)的所述標(biāo)記語言文本;該過程還包括步驟S5(未示出),在步驟S5中,優(yōu)化設(shè)備I將所述標(biāo)記語言優(yōu)化文本提供給用戶設(shè)備。具體地,用戶通過與用戶設(shè)備的交互方式,包括但不限于鍵盤、鼠標(biāo)、遙控器、觸摸板、或手寫設(shè)備,在瀏覽器軟件、應(yīng)用程序或客戶端軟件中輸入一條訪問某HTML網(wǎng)頁的URL,然后,用戶設(shè)備將該URL通過預(yù)定的通信協(xié)議提交到優(yōu)化設(shè)備I,接著,在步驟SI中,優(yōu)化設(shè)備I通過實(shí)時(shí)監(jiān)聽用戶消息接收該URL,根據(jù)該URL獲取其所對應(yīng)的網(wǎng)頁,并提取該網(wǎng)頁中的HTML文本信息作為待處理的標(biāo)記語言文本。在此,該用戶設(shè)備可以是任何一種可與用戶通過鍵盤、鼠標(biāo)、遙控器、觸摸板、或聲控設(shè)備進(jìn)行人機(jī)交互的電子產(chǎn)品,包括但不限于計(jì)算機(jī)、智能手機(jī)、PDA、或IPTV等。優(yōu)化設(shè)備I與用戶設(shè)備之間可通過任何通信方式實(shí)現(xiàn)通信,包括但不限于,基于3GPP、LTE、WIMAX的移動通信、基于TCP/IP、UDP協(xié)議的計(jì)算機(jī)網(wǎng)絡(luò)通信以及基于藍(lán)牙、紅外傳輸標(biāo)準(zhǔn)的近距無線傳輸方式。優(yōu)化設(shè)備I與用戶設(shè)備連接的網(wǎng)絡(luò)包括但不限于互聯(lián)網(wǎng)、廣域網(wǎng)、城域網(wǎng)、局域網(wǎng)、VPN網(wǎng)絡(luò)、無線自組織網(wǎng)絡(luò)(Ad Hoc網(wǎng)絡(luò))等。本領(lǐng)域技術(shù)人員應(yīng)能理解上述獲取標(biāo)記語言文本的方式僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的獲取標(biāo)記語言文本的方式如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。隨后,在步驟S5中,優(yōu)化設(shè)備I根據(jù)其在步驟S4中獲取的標(biāo)記語言優(yōu)化文本,采用任何已知的計(jì)算機(jī)提供人可讀信息的技術(shù)手段,例如屏幕顯示等,將該標(biāo)記語言優(yōu)化文本提供給用戶設(shè)備。以屏幕顯示為例,在步驟S5中,優(yōu)化設(shè)備I將標(biāo)記語言優(yōu)化文本按一定格式提供給用戶設(shè)備,例如以鏈接、頁面文本等形式提供給用戶設(shè)備,供用戶進(jìn)行瀏覽。本領(lǐng)域技術(shù)人員應(yīng)能理解上述對提供標(biāo)記語言優(yōu)化文本的方式僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的提供標(biāo)記語言優(yōu)化文本的方式如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。以上對本發(fā)明的具體實(shí)施例進(jìn)行了描述。需要理解的是,本發(fā)明并不局限于上述特定實(shí)施方式,本領(lǐng)域技術(shù)人員可以在所附權(quán)利要求的范圍內(nèi)做出各種變形或修改。
權(quán)利要求
1.一種計(jì)算機(jī)實(shí)現(xiàn)的用于優(yōu)化標(biāo)記語言文本的方法,其中,該方法包括以下步驟 a獲取待處理的標(biāo)記語言文本; b基于對所述標(biāo)記語言文本的詞法分析,對所述標(biāo)記語言文本進(jìn)行分詞處理,以獲得與所述標(biāo)記語言文本相對應(yīng)的一個(gè)或多個(gè)單詞序列; c對所述單詞序列進(jìn)行優(yōu)化處理,以獲得與所述單詞序列相對應(yīng)的優(yōu)化單詞序列;d將所述優(yōu)化單詞序列進(jìn)行合并,以獲得與所述標(biāo)記語言文本相對應(yīng)的標(biāo)記語言優(yōu)化文本。
2.根據(jù)權(quán)利要求I所述的方法,其中,所述步驟b還包括 -對所述標(biāo)記語言文本進(jìn)行詞法分析,獲得所述單詞序列及與所述單詞序列相對應(yīng)的單詞序列類型; 其中,所述步驟c還包括 -根據(jù)所述單詞序列類型,對所述單詞序列進(jìn)行優(yōu)化處理,以獲得所述優(yōu)化單詞序列。
3.根據(jù)權(quán)利要求2所述的方法,其中,所述步驟c還包括 -根據(jù)所述單詞序列類型,結(jié)合用戶相關(guān)信息,對所述單詞序列進(jìn)行優(yōu)化處理,以獲得所述優(yōu)化單詞序列。
4.根據(jù)權(quán)利要求3所述的方法,其中,所述用戶相關(guān)信息包括以下至少任一項(xiàng) -用戶偏好設(shè)置; -用戶瀏覽器信息。
5.根據(jù)權(quán)利要求2至4中任一項(xiàng)所述的方法,其中,所述單詞序列類型包括以下至少任一項(xiàng) -開始標(biāo)簽; -結(jié)束標(biāo)簽; -純文本。
6.根據(jù)權(quán)利要求I至5中任一項(xiàng)所述的方法,其中,所述步驟b還包括 -基于根據(jù)預(yù)置分析規(guī)則對所述標(biāo)記語言文本的詞法分析,對所述標(biāo)記語言文本進(jìn)行分詞處理,以獲得所述一個(gè)或多個(gè)單詞序列。
7.根據(jù)權(quán)利要求6所述的方法,其中,所述分析規(guī)則基于以下至少任一項(xiàng)對所述標(biāo)記語言文本進(jìn)行詞法分析 -所述標(biāo)記語目的標(biāo)簽/[目息; -用戶自定義標(biāo)簽信息。
8.根據(jù)權(quán)利要求I至7中任一項(xiàng)所述的方法,其中,所述步驟d還包括 -根據(jù)所述優(yōu)化單詞序列所對應(yīng)的所述單詞序列在所述標(biāo)記語言文本中的位序,將所述優(yōu)化單詞序列進(jìn)行合并,以獲得與所述標(biāo)記語言文本相對應(yīng)的標(biāo)記語言優(yōu)化文本。
9.根據(jù)權(quán)利要求8所述的方法,其中,所述步驟a還包括 -獲取與用戶通過用戶設(shè)備提交的訪問請求相對應(yīng)的所述標(biāo)記語言文本; 其中,該方法還包括 將所述標(biāo)記語言優(yōu)化文本提供給所述用戶設(shè)備。
10.一種用于優(yōu)化標(biāo)記語言文本的設(shè)備,其中,該設(shè)備包括 文本獲取裝置,用于獲取待處理的標(biāo)記語言文本;詞法分析裝置,用于基于對所述標(biāo)記語言文本的詞法分析,對所述標(biāo)記語言文本進(jìn)行分詞處理,以獲得與所述標(biāo)記語言文本相對應(yīng)的一個(gè)或多個(gè)單詞序列; 優(yōu)化裝置,用于對所述單詞序列進(jìn)行優(yōu)化處理,以獲得與所述單詞序列相對應(yīng)的優(yōu)化單詞序列; 優(yōu)化文本獲取裝置,用于將所述優(yōu)化單詞序列進(jìn)行合并,以獲得與所述標(biāo)記語言文本相對應(yīng)的標(biāo)記語言優(yōu)化文本。
11.根據(jù)權(quán)利要求10所述的設(shè)備,其中,所述詞法分析裝置還用于對所述標(biāo)記語言文本進(jìn)行詞法分析,獲得所述單詞序列及與所述單詞序列相對應(yīng)的單詞序列類型; 其中,所述優(yōu)化裝置還用于根據(jù)所述單詞序列類型,對所述單詞序列進(jìn)行優(yōu)化處理,以獲得所述優(yōu)化單詞序列。
12.根據(jù)權(quán)利要求11所述的設(shè)備,其中,所述優(yōu)化裝置還用于根據(jù)所述單詞序列類型,結(jié)合用戶相關(guān)信息,對所述單詞序列進(jìn)行優(yōu)化處理,以獲得所述優(yōu)化單詞序列。
13.根據(jù)權(quán)利要求12所述的設(shè)備,其中,所述用戶相關(guān)信息包括以下至少任一項(xiàng) -用戶偏好設(shè)置; -用戶瀏覽器信息。
14.根據(jù)權(quán)利要求11至13中任一項(xiàng)所述的設(shè)備,其中,所述單詞序列類型包括以下至少任一項(xiàng) -開始標(biāo)簽; -結(jié)束標(biāo)簽; -純文本。
15.根據(jù)權(quán)利要求10至14中任一項(xiàng)所述的設(shè)備,其中,所述詞法分析裝置還用于基于根據(jù)預(yù)置分析規(guī)則對所述標(biāo)記語言文本的詞法分析,對所述標(biāo)記語言文本進(jìn)行分詞處理,以獲得所述一個(gè)或多個(gè)單詞序列。
16.根據(jù)權(quán)利要求15所述的設(shè)備,其中,所述預(yù)置分析規(guī)則基于以下至少任一項(xiàng)對所述標(biāo)記語言文本進(jìn)行詞法分析 -所述標(biāo)記語目的標(biāo)簽/[目息; -用戶自定義標(biāo)簽信息。
17.根據(jù)權(quán)利要求10至16中任一項(xiàng)所述的設(shè)備,其中,該優(yōu)化文本獲取裝置還用于根據(jù)所述優(yōu)化單詞序列所對應(yīng)的所述單詞序列在所述標(biāo)記語言文本中的位序,將所述優(yōu)化單詞序列進(jìn)行合并,以獲得與所述標(biāo)記語言文本相對應(yīng)的標(biāo)記語言優(yōu)化文本。
18.根據(jù)權(quán)利要求17所述的設(shè)備,其中,所述文本獲取裝置還用于獲取與用戶通過用戶設(shè)備提交的訪問請求相對應(yīng)的所述標(biāo)記語言文本; 其中,該設(shè)備還包括 提供裝置,用于將所述標(biāo)記語言優(yōu)化文本提供給所述用戶設(shè)備。
全文摘要
本發(fā)明的目的是提供一種用于優(yōu)化標(biāo)記語言文本的方法與設(shè)備,其中,優(yōu)化設(shè)備獲取待處理的標(biāo)記語言文本;基于對所述標(biāo)記語言文本的詞法分析,對所述標(biāo)記語言文本進(jìn)行分詞處理,以獲得與所述標(biāo)記語言文本相對應(yīng)的一個(gè)或多個(gè)單詞序列;對所述單詞序列進(jìn)行優(yōu)化處理,以獲得與所述單詞序列相對應(yīng)的優(yōu)化單詞序列;將所述優(yōu)化單詞序列進(jìn)行合并,以獲得與所述標(biāo)記語言文本相對應(yīng)的標(biāo)記語言優(yōu)化文本。與現(xiàn)有技術(shù)相比,本發(fā)明在保證標(biāo)記語言文本內(nèi)容邏輯正確的前提下,對更多內(nèi)容進(jìn)行優(yōu)化,在提高優(yōu)化準(zhǔn)確性的基礎(chǔ)上實(shí)現(xiàn)了頁面的高速加載,進(jìn)而提升了頁面的可訪問性和易維護(hù)性。
文檔編號G06F17/30GK102880606SQ201110193378
公開日2013年1月16日 申請日期2011年7月11日 優(yōu)先權(quán)日2011年7月11日
發(fā)明者李成銀 申請人:百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司