專利名稱::網(wǎng)頁信息單元截取、合并的方法
技術(shù)領(lǐng)域:
:本發(fā)明屬于網(wǎng)絡(luò)
技術(shù)領(lǐng)域:
,具體屬于一種網(wǎng)頁信息單元截取、合并的方法。
背景技術(shù):
:因特網(wǎng)時(shí)代,造就了我們新的工作和生活方式,其互聯(lián)性、開放性和共享信息的模式,打破了傳統(tǒng)信息傳播方式的重重壁壘,使得我們獲取信息比以往更加的方便且內(nèi)容豐富。同時(shí),因特網(wǎng)迅速地在世界各國普及,信息采集和傳播的速度達(dá)到了空前的水平。據(jù)統(tǒng)計(jì),因特網(wǎng)上的主頁目前已經(jīng)達(dá)到l.3億頁,并且正在以每天10萬頁、近2000萬個(gè)單詞的速度遞增。洶涌而來的信息讓人們無所適從,難以抵擋。信息時(shí)代在給人們提供了大量機(jī)會(huì)的同時(shí),也帶來了嚴(yán)峻的問題和挑戰(zhàn)。網(wǎng)頁上的信息形形色色,我們每個(gè)人上網(wǎng)時(shí),對因特網(wǎng)上感興趣的內(nèi)容各不相同,即使同一個(gè)網(wǎng)站,每個(gè)人真正感興趣的版塊內(nèi)容也不盡相同,為了獲得感興趣的信息,人們往往打開很多的網(wǎng)站,或者從一個(gè)網(wǎng)站跳到另一個(gè)網(wǎng)站,傳統(tǒng)的web應(yīng)用要求用戶填寫表單并向web服務(wù)器發(fā)送請求,服務(wù)器接收到請求后處理發(fā)來的表單,然后重新生成一個(gè)新的網(wǎng)頁。這個(gè)做法浪費(fèi)了很多帶寬,因?yàn)樵谇昂髢蓚€(gè)網(wǎng)頁中的大部分html(HypertextMarkedLanguage的英文縮寫)代碼是相同的,用戶多次請求將會(huì)使響應(yīng)時(shí)間大大減慢。然而我們每次都要重復(fù)著這樣的步驟,浪費(fèi)了很多的時(shí)間和精力,并且接受著大量的無關(guān)信息的沖擊,如何將那些感興趣的內(nèi)容有選擇地截取和實(shí)時(shí)更新使用,如何將從不同網(wǎng)頁上截取下來的內(nèi)容合并到一處,是每個(gè)網(wǎng)絡(luò)用戶都非常關(guān)心的問題。現(xiàn)在一般的截取方式包括使用屏幕打印鍵(printscreen)進(jìn)行全屏拷貝,或者利用一些工具軟件比如即時(shí)聊天工具QQ,它帶有截取網(wǎng)絡(luò)內(nèi)容的工具,提供對當(dāng)前全屏區(qū)域的任意區(qū)域進(jìn)行有選擇性的截取,但是這些方法使用起來都不方便,截取的僅僅是網(wǎng)頁內(nèi)容的靜態(tài)圖片,不能動(dòng)態(tài)實(shí)時(shí)更新,更不能解決將從不同網(wǎng)頁上截取下來的內(nèi)容合并在一起的問題。而我們現(xiàn)在用的網(wǎng)址收藏夾,也就僅僅提供了各個(gè)網(wǎng)址的鏈接,我們要査看多個(gè)網(wǎng)頁的內(nèi)容還是要各自打開各個(gè)鏈接進(jìn)去,而不能從一處直接瀏覽多個(gè)網(wǎng)頁的相關(guān)內(nèi)容,更談不上各個(gè)網(wǎng)頁相關(guān)信息單元的合并。
發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題是提供一種可將不同網(wǎng)頁的單元信息截取、合并的方法。為了解決上述技術(shù)問題,本發(fā)明采用以下的技術(shù)方案一種網(wǎng)頁信息單元截取、合并的方法,包括以下步驟一種網(wǎng)頁信息單元截取、合并的方法,包括以下步驟1)客戶端輸入一個(gè)或多個(gè)網(wǎng)址,根據(jù)網(wǎng)址的個(gè)數(shù)在客戶端生成對應(yīng)的各個(gè)顯示網(wǎng)頁內(nèi)容的子頁面;2)客戶端將各個(gè)子頁面的網(wǎng)頁內(nèi)容解析成信息單元后,用戶從各個(gè)子頁面選取要截取的信息單元;3)客戶端再次獲取各個(gè)網(wǎng)址的網(wǎng)頁內(nèi)容,解析成信息單元,并與用戶選取的信息單元比較,篩選出用戶選取的信息單元合并至新生成的客戶端瀏覽窗口。其中步驟l)包含如下過程la)客戶端輸入一個(gè)或多個(gè)網(wǎng)址,向服務(wù)器發(fā)出請求,服務(wù)器端統(tǒng)計(jì)網(wǎng)址的個(gè)數(shù),并檢查網(wǎng)址是否合法,若檢查結(jié)果合法,繼續(xù)下一步,否則提示重新輸入網(wǎng)址;lb)客戶端根據(jù)網(wǎng)址的個(gè)數(shù)生成相應(yīng)個(gè)數(shù)的子頁面,并給每個(gè)子頁面賦予一個(gè)網(wǎng)址,每個(gè)子頁面分別獨(dú)立請求服務(wù)器,獲取相應(yīng)網(wǎng)址的網(wǎng)頁內(nèi)容。其中步驟2)包含如下過程2a)客戶端根據(jù)HTML元素的順序?qū)⒏鱾€(gè)子頁面的網(wǎng)頁內(nèi)容分解成信息單元并依次編號;2b)給每個(gè)HTML元素增加鼠標(biāo)事件,用戶通過鼠標(biāo)點(diǎn)擊選取各個(gè)子頁面的信息單元。其中步驟2a)包含如下過程獲取網(wǎng)頁的body節(jié)點(diǎn)內(nèi)的所有子節(jié)點(diǎn)對象,存到數(shù)組變量,遍歷數(shù)組變量的所有子節(jié)點(diǎn)對象,給每個(gè)子節(jié)點(diǎn)對象遞增編號;2b)包含如下過程根據(jù)子節(jié)點(diǎn)對象的標(biāo)簽名屬性,給子節(jié)點(diǎn)對象增加鼠標(biāo)事件。其中步驟3)包含如下過程3a)客戶端收集用戶選取的信息單元所對應(yīng)的網(wǎng)址和單元編號組成數(shù)據(jù),將該數(shù)據(jù)發(fā)送至服務(wù)器存入數(shù)據(jù)庫,并分配窗口編號;3b)客戶端訪問數(shù)據(jù)庫獲取信息單元對應(yīng)的網(wǎng)址和單元編號,將第一個(gè)網(wǎng)址發(fā)送給服務(wù)器,服務(wù)器獲取并返回該網(wǎng)址的網(wǎng)頁內(nèi)容,客戶端根據(jù)HTML元素的順序?qū)⒃摼W(wǎng)頁內(nèi)容分解成信息單元并依次編號,根據(jù)用戶選取的信息單元對應(yīng)的單元編號篩選出單元編號與之相同的信息單元,添加至分配的窗口中;3c)重復(fù)步驟3b),將第二個(gè)網(wǎng)址發(fā)送給服務(wù)器,直至所有網(wǎng)址發(fā)送完畢。其中步驟3b)包含如下過程:將信息單元所對應(yīng)的網(wǎng)址和單元編號組成的數(shù)據(jù)轉(zhuǎn)換為數(shù)組變量,依次獲取數(shù)組變量中各變量的網(wǎng)址和單元編號,將網(wǎng)頁內(nèi)容加載到一個(gè)容器中,獲取容器內(nèi)的所有子節(jié)點(diǎn)對象,存到另一個(gè)數(shù)組變量中,設(shè)置一個(gè)空字符串變量,遍歷所有子節(jié)點(diǎn)對象,若當(dāng)前的遞增變量的值等于單元編號,則將當(dāng)前子節(jié)點(diǎn)對象的outerHTML屬性值取出,并追加到字符串變量中,將字符串變量的值添加到分配的窗口中。本發(fā)明與現(xiàn)有技術(shù)相比具有以下的優(yōu)點(diǎn)(l)可以把任一網(wǎng)頁的內(nèi)容根據(jù)用戶需要把一到多個(gè)內(nèi)容合并到一個(gè)閱讀窗口,無需打開原網(wǎng)頁就可以直接閱讀;(2)能多窗口多任務(wù)操作,對于生活和工作有合理的統(tǒng)籌安排,可以同時(shí)關(guān)注新聞咨詢、寫博客、聽音樂等等或者其他的只要用戶需要的;(3)客戶端任何截取的內(nèi)容都由服務(wù)器隨時(shí)獲取最新網(wǎng)頁后再篩選出來的,隨原網(wǎng)頁同步實(shí)時(shí)更新,起到網(wǎng)絡(luò)內(nèi)容直播的作用,用戶不管時(shí)間地點(diǎn),無需對定制內(nèi)容進(jìn)行新舊比較,確保都是最新的。(4)為未來的智能獲取技術(shù)(內(nèi)容搜索)做好了"直接截取相關(guān)內(nèi)容"的鋪墊,將會(huì)大大的提高用戶獲取信息的效率。圖1A、圖1B是本發(fā)明的詳細(xì)流程圖。具體實(shí)施例方式一種網(wǎng)頁信息單元截取、合并的方法,包括以下步驟1)客戶端輸入一個(gè)或多個(gè)網(wǎng)址,根據(jù)網(wǎng)址的個(gè)數(shù)在客戶端生成對應(yīng)的各個(gè)顯示網(wǎng)頁內(nèi)容的子頁面;2)客戶端將各個(gè)子頁面的網(wǎng)頁內(nèi)容解析成信息單元后,用戶從各個(gè)子頁面選取要截取的信息單元;3)客戶端再次獲取各個(gè)網(wǎng)址的網(wǎng)頁內(nèi)容,解析成信息單元,并與用戶選取的信息單元比較,篩選出用戶選取的信息單元合并至新生成的窗口。下面進(jìn)一步詳細(xì)說明本發(fā)明所述方法的具體步驟參見圖1A、圖1B,在用戶端輸入一個(gè)或多個(gè)網(wǎng)址,用空格分開,例如www,baidu.comwww,sina.com,cnhttp:〃www.google,cn;麗.aol掘,向后臺服務(wù)器發(fā)出請求,由服務(wù)器端程序分析輸入的網(wǎng)址字符串,統(tǒng)計(jì)出網(wǎng)址個(gè)數(shù),并檢查網(wǎng)址是否合法,是否具備http:〃xxx或者xxx.xxx的形式,若檢査結(jié)果合法,繼續(xù)下一步,否則提示重新輸入網(wǎng)址;客戶端根據(jù)網(wǎng)址的個(gè)數(shù)生成相應(yīng)個(gè)數(shù)的子頁面,并給每個(gè)子頁面賦予一個(gè)網(wǎng)址,每個(gè)子頁面分別獨(dú)立請求服務(wù)器,獲取相應(yīng)網(wǎng)址的網(wǎng)頁內(nèi)容并顯示,并將javascript程序代碼嵌入每個(gè)子頁面,客戶端根據(jù)HTML元素的順序?qū)⒏鱾€(gè)子頁面的網(wǎng)頁內(nèi)容分解成信息單元并依次編號,并給每個(gè)HTML元素增加鼠標(biāo)事件,HTML元素是組成網(wǎng)頁的最基本的元素,一個(gè)信息單元包含一個(gè)節(jié)點(diǎn),一個(gè)節(jié)點(diǎn)可包含1個(gè)或多個(gè)HTML元素,或者包含1個(gè)或多個(gè)子節(jié)點(diǎn)。具體方法是網(wǎng)頁內(nèi)容加載完畢時(shí)觸發(fā)onload事件,客戶端Javascript程序遍歷網(wǎng)頁中的每一個(gè)HTML元素對象,即javascript腳本程序使用document,body.getElementsByTagName("*")方法,獲取網(wǎng)頁的body(主體節(jié)點(diǎn))節(jié)點(diǎn)內(nèi)的所有子節(jié)點(diǎn)對象,存到數(shù)組變量elements中(elements為設(shè)定的數(shù)組變量名),遍歷elements的所有子節(jié)點(diǎn)對象,并通過setAttribute("fish")方法,給每個(gè)子節(jié)點(diǎn)對象設(shè)置編號屬性,第一個(gè)子節(jié)點(diǎn)對象編號為l,第二個(gè)子節(jié)點(diǎn)對象編號為2,依次類推,遞增編號,若子節(jié)點(diǎn)對象的tagName(標(biāo)簽名)屬性為table、div、ol、ul、li、tr、td、marquee、center、dl、form、span的其中一個(gè),則獲取其節(jié)點(diǎn)內(nèi)的所有子節(jié)點(diǎn),并判斷是否有tagName屬性為table、div、ol、ul、li、tr、td、marquee、center、dl、form、span的子節(jié)點(diǎn),若不存在,則給此子節(jié)點(diǎn)對象加上鼠標(biāo)的onmouseover、onmousemove、onmousedown、oncontextmenu和onmouseout事件,若存在,則不做處理。用戶通過鼠標(biāo)點(diǎn)擊選取各個(gè)子頁面的信息單元,在用戶鼠標(biāo)經(jīng)過時(shí),自動(dòng)改變信息單元的背景色,突顯出信息單元,用戶可直接通過左右鍵選取或取消此塊內(nèi)容。客戶端Javascript程序記錄用戶的選取單元,收集用戶選取的信息單元所對應(yīng)的網(wǎng)址和單元編號組成一個(gè)有序的字符串?dāng)?shù)據(jù)(JavascriptObjectNotation字符串,簡稱JS0N對象),將該數(shù)據(jù)發(fā)送至服務(wù)器存入數(shù)據(jù)庫,并分配窗口編號,客戶端訪問數(shù)據(jù)庫獲取信息單元數(shù)據(jù),包括信息單元對應(yīng)的網(wǎng)址和單元編號,創(chuàng)建窗口,將該信息單元數(shù)據(jù)轉(zhuǎn)換為數(shù)組變量ID(ID為設(shè)定的數(shù)組變量名),獲取數(shù)組變量ID第一個(gè)變量的網(wǎng)址和單元編號,將第一個(gè)網(wǎng)址發(fā)送給服務(wù)器,服務(wù)器返回該網(wǎng)址對應(yīng)的網(wǎng)頁內(nèi)容(只是數(shù)據(jù),沒有顯示),再根據(jù)HTML元素的順序?qū)⒃摼W(wǎng)頁內(nèi)容分解成信息單元并依次編號,并與用戶選取的信息單元比較,根據(jù)用戶選取的信息單元對應(yīng)的單元編號篩選出單元編號與之相同的信息單元,即將用戶選取的單元編號部分的內(nèi)容提取出來,添加至分配的窗口中。比較的具體方法是javascript腳本程序?qū)⒕W(wǎng)頁內(nèi)容加載到一個(gè)通過document.createElement("DIV")方法創(chuàng)建的臨時(shí)的Div容器中,javascript腳本程序使用DivObject.getElementsByTagName("*,,)方法,獲取Div容器內(nèi)的所有子節(jié)點(diǎn)對象,存到數(shù)組變量elements中,設(shè)置一個(gè)空字符串變量Str,遍歷elements的所有子節(jié)點(diǎn)對象(假設(shè)為for(vari=0;i〈elements.length;i++)),比較當(dāng)前的遞增變量i的值和單元編號,若i等于單元編號,則將當(dāng)前子節(jié)點(diǎn)對象的outerHTML屬性值取出,并追加到字符串變量Str中,將變量Str的值添加到窗口中。比較完成后將存有網(wǎng)址和單元編號的數(shù)組變量ID中的第一個(gè)變量清空,客戶端腳本javascript程序檢査數(shù)組變量ID的長度,如果數(shù)組變量ID的長度值不為0,繼續(xù)獲取數(shù)組變量ID第二變量的網(wǎng)址和單元編號,將第二個(gè)網(wǎng)址發(fā)送給服務(wù)器,服務(wù)器獲取并返回該第二個(gè)網(wǎng)址的網(wǎng)頁內(nèi)容,客戶端Javascript程序再根據(jù)HTML元素的順序?qū)⒃摰诙€(gè)網(wǎng)址的網(wǎng)頁內(nèi)容分解成信息單元并依次編號,將用戶選取的單元編號部分的增內(nèi)容提取出來,添加至同一個(gè)分配的窗口中,不斷重復(fù),直至數(shù)組變量ID的長度值為0,即所有網(wǎng)址發(fā)送完畢。權(quán)利要求1、一種網(wǎng)頁信息單元截取、合并的方法,包括以下步驟1)客戶端輸入一個(gè)或多個(gè)網(wǎng)址,根據(jù)網(wǎng)址的個(gè)數(shù)在客戶端生成對應(yīng)的各個(gè)顯示網(wǎng)頁內(nèi)容的子頁面;2)客戶端將各個(gè)子頁面的網(wǎng)頁內(nèi)容解析成信息單元后,用戶從各個(gè)子頁面選取要截取的信息單元;3)客戶端再次獲取各個(gè)網(wǎng)址的網(wǎng)頁內(nèi)容,解析成信息單元,并與用戶選取的信息單元比較,篩選出用戶選取的信息單元合并至新生成的客戶端瀏覽窗口。2、如權(quán)利要求1所述的一種網(wǎng)頁信息單元截取、合并的方法,其特征在于其中步驟l)包含如下過程la)客戶端輸入一個(gè)或多個(gè)網(wǎng)址,向服務(wù)器發(fā)出請求,服務(wù)器端統(tǒng)計(jì)網(wǎng)址的個(gè)數(shù),并檢查網(wǎng)址是否合法,若檢査結(jié)果合法,繼續(xù)下一步,否則提示重新輸入網(wǎng)址;lb)客戶端根據(jù)網(wǎng)址的個(gè)數(shù)生成相應(yīng)個(gè)數(shù)的子頁面,并給每個(gè)子頁面賦予一個(gè)網(wǎng)址,每個(gè)子頁面分別獨(dú)立請求服務(wù)器,獲取相應(yīng)網(wǎng)址的網(wǎng)頁內(nèi)容。3、如權(quán)利要求1或2所述的一種網(wǎng)頁信息單元截取、合并的方法,其特征在于:其中步驟2)包含如下過程2a)客戶端根據(jù)HTML元素的順序?qū)⒏鱾€(gè)子頁面的網(wǎng)頁內(nèi)容分解成信息單元并依次編號;2b)給每個(gè)HTML元素增加鼠標(biāo)事件,用戶通過鼠標(biāo)點(diǎn)擊選取各個(gè)子頁面的信息單元。4、如權(quán)利要求3所述的一種網(wǎng)頁信息單元截取、合并的方法,其特征在于:其中步驟2a)包含如下過程獲取網(wǎng)頁的body節(jié)點(diǎn)內(nèi)的所有子節(jié)點(diǎn)對象,存到數(shù)組變量,遍歷數(shù)組變量的所有子節(jié)點(diǎn)對象,給每個(gè)子節(jié)點(diǎn)對象遞增編號;2b)包含如下過程根據(jù)子節(jié)點(diǎn)對象的標(biāo)簽名屬性,給子節(jié)點(diǎn)對象增加鼠標(biāo)事件。5、如權(quán)利要求3所述的一種網(wǎng)頁信息單元截取、合并的方法,其特征在于:其中步驟3)包含如下過程3a)客戶端收集用戶選取的信息單元所對應(yīng)的網(wǎng)址和單元編號組成數(shù)據(jù),將該數(shù)據(jù)發(fā)送至服務(wù)器存入數(shù)據(jù)庫,并分配窗口編號;3b)客戶端訪問數(shù)據(jù)庫獲取信息單元對應(yīng)的網(wǎng)址和單元編號,將第一個(gè)網(wǎng)址發(fā)送給服務(wù)器,服務(wù)器獲取并返回該網(wǎng)址的網(wǎng)頁內(nèi)容,客戶端根據(jù)HTML元素的順序?qū)⒃摼W(wǎng)頁內(nèi)容分解成信息單元并依次編號,根據(jù)用戶選取的信息單元對應(yīng)的單元編號篩選出單元編號與之相同的信息單元,添加至分配的窗口中;3c)重復(fù)步驟3b),將第二個(gè)網(wǎng)址發(fā)送給服務(wù)器,直至所有網(wǎng)址發(fā)送完畢。6、如權(quán)利要求5所述的一種網(wǎng)頁信息單元截取、合并的方法,其特征在于:其中步驟3b)包含如下過程:將信息單元所對應(yīng)的網(wǎng)址和單元編號組成的數(shù)據(jù)轉(zhuǎn)換為數(shù)組變量,依次獲取數(shù)組變量中各變量的網(wǎng)址和單元編號,將網(wǎng)頁內(nèi)容加載到一個(gè)容器中,獲取容器內(nèi)的所有子節(jié)點(diǎn)對象,存到另一個(gè)數(shù)組變量中,設(shè)置一個(gè)空字符串變量,遍歷所有子節(jié)點(diǎn)對象,若當(dāng)前的遞增變量的值等于單元編號,則將當(dāng)前子節(jié)點(diǎn)對象的outerHTML(對象及其內(nèi)容組成的HTML內(nèi)容)屬性值取出,并追加到字符串變量中,將字符串變量的值添加到分配的窗口中。7、如權(quán)利要求3所述的一種網(wǎng)頁信息單元截取、合并的方法,其特征在于客戶端用javascript程序遍歷網(wǎng)頁的每個(gè)HTML元素。8、如權(quán)利要求4所述的一種網(wǎng)頁信息單元截取、合并的方法,其特征在于客戶端用javascript程序遍歷網(wǎng)頁的每個(gè)HTML元素。全文摘要本發(fā)明提供一種可將不同網(wǎng)頁的單元信息截取、合并的方法,包括以下步驟1)客戶端輸入一個(gè)或多個(gè)網(wǎng)址,在客戶端生成對應(yīng)的各個(gè)顯示網(wǎng)頁內(nèi)容的子頁面;2)客戶端將各個(gè)子頁面的網(wǎng)頁內(nèi)容解析成信息單元后,用戶從各個(gè)子頁面選取要截取的信息單元;3)客戶端再次獲取各個(gè)網(wǎng)址的網(wǎng)頁內(nèi)容,解析成信息單元,并與用戶選取的信息單元比較,篩選出用戶選取的信息單元合并至新生成的客戶端瀏覽窗口。本發(fā)明可以把任一網(wǎng)頁的內(nèi)容根據(jù)用戶需要把一到多個(gè)內(nèi)容合并到一個(gè)閱讀窗口;能多窗口多任務(wù)操作;客戶端任何截取的內(nèi)容都由服務(wù)器隨時(shí)獲取最新網(wǎng)頁后再篩選而出;大大的提高用戶獲取信息的效率。文檔編號G06F17/30GK101206664SQ20071016035公開日2008年6月25日申請日期2007年12月17日優(yōu)先權(quán)日2007年12月17日發(fā)明者張堯森,胡加林申請人:張堯森;胡加林