專利名稱:電子書數(shù)據(jù)處理方法與裝置的制作方法
技術(shù)領(lǐng)域:
本申請涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別是涉及ー種電子書數(shù)據(jù)的處理方法與裝置。
背景技術(shù):
電子書是利用計算機技術(shù)將文字、圖片、聲音、影像等信息內(nèi)容數(shù)字化的出版物。隨著互聯(lián)網(wǎng)技術(shù)應用的越來越廣泛,傳統(tǒng)的紙質(zhì)閱讀方式已逐漸被電子書取代,人們越來越趨向于利用網(wǎng)絡(luò)和計算機技術(shù)下載電子書進行閱讀。目前,在用戶使用網(wǎng)絡(luò)和計算機閱讀電子書時,ー種方式是,直接使用瀏覽器從網(wǎng) 絡(luò)中下載小說文本,然后使用JavaScript語言進行渲染,通過JavaScript做出精美的界面效果,實現(xiàn)閱讀效果;另ー種方式是,直接使用瀏覽器從網(wǎng)絡(luò)中下載小說文本,通過Flash技術(shù)做出精美的動畫效果,從而實現(xiàn)閱讀效果。然而,上述ニ種直接使用瀏覽器下載小說的方式,因瀏覽器本身的性能問題,無法啟動多線程下載小說,使得下載速度緩慢,影響了用戶閱讀電子書的體驗。
發(fā)明內(nèi)容
本申請所要解決的技術(shù)問題是提供ー種電子書數(shù)據(jù)處理方法與裝置,以解決現(xiàn)有瀏覽器下載電子書數(shù)據(jù)速度緩慢,影響用戶閱讀體驗的問題。為了解決上述問題,本申請公開了ー種電子書數(shù)據(jù)處理方法,包括確定瀏覽器訪問電子書網(wǎng)站;向所述瀏覽器發(fā)起瀏覽器輔助對象BHO請求,請求使用設(shè)定的注入程序訪問所述電子書網(wǎng)站,其中,所述注入程序用于獲取和處理所述電子書網(wǎng)站中的電子書數(shù)據(jù)。優(yōu)選地,所述向所述瀏覽器發(fā)起瀏覽器輔助對象BHO請求的步驟包括每當所述瀏覽器開啟ー個所述電子書網(wǎng)站的網(wǎng)頁,則向所述瀏覽器發(fā)起至少ー個所述BHO請求。優(yōu)選地,所述向所述瀏覽器發(fā)起瀏覽器輔助對象BHO請求,請求使用設(shè)定的注入程序訪問所述電子書網(wǎng)站的步驟包括向所述瀏覽器發(fā)起所述BHO請求,請求所述瀏覽器將其瀏覽器Browser對象交給所述注入程序,供所述注入程序訪問所述電子書網(wǎng)站。優(yōu)選地,所述請求所述瀏覽器將其瀏覽器Browser對象交給所述注入程序,供所述注入程序訪問所述電子書網(wǎng)站的步驟包括請求所述瀏覽器將其Browser對象交給所述注入程序,通過所述注入程序向所述瀏覽器注入自定義對象;使用所述自定義對象訪問所述電子書網(wǎng)站中的網(wǎng)頁,獲取和處理所述網(wǎng)頁中的電子書數(shù)據(jù),并將處理后的所述電子書數(shù)據(jù)發(fā)送給所述瀏覽器進行顯示。優(yōu)選地,所述使用所述自定義對象訪問所述電子書網(wǎng)站中的網(wǎng)頁的步驟包括所述自定義對象通過所述注入程序中的WebBrowser訪問所述電子書網(wǎng)站中的網(wǎng)頁。優(yōu)選地,所述獲取和處理所述網(wǎng)頁中的電子書數(shù)據(jù),并將處理后的所述電子書數(shù)據(jù)發(fā)送給所述瀏覽器進行顯示的步驟包括根據(jù)電子書頁面解析規(guī)則獲取所述網(wǎng)頁中的電子書正文的數(shù)據(jù),其中,所述電子書頁面解析規(guī)則用于獲取電子書各部分數(shù)據(jù)和/或?qū)傩?;通過所述自定義對象對所述電子書正文的數(shù)據(jù)進行前端渲染后,交給所述瀏覽器進行顯示優(yōu)選地,所述電子書頁面解析規(guī)則包括電子書內(nèi)容提取規(guī)則,用于提取所述電子書網(wǎng)站的當前網(wǎng)頁所屬的電子書的正文數(shù)據(jù)、章節(jié)內(nèi)容節(jié)數(shù)據(jù)、首頁、書名、和目錄地址。優(yōu)選地,所述電子書頁面解析規(guī)則還包括以下至少之ー電子書網(wǎng)站確定規(guī)則,用于根據(jù)用戶輸入的網(wǎng)址,確定該網(wǎng)址對應的網(wǎng)站是否為電子書網(wǎng)站;電子書標識獲取規(guī)則,用于獲取所述電子書網(wǎng)站的當前網(wǎng)頁所屬的電子書標識和章節(jié)標識。優(yōu)選地,在所述根據(jù)電子書頁面解析規(guī)則獲取網(wǎng)頁中的電子書正文的數(shù)據(jù)的步驟 之后,還包括將所述電子書正文的數(shù)據(jù)設(shè)置為不可復制數(shù)據(jù)。優(yōu)選地,所述注入程序使用C++語言編寫,所述自定義對象使用JavaScript語言編寫。優(yōu)選地,向所述瀏覽器發(fā)起所述BHO請求,請求所述瀏覽器將其瀏覽器Browser對象交給所述注入程序的步驟包括向所述瀏覽器發(fā)起所述BHO請求,通過所述BHO請求的SetSite接ロ請求所述瀏覽器將其Browser對象交給所述注入程序。優(yōu)選地,在向所述瀏覽器發(fā)起瀏覽器輔助對象BHO請求的步驟之前,還包括調(diào)用所述注入程序中的資源頁,以加載顯示所述電子書數(shù)據(jù)的界面。優(yōu)選地,在向所述瀏覽器發(fā)起瀏覽器輔助對象BHO請求,請求使用設(shè)定的注入程序訪問所述電子書網(wǎng)站的步驟之后,還包括每隔設(shè)定時間使用所述注入程序中的WebBrowser訪問所述電子書網(wǎng)站中的網(wǎng)頁,獲取所述網(wǎng)頁的更新信息。優(yōu)選地,獲取所述網(wǎng)頁的更新信息的步驟包括根據(jù)所述網(wǎng)頁的文檔對象模型DOM結(jié)構(gòu),獲取所述網(wǎng)頁的更新信息。優(yōu)選地,所述注入程序包括閱讀器對象,用于下載所述電子書網(wǎng)站中的電子書的正文、解析所述電子書內(nèi)容,以及保存所述電子書的最新章節(jié)。優(yōu)選地,所述閱讀器對象包括導航類,用于訪問電子書頁面;保存類,用于保存用戶在所述電子書網(wǎng)站最后一次閱讀的電子書的信息;解析類,用于從ー個電子書網(wǎng)頁中解析出包括標題、正文、和上下頁信息在內(nèi)的信息。優(yōu)選地,所述注入程序還包括以下至少之ー網(wǎng)址獲取對象,用于獲取當前電子書網(wǎng)頁的網(wǎng)址;配置対象,用于獲取當前用戶的對當前電子書網(wǎng)頁的配置信息;統(tǒng)計對象,用于對當前用戶的歷史瀏覽行為信息進行統(tǒng)計分析。優(yōu)選地,所述瀏覽器使用IE內(nèi)核和/或CHROME內(nèi)核。為了解決上述問題,本申請還公開了ー種電子書數(shù)據(jù)處理裝置,包括確定模塊,用于確定瀏覽器訪問電子書網(wǎng)站;注入訪問模塊,用于向所述瀏覽器發(fā)起瀏覽器輔助對象BHO請求,請求使用設(shè)定的注入程序訪問所述電子書網(wǎng)站,其中,所述注入程序用于獲取和處理所述電子書網(wǎng)站中的電子書數(shù)據(jù)。優(yōu)選地,所述注入訪問模塊,用于每當所述瀏覽器開啟ー個所述電子書網(wǎng)站的網(wǎng)頁,則向所述瀏覽器發(fā)起至少ー個所述BHO請求,請求使用設(shè)定的注入程序訪問所述電子書網(wǎng)站。優(yōu)選地,所述注入訪問模塊,用于向所述瀏覽器發(fā)起所述BHO請求,請求所述瀏覽器將其瀏覽器Browser對象交給所述注入程序,供所述注入程序訪問所述電子書網(wǎng)站。優(yōu)選地,所述注入訪問模塊,用于向所述瀏覽器發(fā)起所述BHO請求,請求所述瀏覽器將其Browser對象交給所述注入程序,通過所述注入程序向所述瀏覽器注入自定義對象;使用所述自定義對象訪問所述電子書網(wǎng)站中的網(wǎng)頁,獲取和處理所述網(wǎng)頁中的電子書數(shù)據(jù),并將處理后的所述電子書數(shù) 據(jù)發(fā)送給所述瀏覽器進行顯示。優(yōu)選地,所述注入訪問模塊在使用所述自定義對象訪問所述電子書網(wǎng)站中的網(wǎng)頁時,所述自定義對象通過所述注入程序中的WebBrowser訪問所述電子書網(wǎng)站中的網(wǎng)頁。優(yōu)選地,所述注入訪問模塊在獲取和處理所述網(wǎng)頁中的電子書數(shù)據(jù),并將處理后的所述電子書數(shù)據(jù)發(fā)送給所述瀏覽器進行顯示時,根據(jù)電子書頁面解析規(guī)則獲取所述網(wǎng)頁中的電子書正文的數(shù)據(jù),其中,所述電子書頁面解析規(guī)則用于獲取電子書各部分數(shù)據(jù)和/或?qū)傩?;通過所述自定義對象對所述電子書正文的數(shù)據(jù)進行前端渲染后,交給所述瀏覽器進行顯示。優(yōu)選地,所述電子書頁面解析規(guī)則包括電子書內(nèi)容提取規(guī)則,用于提取所述電子書網(wǎng)站的當前網(wǎng)頁所屬的電子書的正文數(shù)據(jù)、章節(jié)內(nèi)容節(jié)數(shù)據(jù)、首頁、書名、和目錄地址。優(yōu)選地,所述電子書頁面解析規(guī)則還包括以下至少之ー電子書網(wǎng)站確定規(guī)則,用于根據(jù)用戶輸入的網(wǎng)址,確定該網(wǎng)址對應的網(wǎng)站是否為電子書網(wǎng)站;電子書標識獲取規(guī)則,用于獲取所述電子書網(wǎng)站的當前網(wǎng)頁所屬的電子書標識和章節(jié)標識。優(yōu)選地,所述注入訪問模塊還用于在根據(jù)電子書頁面解析規(guī)則獲取所述網(wǎng)頁中的電子書正文的數(shù)據(jù)后,將所述電子書正文的數(shù)據(jù)設(shè)置為不可復制數(shù)據(jù)。優(yōu)選地,所述注入程序使用C++語言編寫,所述自定義對象使用JavaScript語言編寫。優(yōu)選地,所述注入訪問模塊,用于向所述瀏覽器發(fā)起所述BHO請求,通過所述BHO請求的SetSite接ロ請求所述瀏覽器將其Browser對象交給所述注入程序。優(yōu)選地,電子書數(shù)據(jù)處理裝置還包括界面加載模塊,用于在所述注入訪問模塊向所述瀏覽器發(fā)起瀏覽器輔助對象BHO請求之前,調(diào)用所述注入程序中的資源頁,以加載顯示所述電子書數(shù)據(jù)的界面。優(yōu)選地,電子書數(shù)據(jù)處理裝置還包括更新模塊,用于在所述注入訪問模塊向所述瀏覽器發(fā)起瀏覽器輔助對象BHO請求,請求使用設(shè)定的注入程序訪問所述電子書網(wǎng)站之后,姆_設(shè)定時間使用所述注入程序中的WebBrowser訪問所述電子書網(wǎng)站中的網(wǎng)頁,獲取所述網(wǎng)頁的更新信息。優(yōu)選地,所述更新模塊,用于姆_設(shè)定時間使用所述注入程序中的WebBrowser訪問所述電子書網(wǎng)站中的網(wǎng)頁,根據(jù)所述網(wǎng)頁的文檔對象模型DOM結(jié)構(gòu),獲取所述網(wǎng)頁的更
新信息。優(yōu)選地,所述注入程序包括閱讀器對象,用于下載所述電子書網(wǎng)站中的電子書的正文、解析所述電子書內(nèi)容,以及保存所述電子書的最新章節(jié)。優(yōu)選地,所述閱讀器對象包括導航類,用于訪問電子書頁面;保存類,用于保存用戶在所述電子書網(wǎng)站最后一次閱讀的電子書的信息;解析類,用于從ー個電子書網(wǎng)頁中解析出包括標題、正文、和上下頁信息在內(nèi)的信息。優(yōu)選地,所述注入程序還包括以下至少之ー網(wǎng)址獲取對象,用于獲取當前電子書網(wǎng)頁的網(wǎng)址;配置対象,用于獲取當前用戶的對當前電子書網(wǎng)頁的配置信息;統(tǒng)計對象,用于對當前用戶的歷史瀏覽行為信息進行統(tǒng)計分析。
優(yōu)選地,所述瀏覽器使用IE內(nèi)核和/或CHROME內(nèi)核。與現(xiàn)有技術(shù)相比,本申請具有以下優(yōu)點本申請在用戶訪問電子書網(wǎng)站時,通過向瀏覽器發(fā)送BHO請求注入程序,進而使用注入的程序訪問電子書網(wǎng)站。注入的程序通常用處理效率更高的程序語言(如C++語言)編寫,這樣,一方 面,提高了瀏覽器下載電子書數(shù)據(jù)的速度,提升了用戶的閱讀體驗;另一方面,可以根據(jù)用戶需求設(shè)計注入程序,如屏蔽掉網(wǎng)頁廣告等,從而進一步提升用戶的閱讀體驗;再一方面,還可以通過注入程序刪除或關(guān)閉電子書的導出功能,從而使得電子書不能夠被隨意拷貝,以實現(xiàn)電子書的知識產(chǎn)權(quán)保護。
圖I是根據(jù)本申請實施例一的ー種電子書數(shù)據(jù)處理方法的步驟流程圖;圖2是根據(jù)本申請實施例ニ的ー種電子書數(shù)據(jù)處理方法的步驟流程圖;圖3是根據(jù)本申請實施例三的ー種電子書數(shù)據(jù)處理方法的步驟流程圖;圖4是根據(jù)本申請實施例四的ー種電子書數(shù)據(jù)處理裝置的結(jié)構(gòu)框圖。
具體實施例方式為使本申請的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實施方式
對本申請作進一步詳細的說明。實施例一參照圖1,示出了根據(jù)本申請實施例一的ー種電子書數(shù)據(jù)處理方法的步驟流程圖。本實施例的電子書數(shù)據(jù)處理方法包括以下步驟步驟S102 :確定用戶使用瀏覽器訪問電子書網(wǎng)站。在判斷用戶是否訪問的是電子書網(wǎng)站時,可以根據(jù)網(wǎng)站的網(wǎng)址,或者網(wǎng)頁的內(nèi)容來進行判斷。若用戶訪問的網(wǎng)站的網(wǎng)址,或者用戶訪問的網(wǎng)頁的內(nèi)容被判斷為符合電子書網(wǎng)站的標準或規(guī)則,則可確定用戶訪問的網(wǎng)站是電子書網(wǎng)站。當然,不限于此,在實際應用中,本領(lǐng)域技術(shù)人員可以根據(jù)實際情況,適當設(shè)置判斷規(guī)則,本申請對此不作限制。步驟S104 :向瀏覽器發(fā)起B(yǎng)HO請求,請求使用設(shè)定的注入程序訪問電子書網(wǎng)站。其中,注入程序用于獲取和處理電子書網(wǎng)站中的電子書數(shù)據(jù)。BHO (Browser Helper Ob ject,瀏覽器輔助對象),是微軟推出的作為瀏覽器對第三方程序員開放交互接ロ的業(yè)界標準,通過簡單的代碼就可以進入瀏覽器領(lǐng)域的“交互接ロ”(INTERACTIVED Interface)。通過這個接ロ,程序員可以編寫代碼獲取瀏覽器的行為。比如,通過BHO注入技木,使瀏覽器在訪問的時候?qū)ebBiOwser的接ロ注入到C++程序中,通過WebBiOwser注入的接ロ C++程序可以控制瀏覽器頁面的行為等。本實施例中,正是使用了上述BHO的特性,編寫注入程序,在用戶訪問電子書網(wǎng)站吋,向瀏覽器發(fā)送BHO請求,通過該請求使用設(shè)定的注入程序訪問電子書網(wǎng)站。注入的程序通常用處理效率更高的程序語言(如C++語言)編寫,這樣,一方面,提高了瀏覽器下載電子書數(shù)據(jù)的速度,提升了用戶的閱讀體驗;另ー方面,可以根據(jù)用戶需求設(shè)計注入程序,如屏蔽掉網(wǎng)頁廣告等,從而進ー步提升用戶的閱讀體驗;再一方面,還可以通過注入程序刪除或關(guān)閉電子書的導出功能,從而使得電子書不能夠被隨意拷貝,以實現(xiàn)電子書的知識產(chǎn)權(quán)保護。實施例ニ參照圖2,示出了根據(jù)本申請實施例ニ的ー種電子書數(shù)據(jù)處理方法的步驟流程圖。本實施例的電子書數(shù)據(jù)處理方法包括以下步驟步驟S202 :用戶使用瀏覽器打開電子書網(wǎng)站的ー個網(wǎng)頁。步驟S204 向瀏覽器發(fā)起B(yǎng)HO請求。 本實施例中,用戶每開啟ー個電子書網(wǎng)站的網(wǎng)頁,如每開啟ー個小說網(wǎng)頁,就會加載ー個BHO請求,本質(zhì)上就新開啟了ー個線程,用戶可以同時開啟多個網(wǎng)頁實現(xiàn)多線程的訪問,從而提升程序性能,更快地呈現(xiàn)電子書網(wǎng)頁內(nèi)容,給用戶帶來更強的視覺體驗,同時又保持了程序的穩(wěn)定。但不限于此,也可以用戶打開ー個電子書網(wǎng)站加載ー個BHO請求,進而通過該BHO請求進行相應的單網(wǎng)頁或多網(wǎng)頁的電子書數(shù)據(jù)的獲取和處理。優(yōu)選地,每當瀏覽器開啟ー個電子書網(wǎng)站的網(wǎng)頁,則向瀏覽器發(fā)起至少ー個BHO請求,以實現(xiàn)單網(wǎng)頁的多線程訪問。步驟S206 :瀏覽器接收BHO請求,將其Browser對象交給注入程序,供注入程序訪問電子書網(wǎng)站。優(yōu)選地,注入程序使用C++語目編寫。C++語目是一種聞處理效率的語目,使用C++語言編寫注入程序,可以有效提高網(wǎng)頁下載的速度和效率。瀏覽器的Browser對象具有瀏覽器的全部功能,得到Browser對象后能收到該瀏覽器的一切事件,能在該Browser對象中注入自定義對象,如C++對象或JavaScript對象(使用JavaScript語言編寫的自定義對象)等,并能調(diào)用接ロ讓Browser訪問URL (統(tǒng)ー資源定位符)等。其中,可以通過在Browser對象中注入自定義對象訪問電子書網(wǎng)站中的網(wǎng)頁,獲取和處理該網(wǎng)頁中的電子書數(shù)據(jù),并將處理后的電子書數(shù)據(jù)發(fā)送給瀏覽器進行顯示。通過本實施例,用戶每開啟ー個電子書網(wǎng)站的網(wǎng)頁,就會加載ー個BHO請求,用戶可以同時開啟多個網(wǎng)頁實現(xiàn)多線程的訪問,從而提升程序性能,更快地呈現(xiàn)電子書網(wǎng)頁內(nèi)容,給用戶帶來更強的視覺體驗,同時又保持了程序的穩(wěn)定。通過BHO請求將瀏覽器的Browser對象交給注入程序,由注入程序?qū)崿F(xiàn)電子書網(wǎng)站的訪問,實現(xiàn)了瀏覽器快速下載電子書數(shù)據(jù),提升了用戶閱讀體驗。實施例三參照圖3,示出了根據(jù)本申請實施例三的ー種電子書數(shù)據(jù)處理方法的步驟流程圖。本實施例中,通過COM技木、BHO技術(shù)和C++語言,將電子書數(shù)據(jù)處理的方法封裝為ー個動態(tài)鏈接庫DLL文件(即注入程序),供瀏覽器加載和訪問,實現(xiàn)電子書數(shù)據(jù)處理。其中,COM (Component Object Model,組件對象模型)技術(shù)是一種說明如何建立可動態(tài)互變組件的規(guī)范,使得程序開發(fā)人員可以專注于自己的模塊,而把和其他模塊的交換處理交給COM來統(tǒng)ー處理,此規(guī)范提供了為保證能夠互操作,客戶和組件應遵循的ー些ニ進制和網(wǎng)絡(luò)標準。通過這種標準將可以在任意兩個組件之間進行通信而不用考慮其所處的操作環(huán)境是否相同、使用的開發(fā)語言是否一致以及是否運行于同一臺計算機。通過該規(guī)范COM實現(xiàn)了不同語言之間的ニ進制代碼的共享。BHO注入技術(shù)可以使瀏覽器在訪問的時候?qū)ebBiOwser (程序內(nèi)置的瀏覽器)的接ロ注入到其它程序,如C++程序中,通過WebBrowser注入的接ロ C++程序可以控制瀏覽器頁面的行為。而Windows C++ (Windows程序下使用的C++語言程序)提供了對DOM (DocumentObject Model,文檔對象模型)結(jié)構(gòu)解析的接ロ技術(shù),通過IHTMLElement接ロ(一種訪問WEB頁面內(nèi)容的接ロ),可以讓C++程序靈活的訪問并獲得到Html頁面的ー些元素。以電子書網(wǎng)站為小說網(wǎng)站為例,本實施例的電子書數(shù)據(jù)處理方法包括以下步驟步驟S302 :判斷用戶是否瀏覽小說網(wǎng)站,如果是,則提醒用戶是否進入閱讀模式。優(yōu)選地,可以設(shè)定判斷規(guī)則,如根據(jù)用戶輸入的網(wǎng)址或網(wǎng)頁內(nèi)容,判斷該網(wǎng)址或網(wǎng)頁內(nèi)容是否符合設(shè)定的判斷規(guī)則,進而確定用戶是否在瀏覽小說網(wǎng)站等。本實施例中,閱讀模式提供了一個增強用戶閱讀體驗的界面,可以包括JavaScript做的華麗界面(如,包含4套模式,分為日間和夜間模式),該界面簡潔大方,實現(xiàn)自動翻頁等。并且,一旦用戶進入該模式,則觸發(fā)進入后續(xù)流程。閱讀模式為用戶提供了ー個友好、美觀的界面,但本領(lǐng)域技術(shù)人員應當明了,在實際應用中,也可省略該模式,如采用當用戶打開小說網(wǎng)頁時,直接向瀏覽器發(fā)起B(yǎng)HO請求等。步驟S304 :用戶進入閱讀模式,加載閱讀模式的皮膚,進行界面展示。一旦用戶進入閱讀模式,調(diào)用本地的JavaScript資源頁,并傳入用戶需要閱讀的小說頁面的URL。此后,由JavaScript資源頁加載閱讀模式的皮膚,負責界面展示。本地的JavaScript資源頁是封裝在DLL文件中的ー個URL資源,本實施例中,通過該JavaScript 資源頁加載閱讀模式的皮膚,負責界面展示。步驟S306 :向瀏覽器發(fā)起B(yǎng)HO請求,請求瀏覽器將其Browser對象交給用C++語言編寫的注入程序,通過注入程序向瀏覽器注入使用JavaScript語言編寫的自定義對象。在調(diào)用本地的JavaScript資源頁之后,向瀏覽器發(fā)起B(yǎng)HO請求,瀏覽器通過調(diào)用BHO的SetSite接ロ注入自定義的JavaScript對象_360SafeExplorer (即,使用JavaScript語言編寫的自定義對象)。之后,瀏覽器的JavaScript語言可以通過對該對象的訪問,把ー些程序邏輯(如請求小說具體內(nèi)容的邏輯)委托給DLL中相應的C++對象處理,實現(xiàn)了 C++和JavaScript的結(jié)合。本實施例中,BHO請求是一個調(diào)用瀏覽器的接ロ,該接ロ被調(diào)用后瀏覽器會把其Browser對象交給發(fā)起B(yǎng)HO請求的C++程序(即,使用C++語言編寫的注入程序)。C++程序可以用該Browser對象,注入自定義的JavaScript對象(即使用JavaScript語言編寫的自定義對象,本實施例中為_360SafeExplorer)。“_360SafeExplorer”是本實施例中自定義的JavaScript對象,瀏覽器使用的JavaScript語言能夠通過它獲取和處理網(wǎng)頁中的電子書數(shù)據(jù),如獲取網(wǎng)頁內(nèi)容,進而通過對網(wǎng)頁內(nèi)容進行分析獲取小說內(nèi)容,下ー頁的URL,上ー頁URL等等,進而將這些數(shù)據(jù)發(fā)送給瀏覽器進行顯示。通過在瀏覽器中注入JavaScript語言的自定義對象,可以使閱讀模式的JavaScript代碼執(zhí)行ー些操作,如獲取小說網(wǎng)頁的具體內(nèi)容信息,獲取下ー頁的URL,獲取目錄頁的URL等等。JavaScript語言編寫的自定義對象更易于被瀏覽器解析和讀取,提高瀏覽器的執(zhí)行速度和效率。SetSite接ロ是BHO對象的IObjectWithSite接ロ的ー個函數(shù)。該函數(shù)的聲明如下HRESULT SetSite (IUnknown^pUnkSite)
其中,通過pUnkSite這個指針能夠獲得Browser對象的IWebBrowser2接ロ,從 IWebBrowser2 接 ロ 獲取 active document automation object 對象,從該對象獲取IHTMLDocument2 接 ロ,調(diào)用 get—Script 方法,獲取 script 對象,表現(xiàn)為 IDispatchEx 接ロ,從IDispatchEx接口中調(diào)用GetDispID方法,為新的JavaScript對象獲取ー個的ID,再調(diào)用InvokeEx方法,將該ID作為對應的—360SafeExplorer對象對應起來,從此_360SafeExplorer對象,就可以在JavaScript語言中運用。優(yōu)選地,本實施例中的—360SafeExplorer可以包括reader(閱讀器)對象,用于下載電子書網(wǎng)站中的電子書的正文、解析電子書內(nèi)容,以及保存電子書的最新章節(jié),具體到本實施例,該reader(閱讀器)對象可以用于下載小說正文,解析小說內(nèi)容,保存最新章節(jié)等。
優(yōu)選地,在實現(xiàn)時,reader對象可以包括的接ロ有navigate方法(導航類)用于訪問電子書頁面,本實施例中用于訪問某一小說頁面;saveLastReadChapter方法(保存類)用于保存用戶在電子書網(wǎng)站最后一次閱讀的電子書的信息,本實施例中用于保存最新閱讀小說;onDocumentComplet方法(解析類)用于從ー個電子書網(wǎng)頁中解析出包括標題、正文、和上下頁信息在內(nèi)的信息,本實施例中用于一旦該小說頁面訪問完畢,解析成標題,正文,上ー頁,下一頁等信息。優(yōu)選地,注入程序,本實施例中為360SafeExplorer,還可以包括以下至少之ーreferenceUrl對象(即網(wǎng)址獲取對象),用于獲取當前電子書網(wǎng)頁的網(wǎng)址,本實施例中用于獲取當前小說閱讀頁面URL;config對象(即配置對象),用于獲取當前用戶的對當前電子書網(wǎng)頁的配置信息,本實施例中用于獲取用戶當前的配置信息statistics對象(即統(tǒng)計對象),用于對當前用戶的歷史瀏覽行為信息進行統(tǒng)計分析,本實施例中用于用戶習慣統(tǒng)計。本實施例中,當用戶點擊按鈕進入閱讀模式時,瀏覽器會先判斷待訪問的網(wǎng)頁是否為包含小說內(nèi)容的網(wǎng)頁,如果是則會調(diào)用瀏覽器的訪問頁面接ロ,通過瀏覽器重新訪問ー個URL,新訪問的URL實質(zhì)是程序本身(注入程序,即本實施例的DLL文件)包含的ー個資源URL,該文件包含閱讀模式的JavaScript代碼,這樣瀏覽器會加載該JavaScript代碼。同時,在網(wǎng)頁地址欄上顯示se:novel (可選方案,也可不顯示)。該網(wǎng)頁加載完成之后,C++程序會收到“NavigateComplete”事件通知,在該通知上判斷如果網(wǎng)頁地址欄顯示為se:novel,則向瀏覽器發(fā)出加載BHO請求。瀏覽器收到之后,會把自己的Browser對象交給C++程序(即注入程序DLL文件)。其中,Browser對象具有瀏覽器的全部功能,得到Browser對象后能收到該瀏覽器的一切事件,能在該Browser對象中注入JavaScript對象,并能調(diào)用接ロ讓Browser訪問URL等。小說網(wǎng)頁使用的JavaScript語言調(diào)用_360SafeExplorer對象下的方法,瀏覽器的JavaScript解析器,會自動在內(nèi)部去找該對象所對應的代碼,如果發(fā)現(xiàn)是被外界注入的,會獲取注入時對應的代碼,這部分代碼即是DLL中的C++程序,這樣,C++程序會接管該操作,實現(xiàn)諸如請求小說具體內(nèi)容等的委托邏輯。步驟S308 :使用自定義對象訪問小說網(wǎng)頁,獲取和處理小說網(wǎng)頁中的數(shù)據(jù),并將處理后的數(shù)據(jù)發(fā)送給瀏覽器進行顯示。
JavaScript資源頁(包括JavaScript的渲染源代碼,以及JavaScript所用到的資源元素)被加載后會調(diào)用DLL文件中的C++對象,獲取小說內(nèi)容(不包含廣告,通過編程實現(xiàn)廣告過濾),C++對象使用內(nèi)部的WebBrowser訪問小說頁面,根據(jù)內(nèi)部的規(guī)則獲取小說的正文內(nèi)容,再轉(zhuǎn)交給JavaScript對象去進行前端渲染,然后交給瀏覽器顯示。
優(yōu)選地,在獲取到小說的正文內(nèi)容后,可以將該內(nèi)容的數(shù)據(jù)設(shè)置為不可復制數(shù)據(jù),從而禁止小說內(nèi)容的導出功能,防止任意拷貝,實現(xiàn)知識產(chǎn)權(quán)保護。本步驟中,C++對象即DLL文件中的C++代碼中的對象,瀏覽器的JavaScript使用該對象的方法,如Navagate方法,把要訪問的小說頁面轉(zhuǎn)交進來,該方法會通過內(nèi)置的一個瀏覽器(WEBBROWSER)訪問小說頁面。內(nèi)部的規(guī)則,即電子書頁面解析規(guī)則,用于獲取電子書各部分數(shù)據(jù)和/或?qū)傩?。?yōu)選地,電子書頁面解析規(guī)則包括電子書內(nèi)容提取規(guī)則,用于提取電子書網(wǎng)站的當前網(wǎng)頁所屬的電子書的正文數(shù)據(jù)、章節(jié)內(nèi)容節(jié)數(shù)據(jù)、首頁、書名、和目錄地址。更優(yōu)選地,電子書頁面解析規(guī)則還包括以下至少之一電子書網(wǎng)站確定規(guī)則,用于根據(jù)用戶輸入的網(wǎng)址,確定該網(wǎng)址對應的網(wǎng)站是否為電子書網(wǎng)站;電子書標識獲取規(guī)則,用于獲取電子書網(wǎng)站的當前網(wǎng)頁所屬的電子書標識和章節(jié)標識。本實施例中,內(nèi)部的規(guī)則指對小說頁面的解析規(guī)則,該規(guī)則表明了那個html語言標簽下是標題,那個標簽下是小說正文,那個標簽下的屬性是下ー頁,或者上ー頁。通過內(nèi)置的瀏覽器獲取到的頁面之后,對該頁面進行分析得出。自定義對象根據(jù)該內(nèi)部的規(guī)則,可以獲取網(wǎng)頁中的電子書正文的數(shù)據(jù),如小說正文的數(shù)據(jù),進而對該數(shù)據(jù)進行前端渲染后,交給瀏覽器進行顯示。例如,本實施例中,可以通過電子書網(wǎng)站確定規(guī)則,判斷當前URL是否為小說網(wǎng)站的 URL ,如URL 為"~http://www. qidian. com/BookReader/I I !aspx ",解析如下以 http://www. qidian. com/BookReader/ 開頭,同時 URL 不包含 *· aspx” 字符,其中,*可替代任何數(shù)量字符為小說URL,通過http://www. qidian. com/BookReader/可以判斷,待訪問的網(wǎng)站為小說網(wǎng)站;可以通過電子書標識獲取規(guī)則,獲取當前小說頁面所屬的小說ID,章節(jié)ID,如在“http://www. qidian. com/BookReader/*· aspx” 中 * 對應的部分為 bookid ;可以通過電子書內(nèi)容提取規(guī)則,提取當前小說首頁,書名,目錄URL,當前小說章節(jié)內(nèi)容頁,小說正文等,如從〈title el = " I" id = " IbChapterName " name=""classname = " " value = " " regular = " " tag=" div" /> 中小說標題為“I”,在Html頁面中,尋■找Id為IbChapterName的標簽,該標簽名稱為div, div下的所有內(nèi)容即為小說正文。步驟S310 :姆_設(shè)定時間使用注入程序中的WebBrowser訪問小說網(wǎng)頁,獲取小說網(wǎng)頁的更新信息。瀏覽器支持用戶對小說的收藏,一旦用戶添加了小說,會每隔設(shè)定時間,如每隔6個小時,在后臺使用DLL文件中的內(nèi)部的WebBrowser去訪問小說的頁面,根據(jù)內(nèi)部的首頁模板,使用對DOM結(jié)構(gòu)解析的接ロ技木,獲取最新章節(jié)信息,一旦最新章節(jié)信息發(fā)生了變化,顯示在面板上,同時彈出氣泡通知用戶有新的小說更新。小說一般分為小說首頁、目錄頁、章節(jié)頁,首頁有書名、內(nèi)容簡介、作者簡介、最新章節(jié)的信息;目錄頁是目錄信息,通過目錄頁能訪問每個小說章節(jié);章節(jié)頁是小說正文內(nèi)容。最新章節(jié)信息一般保存在小說首頁,本實施例中為每個小說網(wǎng)站的首頁建立了ー個模板,該模板即為內(nèi)部的首頁模板。因為使用內(nèi)部瀏覽器訪問,所以能夠拿到小說首頁的DOM結(jié)構(gòu),同時,可以為每個小說網(wǎng)站都建立了ー套Html語言的解析規(guī)則(電子書頁面解析規(guī)則),該規(guī)則告訴注入程序,哪個標簽下是小說書名,哪個標簽下是作者名,哪個標簽下是最新章節(jié)。這樣,對DOM結(jié)構(gòu)進行分析,即可找出哪個部分是最新章節(jié)等。步驟S312 :用戶點擊面板上面更新的最新章節(jié),為用戶提供快速的閱讀入口。通過本實施例,使用BHO技術(shù),用戶每開啟一個小說網(wǎng)頁,就會加載ー個BHO請求,本質(zhì)上就新開啟了ー個線程,用戶可以同時開啟多個網(wǎng)頁實現(xiàn)多線程的訪問,提升了程序性能,給用戶更強的視覺體驗,又保持了程序的穩(wěn)定;采用C++結(jié)合JavaScript多線程加載小說,加載速度更快而且穩(wěn)定;由于在線程內(nèi)獲取了小說的內(nèi)容,并只將內(nèi)容分離出來加載給JavaScript部分去渲染,在這樣的閱讀模式下,用戶不必再受到廣告的騷擾(JavaScript加載不到廣告);同時,定時使用內(nèi)部的WebBrowser去訪問小說頁面,具有小說更新提醒功能;并且,由于只加載小說正文內(nèi)容,屏蔽了廣告,也避免了瀏覽器調(diào)用Flash產(chǎn)生的崩潰(現(xiàn)有瀏覽器崩潰中,統(tǒng)計顯示有多達30%是由于加載的Flash頁面產(chǎn)生的崩潰想象,不采用Flash,就不會有該問題的產(chǎn)生);此外,可以在注入程序中設(shè)定不允許電子書數(shù)據(jù)導出,從而不允許用戶對小說文本進行拷貝,實現(xiàn)知識產(chǎn)權(quán)保護。可見,通過本實施例,實現(xiàn)了(I)可以在保證速度和穩(wěn)定性的前提下,給用戶最大的友好體驗;(2)可以去掉閱讀時的廣告;(3)使用多線程技木,給用戶快速呈現(xiàn)的閱讀體驗;(4)網(wǎng)絡(luò)小說有更新時可以及時提醒用戶。需要說明的是,本實施例中的DLL文件可以設(shè)置于瀏覽器數(shù)據(jù)包內(nèi)部,隨同瀏覽器的安裝而一同安裝;也可以是獨立于瀏覽器文件的DLL文件,在瀏覽器安裝后供瀏覽器加載或調(diào)用。另外,本實施例中以C++和JavaScript語言結(jié)合實現(xiàn)注入程序為例,但不限于此,在實際應用中,本領(lǐng)域技術(shù)人員還可以采用其它適當語言實現(xiàn)注入程序,如完全采用JavaScript語言實現(xiàn)注入程序等。使用C++和JavaScript語言結(jié)合實現(xiàn)注入程序,可以實現(xiàn)更快的電子書網(wǎng)站訪問速度,更高的電子書網(wǎng)站訪問效率。實施例四參照圖4,示出了根據(jù)本申請實施例四的ー種電子書數(shù)據(jù)處理裝置的結(jié)構(gòu)框圖。本實施例的電子書數(shù)據(jù)處理裝置包括確定模塊402,用于確定用戶使用瀏覽器訪問電子書網(wǎng)站;注入訪問模塊404,用于向瀏覽器發(fā)起B(yǎng)HO請求,請求使用設(shè)定的注入程序訪問電子書網(wǎng)站,其中,注入程序用于獲取和處理電子書網(wǎng)站中的電子書數(shù)據(jù)。優(yōu)選地,注入訪問模塊404,用于每當瀏覽器開啟ー個電子書網(wǎng)站的網(wǎng)頁時,向瀏覽器發(fā)起至少ー個BHO請求,請求使用設(shè)定的注入程序訪問電子書網(wǎng)站。
優(yōu)選地,注入訪問模塊404,用于向瀏覽器發(fā)起B(yǎng)HO請求,請求瀏覽器將其瀏覽器Browser對象交給注入程序,如用C++語言編寫的注入程序,供注入程序訪問電子書網(wǎng)站。優(yōu)選地,注入訪問模塊404,用于向瀏覽器發(fā)起B(yǎng)HO請求,請求瀏覽器將其Browser對象交給注入程序,通過注入程序向瀏覽器注入自定義對象,如使用JavaScript語言編寫的自定義對象;使用自定義對象訪問電子書網(wǎng)站中的網(wǎng)頁,獲取和處理網(wǎng)頁中的電子書數(shù)據(jù),并將處理后的電子書數(shù)據(jù)發(fā)送給瀏覽器進行顯示。優(yōu)選地,注入訪問模塊404在使用自定義對象訪問電子書網(wǎng)站中的網(wǎng)頁吋,自定義對象通過注入程序中的WebBrowser訪問電子書網(wǎng)站中的網(wǎng)頁。
優(yōu)選地,注入訪問模塊404在獲取和處理電子書網(wǎng)站的網(wǎng)頁中的電子書數(shù)據(jù),并將處理后的電子書數(shù)據(jù)發(fā)送給瀏覽器進行顯示時,根據(jù)電子書頁面解析規(guī)則獲取網(wǎng)頁中的電子書正文的數(shù)據(jù),其中,電子書頁面解析規(guī)則用于指示電子書各部分數(shù)據(jù)和/或?qū)傩栽诰W(wǎng)頁中的位置;通過自定義對象對電子書正文的數(shù)據(jù)進行前端渲染后,交給瀏覽器進行顯
/Jn ο優(yōu)選地,電子書頁面解析規(guī)則包括電子書內(nèi)容提取規(guī)則,用于提取電子書網(wǎng)站的當前網(wǎng)頁所屬的電子書的正文數(shù)據(jù)、章節(jié)內(nèi)容節(jié)數(shù)據(jù)、首頁、書名、和目錄地址。優(yōu)選地,電子書頁面解析規(guī)則還包括以下至少之ー電子書網(wǎng)站確定規(guī)則,用于根據(jù)用戶輸入的網(wǎng)址,確定該網(wǎng)址對應的網(wǎng)站是否為電子書網(wǎng)站;電子書標識獲取規(guī)則,用于獲取所述電子書網(wǎng)站的當前網(wǎng)頁所屬的電子書標識和章節(jié)標識。優(yōu)選地,注入訪問模塊404還用于在根據(jù)電子書頁面解析規(guī)則獲取網(wǎng)頁中的電子書正文的數(shù)據(jù)后,將電子書正文的數(shù)據(jù)設(shè)置為不可復制數(shù)據(jù)。優(yōu)選地,上述注入程序使用C++語言編寫,自定義對象使用JavaScript語言編寫。優(yōu)選地,注入訪問模塊404,用于向瀏覽器發(fā)起B(yǎng)HO請求,通過BHO請求的SetSite接ロ請求瀏覽器將其Browser對象交給注入程序。優(yōu)選地,本實施例的電子書數(shù)據(jù)處理裝置還包括界面加載模塊406,用于在注入訪問模塊404向瀏覽器發(fā)起B(yǎng)HO請求之前,調(diào)用注入程序中的資源頁,以加載顯示電子書數(shù)據(jù)的界面。優(yōu)選地,本實施例的電子書數(shù)據(jù)處理裝置還包括更新模塊408,用于在注入訪問模塊404向瀏覽器發(fā)起B(yǎng)HO請求,請求使用設(shè)定的注入程序訪問電子書網(wǎng)站之后,每隔設(shè)定時間使用注入程序中的WebBrowser訪問電子書網(wǎng)站中的網(wǎng)頁,獲取網(wǎng)頁的更新信息。優(yōu)選地,更新模塊408,用于姆_設(shè)定時間使用注入程序中的WebBrowser訪問電子書網(wǎng)站中的網(wǎng)頁,根據(jù)網(wǎng)頁的DOM結(jié)構(gòu),獲取網(wǎng)頁的更新信息。優(yōu)選地,注入程序包括閱讀器對象,用于下載電子書網(wǎng)站中的電子書的正文、解析電子書內(nèi)容,以及保存電子書的最新章節(jié)。優(yōu)選地,閱讀器對象包括導航類,用于訪問電子書頁面;保存類,用于保存用戶在電子書網(wǎng)站最后一次閱讀的電子書的信息;解析類,用于從ー個電子書網(wǎng)頁中解析出包括標題、正文、和上下頁信息在內(nèi)的信息。優(yōu)選地,注入程序還包括以下至少之ー網(wǎng)址獲取對象,用于獲取當前電子書網(wǎng)頁的網(wǎng)址;配置対象,用于獲取當前用戶的對當前電子書網(wǎng)頁的配置信息;統(tǒng)計對象,用于對當前用戶的歷史瀏覽行為信息進行統(tǒng)計分析。優(yōu)選地,瀏覽器使用IE內(nèi)核和/或CHROME內(nèi)核。本實施例的電子書數(shù)據(jù)處理裝置用于實現(xiàn)前述多個方法實施例中相應的電子書數(shù)據(jù)處理方法,并具有相應的方法實施例的有益效果,在此不再贅述。需要說明的是,本申請的方案不僅適用于常規(guī)瀏覽器,也同樣適用于使用IE內(nèi)核和CHROME內(nèi)核的雙核瀏覽器,當運行于CHROME內(nèi)核時,可以使用CHROME的擴展機制中稱作"content script"的技術(shù),如npapi插件,實現(xiàn)本申請的電子書數(shù)據(jù)處理方案。本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。以上對本申請所提供的ー種電子書數(shù)據(jù)處理方法和裝置進行了詳細介紹,本文中 應用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應理解為對本申請的限制。
權(quán)利要求
1.ー種電子書數(shù)據(jù)處理方法,其特征在于,包括 確定瀏覽器訪問電子書網(wǎng)站; 向所述瀏覽器發(fā)起瀏覽器輔助對象BHO請求,請求使用設(shè)定的注入程序訪問所述電子書網(wǎng)站,其中,所述注入程序用于獲取和處理所述電子書網(wǎng)站中的電子書數(shù)據(jù)。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述向所述瀏覽器發(fā)起瀏覽器輔助對象BHO請求的步驟包括 每當所述瀏覽器開啟ー個所述電子書網(wǎng)站的網(wǎng)頁,則向所述瀏覽器發(fā)起至少ー個所述BHO請求。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述向所述瀏覽器發(fā)起瀏覽器輔助對象BHO請求,請求使用設(shè)定的注入程序訪問所述電子書網(wǎng)站的步驟包括 向所述瀏覽器發(fā)起所述BHO請求,請求所述瀏覽器將其瀏覽器Browser對象交給所述注入程序,供所述注入程序訪問所述電子書網(wǎng)站。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述請求所述瀏覽器將其瀏覽器Browser對象交給所述注入程序,供所述注入程序訪問所述電子書網(wǎng)站的步驟包括 請求所述瀏覽器將其Browser對象交給所述注入程序,通過所述注入程序向所述瀏覽器注入自定義對象; 使用所述自定義對象訪問所述電子書網(wǎng)站中的網(wǎng)頁,獲取和處理所述網(wǎng)頁中的電子書數(shù)據(jù),并將處理后的所述電子書數(shù)據(jù)發(fā)送給所述瀏覽器進行顯示。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述使用所述自定義對象訪問所述電子書網(wǎng)站中的網(wǎng)頁的步驟包括 所述自定義對象通過所述注入程序中的WebBrowser訪問所述電子書網(wǎng)站中的網(wǎng)頁。
6.根據(jù)權(quán)利要求5所述的方法,其特征在干,所述獲取和處理所述網(wǎng)頁中的電子書數(shù)據(jù),并將處理后的所述電子書數(shù)據(jù)發(fā)送給所述瀏覽器進行顯示的步驟包括 根據(jù)電子書頁面解析規(guī)則獲取所述網(wǎng)頁中的電子書正文的數(shù)據(jù),其中,所述電子書頁面解析規(guī)則用于獲取電子書各部分數(shù)據(jù)和/或?qū)傩裕? 通過所述自定義對象對所述電子書正文的數(shù)據(jù)進行前端渲染后,交給所述瀏覽器進行顯不O
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述電子書頁面解析規(guī)則包括電子書內(nèi)容提取規(guī)則,用于提取所述電子書網(wǎng)站的當前網(wǎng)頁所屬的電子書的正文數(shù)據(jù)、章節(jié)內(nèi)容節(jié)數(shù)據(jù)、首頁、書名、和目錄地址。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述電子書頁面解析規(guī)則還包括以下至少之ー 電子書網(wǎng)站確定規(guī)則,用于根據(jù)用戶輸入的網(wǎng)址,確定該網(wǎng)址對應的網(wǎng)站是否為電子書網(wǎng)站; 電子書標識獲取規(guī)則,用于獲取所述電子書網(wǎng)站的當前網(wǎng)頁所屬的電子書標識和章節(jié)標識。
9.根據(jù)權(quán)利要求6所述的方法,其特征在于,在所述根據(jù)電子書頁面解析規(guī)則獲取網(wǎng)頁中的電子書正文的數(shù)據(jù)的步驟之后,還包括 將所述電子書正文的數(shù)據(jù)設(shè)置為不可復制數(shù)據(jù)。
10.根據(jù)權(quán)利要求4至9任一項所述的方法,其特征在于,所述注入程序使用C++語言編寫,所述自定義對象使用JavaScript語言編寫。
11.根據(jù)權(quán)利要求3所述的方法,其特征在干,向所述瀏覽器發(fā)起所述BHO請求,請求所述瀏覽器將其瀏覽器Browser對象交給所述注入程序的步驟包括 向所述瀏覽器發(fā)起所述BHO請求,通過所述BHO請求的SetSite接ロ請求所述瀏覽器將其Browser對象交給所述注入程序。
12.根據(jù)權(quán)利要求I所述的方法,其特征在于,在向所述瀏覽器發(fā)起瀏覽器輔助對象BHO請求的步驟之前,還包括 調(diào)用所述注入程序中的資源頁,以加載顯示所述電子書數(shù)據(jù)的界面。
13.根據(jù)權(quán)利要求I所述的方法,其特征在于,在向所述瀏覽器發(fā)起瀏覽器輔助對象BHO請求,請求使用設(shè)定的注入程序訪問所述電子書網(wǎng)站的步驟之后,還包括 姆_設(shè)定時間使用所述注入程序中的WebBrowser訪問所述電子書網(wǎng)站中的網(wǎng)頁,獲取所述網(wǎng)頁的更新信息。
14.根據(jù)權(quán)利要求13所述的方法,其特征在于,獲取所述網(wǎng)頁的更新信息的步驟包括 根據(jù)所述網(wǎng)頁的文檔對象模型DOM結(jié)構(gòu),獲取所述網(wǎng)頁的更新信息。
15.根據(jù)權(quán)利要求1-9、11-14中任一項所述的方法,其特征在于,所述注入程序包括閱讀器對象,用于下載所述電子書網(wǎng)站中的電子書的正文、解析所述電子書內(nèi)容,以及保存所述電子書的最新章節(jié)。
16.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述閱讀器對象包括 導航類,用于訪問電子書頁面; 保存類,用于保存用戶在所述電子書網(wǎng)站最后一次閱讀的電子書的信息; 解析類,用于從ー個電子書網(wǎng)頁中解析出包括標題、正文、和上下頁信息在內(nèi)的信息。
17.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述注入程序還包括以下至少之ー 網(wǎng)址獲取對象,用于獲取當前電子書網(wǎng)頁的網(wǎng)址; 配置對象,用于獲取當前用戶的對當前電子書網(wǎng)頁的配置信息; 統(tǒng)計對象,用于對當前用戶的歷史瀏覽行為信息進行統(tǒng)計分析。
18.根據(jù)權(quán)利要求1-9、11-14中任一項所述的方法,其特征在于,所述瀏覽器使用IE內(nèi)核和/或CHROME內(nèi)核。
19.ー種電子書數(shù)據(jù)處理裝置,其特征在于,包括 確定模塊,用于確定瀏覽器訪問電子書網(wǎng)站; 注入訪問模塊,用于向所述瀏覽器發(fā)起瀏覽器輔助對象BHO請求,請求使用設(shè)定的注入程序訪問所述電子書網(wǎng)站,其中,所述注入程序用于獲取和處理所述電子書網(wǎng)站中的電子書數(shù)據(jù)。
20.根據(jù)權(quán)利要求19所述的裝置,其特征在于,所述注入訪問模塊,用于每當所述瀏覽器開啟ー個所述電子書網(wǎng)站的網(wǎng)頁,則向所述瀏覽器發(fā)起至少ー個所述BHO請求,請求使用設(shè)定的注入程序訪問所述電子書網(wǎng)站。
21.根據(jù)權(quán)利要求19所述的裝置,其特征在于,所述注入訪問模塊,用于向所述瀏覽器發(fā)起所述BHO請求,請求所述瀏覽器將其瀏覽器Browser對象交給所述注入程序,供所述注入程序訪問所述電子書網(wǎng)站。
22.根據(jù)權(quán)利要求21所述的裝置,其特征在于,所述注入訪問模塊,用于向所述瀏覽器發(fā)起所述BHO請求,請求所述瀏覽器將其Browser對象交給所述注入程序,通過所述注入程序向所述瀏覽器注入自定義對象;使用所述自定義對象訪問所述電子書網(wǎng)站中的網(wǎng)頁,獲取和處理所述網(wǎng)頁中的電子書數(shù)據(jù),并將處理后的所述電子書數(shù)據(jù)發(fā)送給所述瀏覽器進行顯不O
23.根據(jù)權(quán)利要求22所述的裝置,其特征在于,所述注入訪問模塊在使用所述自定義對象訪問所述電子書網(wǎng)站中的網(wǎng)頁吋, 所述自定義對象通過所述注入程序中的WebBiOwser訪問所述電子書網(wǎng)站中的網(wǎng)頁。
24.根據(jù)權(quán)利要求23所述的裝置,其特征在于,所述注入訪問模塊在獲取和處理所述網(wǎng)頁中的電子書數(shù)據(jù),并將處理后的所述電子書數(shù)據(jù)發(fā)送給所述瀏覽器進行顯示時,根據(jù)電子書頁面解析規(guī)則獲取所述網(wǎng)頁中的電子書正文的數(shù)據(jù),其中,所述電子書頁面解析規(guī)則用于獲取電子書各部分數(shù)據(jù)和/或?qū)傩裕煌ㄟ^所述自定義對象對所述電子書正文的數(shù)據(jù)進行前端渲染后,交給所述瀏覽器進行顯示。
25.根據(jù)權(quán)利要求24所述的裝置,其特征在于,所述電子書頁面解析規(guī)則包括電子書內(nèi)容提取規(guī)則,用于提取所述電子書網(wǎng)站的當前網(wǎng)頁所屬的電子書的正文數(shù)據(jù)、章節(jié)內(nèi)容節(jié)數(shù)據(jù)、首頁、書名、和目錄地址。
26.根據(jù)權(quán)利要求25所述的裝置,其特征在于,所述電子書頁面解析規(guī)則還包括以下至少之ー 電子書網(wǎng)站確定規(guī)則,用于根據(jù)用戶輸入的網(wǎng)址,確定該網(wǎng)址對應的網(wǎng)站是否為電子書網(wǎng)站; 電子書標識獲取規(guī)則,用于獲取所述電子書網(wǎng)站的當前網(wǎng)頁所屬的電子書標識和章節(jié)標識。
27.根據(jù)權(quán)利要求24所述的裝置,其特征在于,所述注入訪問模塊還用于在根據(jù)電子書頁面解析規(guī)則獲取所述網(wǎng)頁中的電子書正文的數(shù)據(jù)后,將所述電子書正文的數(shù)據(jù)設(shè)置為不可復制數(shù)據(jù)。
28.根據(jù)權(quán)利要求22至27任一項所述的裝置,其特征在于,所述注入程序使用C++語言編寫,所述自定義對象使用JavaScript語言編寫。
29.根據(jù)權(quán)利要求21所述的裝置,其特征在于,所述注入訪問模塊,用于向所述瀏覽器發(fā)起所述BHO請求,通過所述BHO請求的SetSite接ロ請求所述瀏覽器將其Browser對象交給所述注入程序。
30.根據(jù)權(quán)利要求19所述的裝置,其特征在于,還包括 界面加載模塊,用于在所述注入訪問模塊向所述瀏覽器發(fā)起瀏覽器輔助對象BHO請求之前,調(diào)用所述注入程序中的資源頁,以加載顯示所述電子書數(shù)據(jù)的界面。
31.根據(jù)權(quán)利要求19所述的裝置,其特征在于,還包括 更新模塊,用于在所述注入訪問模塊向所述瀏覽器發(fā)起瀏覽器輔助對象BHO請求,請求使用設(shè)定的注入程序訪問所述電子書網(wǎng)站之后,每隔設(shè)定時間使用所述注入程序中的WebBrowser訪問所述電子書網(wǎng)站中的網(wǎng)頁,獲取所述網(wǎng)頁的更新信息。
32.根據(jù)權(quán)利要求23所述的裝置,其特征在于,所述更新模塊,用于每隔設(shè)定時間使用所述注入程序中的WebBrowser訪問所述電子書網(wǎng)站中的網(wǎng)頁,根據(jù)所述網(wǎng)頁的文檔對象模型DOM結(jié)構(gòu),獲取所述網(wǎng)頁的更新信息。
33.根據(jù)權(quán)利要求19-27、29-32中任一項所述的裝置,其特征在于,所述注入程序包括閱讀器對象,用于下載所述電子書網(wǎng)站中的電子書的正文、解析所述電子書內(nèi)容,以及保存所述電子書的最新章節(jié)。
34.根據(jù)權(quán)利要求33所述的裝置,其特征在于,所述閱讀器對象包括 導航類,用于訪問電子書頁面; 保存類,用于保存用戶在所述電子書網(wǎng)站最后一次閱讀的電子書的信息; 解析類,用于從ー個電子書網(wǎng)頁中解析出包括標題、正文、和上下頁信息在內(nèi)的信息。
35.根據(jù)權(quán)利要求33所述的裝置,其特征在于,所述注入程序還包括以下至少之ー 網(wǎng)址獲取對象,用于獲取當前電子書網(wǎng)頁的網(wǎng)址; 配置對象,用于獲取當前用戶的對當前電子書網(wǎng)頁的配置信息; 統(tǒng)計對象,用于對當前用戶的歷史瀏覽行為信息進行統(tǒng)計分析。
36.根據(jù)權(quán)利要求19-27、29-32中任一項所述的裝置,其特征在于,所述瀏覽器使用IE內(nèi)核和/或CHROME內(nèi)核。
全文摘要
本申請?zhí)峁┝艘环N電子書數(shù)據(jù)處理方法與裝置,其中,電子書數(shù)據(jù)處理方法包括確定瀏覽器訪問電子書網(wǎng)站;向所述瀏覽器發(fā)起瀏覽器輔助對象BHO請求,請求使用設(shè)定的注入程序訪問所述電子書網(wǎng)站,其中,所述注入程序用于獲取和處理所述電子書網(wǎng)站中的電子書數(shù)據(jù)。通過本申請,提高了瀏覽器下載電子書數(shù)據(jù)的速度,提升了用戶的閱讀體驗。
文檔編號G06F17/30GK102663050SQ20121008908
公開日2012年9月12日 申請日期2012年3月29日 優(yōu)先權(quán)日2012年3月29日
發(fā)明者任寰, 李超, 糜裕峰, 謝洲為 申請人:奇智軟件(北京)有限公司