一種網(wǎng)頁資源的嗅探方法以及裝置制造方法
【專利摘要】本發(fā)明公開一種網(wǎng)頁資源的嗅探方法以及裝置,所述方法包括:基于一網(wǎng)頁訪問指令,訪問第一網(wǎng)頁;構(gòu)建所述第一網(wǎng)頁的文件對象模型DOM樹,并在構(gòu)建所述DOM樹的過程中,對所述第一網(wǎng)頁中的第一資源標(biāo)簽進(jìn)行識別;基于識別出的所述第一資源標(biāo)簽,獲取所述第一資源標(biāo)簽對應(yīng)的第一資源,并將所述第一資源呈現(xiàn)給用戶;監(jiān)視所述DOM樹是否發(fā)生變化;在所述DOM樹發(fā)生變化且所述第一資源標(biāo)簽變化為第二資源標(biāo)簽時,獲取所述第二資源標(biāo)簽對應(yīng)的第二資源,并將所述第二資源呈現(xiàn)給用戶,其中,所述第二資源標(biāo)簽與所述第一資源標(biāo)簽不相同。
【專利說明】一種網(wǎng)頁資源的嗅探方法以及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)【技術(shù)領(lǐng)域】,尤其涉及一種網(wǎng)頁資源的嗅探方法以及裝置。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,互聯(lián)網(wǎng)與人們?nèi)粘I畹穆?lián)系越來越緊密,比如,人們可以通過互聯(lián)網(wǎng)下載各類資源,如視頻資源、音頻資源等等。
[0003]目前,網(wǎng)站所提供的網(wǎng)頁包括許多無關(guān)資源如廣告資源等等,從而會導(dǎo)致用戶浪費大量的時間與精力用于在網(wǎng)頁上可能提供資源的地方去尋找自己實際所需要的資源如某個特定軟件等等。
[0004]在現(xiàn)有技術(shù)中,為了節(jié)省用戶時間,網(wǎng)頁瀏覽軟件在打開某個網(wǎng)頁時,會進(jìn)行資源嗅探,具體來講,會全局掃描網(wǎng)頁瀏覽軟件所獲取的網(wǎng)頁數(shù)據(jù),并對網(wǎng)頁數(shù)據(jù)中的RAR、ZIP、MP4等關(guān)鍵字進(jìn)行匹配,再通過使用正則表達(dá)式等算法判斷所匹配到的數(shù)據(jù)是否為資源網(wǎng)址,如果是資源網(wǎng)址則將這些網(wǎng)址記錄下來并呈現(xiàn)給用戶,從而避免用戶花費大量的時間與精力在網(wǎng)頁上去尋找自己所需要的資源。
[0005]但是,由于現(xiàn)有技術(shù)中在對網(wǎng)頁進(jìn)行資源嗅探時,需要對網(wǎng)頁數(shù)據(jù)進(jìn)行全文過濾,導(dǎo)致了效率低下以及匹配準(zhǔn)確率不高,同時,無法獲取網(wǎng)頁通過JavaScriptCJava描述語言,一種腳本語言)動態(tài)獲得的資源鏈接地址。
[0006]因此,現(xiàn)有技術(shù)中在對網(wǎng)頁進(jìn)行資源嗅探時,存在因需要對網(wǎng)頁數(shù)據(jù)進(jìn)行全文過濾而造成的效率低下、以及無法獲取網(wǎng)頁通過JavaScript動態(tài)獲得的資源鏈接地址的技術(shù)問題。
【發(fā)明內(nèi)容】
[0007]本發(fā)明實施例通過提供一種網(wǎng)頁資源的嗅探方法以及裝置,解決了現(xiàn)有技術(shù)中在對網(wǎng)頁進(jìn)行資源嗅探時,存在因需要對網(wǎng)頁數(shù)據(jù)進(jìn)行全文過濾而造成的效率低下、以及無法獲取網(wǎng)頁通過JavaScript動態(tài)獲得的資源鏈接地址的技術(shù)問題。
[0008]本發(fā)明實施例一方面提供一種網(wǎng)頁資源的嗅探方法,包括:
[0009]基于一網(wǎng)頁訪問指令,訪問第一網(wǎng)頁;
[0010]構(gòu)建所述第一網(wǎng)頁的文件對象模型DOM樹,并在構(gòu)建所述DOM樹的過程中,對所述第一網(wǎng)頁中的第一資源標(biāo)簽進(jìn)行識別;
[0011]基于識別出的所述第一資源標(biāo)簽,獲取所述第一資源標(biāo)簽對應(yīng)的第一資源,并將所述第一資源呈現(xiàn)給用戶;
[0012]監(jiān)視所述DOM樹是否發(fā)生變化;
[0013]在所述DOM樹發(fā)生變化且所述第一資源標(biāo)簽變化為第二資源標(biāo)簽時,獲取所述第二資源標(biāo)簽對應(yīng)的第二資源,并將所述第二資源呈現(xiàn)給用戶,其中,所述第二資源標(biāo)簽與所述第一資源標(biāo)簽不相同。
[0014]可選地,所述在構(gòu)建所述第一網(wǎng)頁的文件對象模型DOM樹之前,所述方法還包括:獲取需要嗅探的資源類型。
[0015]可選地,所述獲取需要嗅探的資源類型,具體為:
[0016]獲取需要嗅探的通用資源類型和/或非通用資源類型。
[0017]可選地,所述對所述第一網(wǎng)頁中的第一資源標(biāo)簽進(jìn)行識別,具體為:
[0018]對所述第一網(wǎng)頁中的通用資源標(biāo)簽和/或非通用資源標(biāo)簽進(jìn)行識別,其中所述通用資源標(biāo)簽與所述通用資源類型對應(yīng),所述非通用資源標(biāo)簽與所述非通用資源類型對應(yīng)。
[0019]可選地,在所述獲取所述第一資源標(biāo)簽對應(yīng)的第一資源之后,所述方法還包括:
[0020]將所述第一資源保存到哈希集合中,以確定所述第一資源的唯一性。
[0021]本發(fā)明實施例另一方面還提供一種網(wǎng)頁資源的嗅探裝置,包括:
[0022]訪問單元,用于基于一網(wǎng)頁訪問指令,訪問第一網(wǎng)頁;
[0023]構(gòu)建單元,用于構(gòu)建所述第一網(wǎng)頁的DOM樹;
[0024]第一識別單元,用于基于所述DOM樹,對所述第一網(wǎng)頁中的第一資源標(biāo)簽進(jìn)行識別;
[0025]第一獲取單元,用于基于識別出的所述第一資源標(biāo)簽,獲取所述第一資源標(biāo)簽對應(yīng)的第一資源,并將所述第一資源呈現(xiàn)給用戶;
[0026]監(jiān)視單元,用于監(jiān)視所述DOM樹是否發(fā)生變化;
[0027]所述第一獲取單元還用于在所述監(jiān)視單元確定所述DOM樹發(fā)生變化且所述第一資源標(biāo)簽變化為第二資源標(biāo)簽時,獲取所述第二資源標(biāo)簽對應(yīng)的第二資源,并將所述第二資源呈現(xiàn)給用戶,其中,所述第二資源標(biāo)簽與所述第一資源標(biāo)簽不相同。
[0028]可選地,所述裝置還包括第二獲取單元,所述第二獲取單元用于在所述構(gòu)建所述第一網(wǎng)頁的文件對象模型DOM樹之前,獲取需要嗅探的資源類型。
[0029]可選地,所述第二獲取單元具體用于獲取需要嗅探的通用資源類型和/或非通用資源類型。
[0030]可選地,所述構(gòu)建單元具體用于對所述第一網(wǎng)頁中的通用資源標(biāo)簽和/或非通用資源標(biāo)簽進(jìn)行識別,其中,所述通用資源標(biāo)簽與所述通用資源類型對應(yīng),所述非通用資源標(biāo)簽與所述非通用資源類型對應(yīng)。
[0031]可選地,所述裝置還包括保存單元,所述保存單元用于在所述獲取所述第一資源標(biāo)簽對應(yīng)的第一資源之后,將所述第一資源保存到哈希集合中,以確定所述第一資源的唯一性。
[0032]本發(fā)明實施例中提供的一個或多個技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點:
[0033]1、由于采用了在訪問第一網(wǎng)頁時,構(gòu)建第一網(wǎng)頁的文件對象模型DOM樹,并基于DOM樹,對第一網(wǎng)頁中的第一資源標(biāo)簽進(jìn)行識別,并基于識別出的第一資源標(biāo)簽,獲取第一資源標(biāo)簽對應(yīng)的第一資源,并將第一資源呈現(xiàn)給用戶的技術(shù)方案,不需要對第一網(wǎng)頁的網(wǎng)頁數(shù)據(jù)進(jìn)行全部過濾,從而解決了現(xiàn)有技術(shù)中因需要對網(wǎng)頁數(shù)據(jù)進(jìn)行全文過濾而造成的效率低下的技術(shù)問題,提高了在對網(wǎng)頁進(jìn)行資源嗅探時的效率。
[0034]2、由于采用了監(jiān)視DOM樹是否發(fā)生變化,并在DOM樹發(fā)生變化且第一資源標(biāo)簽變化為第二資源標(biāo)簽時,獲取第二資源標(biāo)簽對應(yīng)的第二資源,并將第二資源呈現(xiàn)給用戶的技術(shù)方案,避免了現(xiàn)有技術(shù)中無法獲取網(wǎng)頁通過JavaScript動態(tài)獲得的資源鏈接地址的技術(shù)問題,實現(xiàn)了及時地、動態(tài)地抓取第一網(wǎng)頁中的資源的技術(shù)效果。
【專利附圖】
【附圖說明】
[0035]圖1為本發(fā)明實施例提供的網(wǎng)頁資源的嗅探方法的流程圖;
[0036]圖2為本發(fā)明實施例提供的網(wǎng)頁資源的嗅探裝置的功能模塊圖。
【具體實施方式】
[0037]本發(fā)明實施例通過提供一種網(wǎng)頁資源的嗅探方法以及裝置,解決了現(xiàn)有技術(shù)中在對網(wǎng)頁進(jìn)行資源嗅探時,存在因需要對網(wǎng)頁數(shù)據(jù)進(jìn)行全文過濾而造成的效率低下、以及無法獲取網(wǎng)頁通過JavaScript動態(tài)獲得的資源鏈接地址的技術(shù)問題。
[0038]本發(fā)明實施例中的技術(shù)方案為解決上述技術(shù)問題,總體思路如下:
[0039]本發(fā)明實施例提供一種網(wǎng)頁資源的嗅探方法,包括:
[0040]首先,基于一網(wǎng)頁訪問指令,訪問第一網(wǎng)頁;
[0041]其次,構(gòu)建第一網(wǎng)頁的文件對象模型DOM樹,并基于DOM樹,對第一網(wǎng)頁中的第一資源標(biāo)簽進(jìn)行識別;
[0042]接著,基于識別出的第一資源標(biāo)簽,獲取第一資源標(biāo)簽對應(yīng)的第一資源,并將第一資源呈現(xiàn)給用戶;
[0043]然后,監(jiān)視DOM樹是否發(fā)生變化;
[0044]最后,在DOM樹發(fā)生變化且第一資源標(biāo)簽變化為第二資源標(biāo)簽時,獲取第二資源標(biāo)簽對應(yīng)的第二資源,并將第二資源呈現(xiàn)給用戶,其中,第二資源標(biāo)簽與第一資源標(biāo)簽不相同。
[0045]通過上述部分可以看出,由于采用了在訪問第一網(wǎng)頁時,構(gòu)建第一網(wǎng)頁的文件對象模型DOM樹,并基于DOM樹,對第一網(wǎng)頁中的第一資源標(biāo)簽進(jìn)行識別,并基于識別出的第一資源標(biāo)簽,獲取第一資源標(biāo)簽對應(yīng)的第一資源,并將第一資源呈現(xiàn)給用戶的技術(shù)方案,不需要對第一網(wǎng)頁的網(wǎng)頁數(shù)據(jù)進(jìn)行全部過濾,從而解決了現(xiàn)有技術(shù)中因需要對網(wǎng)頁數(shù)據(jù)進(jìn)行全文過濾而造成的效率低下的技術(shù)問題,提高了在對網(wǎng)頁進(jìn)行資源嗅探時的效率。
[0046]進(jìn)一步地,由于采用了監(jiān)視DOM樹是否發(fā)生變化,并在DOM樹發(fā)生變化且第一資源標(biāo)簽變化為第二資源標(biāo)簽時,獲取第二資源標(biāo)簽對應(yīng)的第二資源,并將第二資源呈現(xiàn)給用戶的技術(shù)方案,避免了現(xiàn)有技術(shù)中無法獲取網(wǎng)頁通過JavaScript動態(tài)獲得的資源鏈接地址的技術(shù)問題,實現(xiàn)了及時地、動態(tài)地抓取第一網(wǎng)頁中的資源的技術(shù)效果。
[0047]為了更好的理解上述技術(shù)方案,下面將結(jié)合說明書附圖以及具體的實施方式對上述技術(shù)方案進(jìn)行詳細(xì)的說明。
[0048]請參考圖1,圖1是本發(fā)明實施例提供的網(wǎng)頁資源的嗅探方法的流程圖,如圖1所示,該方法包括:
[0049]SlOl:基于一網(wǎng)頁訪問指令,訪問第一網(wǎng)頁;
[0050]S102:構(gòu)建第一網(wǎng)頁的文件對象模型(英文:Document Object Model ;簡稱:D0M)樹,并在構(gòu)建DOM樹的過程中,對第一網(wǎng)頁中的第一資源標(biāo)簽進(jìn)行識別;
[0051]S103:基于識別出的第一資源標(biāo)簽,獲取第一資源標(biāo)簽對應(yīng)的第一資源,并將第一資源呈現(xiàn)給用戶;
[0052]S104:監(jiān)視DOM樹是否發(fā)生變化;
[0053]S105:在DOM樹發(fā)生變化且第一資源標(biāo)簽變化為第二資源標(biāo)簽時,獲取第二資源標(biāo)簽對應(yīng)的第二資源,并將第二資源呈現(xiàn)給用戶,其中,第二資源標(biāo)簽與第一資源標(biāo)簽不相同。
[0054]在實際應(yīng)用中,本發(fā)明實施例提供的網(wǎng)頁資源的嗅探方法可以應(yīng)用于專門提供網(wǎng)頁瀏覽功能的網(wǎng)頁瀏覽軟件如瀏覽器上,也可以應(yīng)用于集成了網(wǎng)頁瀏覽功能的多功能軟件上,在此不做限制。
[0055]在接下來的部分中,將以本發(fā)明實施例提供的網(wǎng)頁資源的嗅探方法可以應(yīng)用在一瀏覽器上為例,來進(jìn)行詳細(xì)地舉例描述。
[0056]在SlOl中,可以是指瀏覽器根據(jù)用戶輸入的網(wǎng)頁訪問指令,來訪問第一網(wǎng)頁,具體來講,可以是瀏覽器根據(jù)用戶向瀏覽器輸入第一網(wǎng)頁的網(wǎng)頁地址來訪問該第一網(wǎng)頁,或者瀏覽器根據(jù)用戶點擊某個鏈接的點擊操作而訪問第一網(wǎng)頁,在此就不再贅述了。當(dāng)然,在實際應(yīng)用中,訪問第一網(wǎng)頁的具體過程不限于本發(fā)明實施例所介紹的兩種方式。
[0057]在具體實施過程中,在S102之前,本發(fā)明實施例提供的網(wǎng)頁資源的嗅探方法還包括:獲取需要嗅探的資源類型。
[0058]具體來講,可以是瀏覽器獲取需要嗅探的資源類型為通用資源類型和/或非通用資源類型,也即瀏覽器確定需要嗅探哪些資源,如音頻資源、視頻資源等等通用資源類型,或者是如迅雷、電驢或比特種子等下載軟件的非通用資源類型等等,在具體實施過程中,瀏覽器可以從服務(wù)器上獲取需要嗅探的資源類型列表,從而確定需要對第一網(wǎng)頁中的哪些資源類型進(jìn)行嗅探,或者也可以從根據(jù)用戶輸入的資源類型來確定需要對第一網(wǎng)頁中的哪些資源進(jìn)行嗅探。
[0059]需要說明的是,在具體實施過程中,獲取需要嗅探的資源類型可以在瀏覽器訪問不同的網(wǎng)頁時每次都被執(zhí)行,也可以在瀏覽器一次運行(指瀏覽器從運行到關(guān)閉)過程中只被執(zhí)行一次,在此就不再贅述了。
[0060]在S102中,構(gòu)建第一網(wǎng)頁的文件對象模型DOM樹,并在構(gòu)建DOM樹的過程中,對第一網(wǎng)頁中的第一資源標(biāo)簽進(jìn)行識別,具體來講,可以通過DOM解析器對第一網(wǎng)頁進(jìn)行解析,從而能夠生成第一網(wǎng)頁對應(yīng)的DOM樹。
[0061]需要說明的是,該DOM樹中的所有節(jié)點都是從Node對象(Node對象是整個DOM的主要數(shù)據(jù)類型)繼承而來的,Node對象定義了一些基本的屬性和方法,利用這些方法可以實現(xiàn)對DOM樹的遍歷,同時,根據(jù)屬性還可以得知節(jié)點的名稱、取值并判斷其類型。當(dāng)然,不同解析器的實現(xiàn)方法也可能有所差別,在此就不再贅述了。
[0062]在構(gòu)建第一網(wǎng)頁的DOM樹的過程中,同時對第一網(wǎng)頁中的第一資源標(biāo)簽進(jìn)行識另IJ,具體來講,即是瀏覽器對第一網(wǎng)頁中的通用資源標(biāo)簽和/或非通用資源標(biāo)簽進(jìn)行識別,通用資源標(biāo)簽與通用資源類型對應(yīng),通用資源標(biāo)簽例如可以是聲頻資源標(biāo)簽(〈aud1〉)、視頻資源標(biāo)簽(〈video〉)、內(nèi)聯(lián)元素標(biāo)簽(<a>)等等,非通用資源標(biāo)簽和非通用資源類型對應(yīng),非通用資源標(biāo)簽例如可以是迅雷資源標(biāo)簽(〈thunderhref〉)、以及其他如電驢、比特種子等下載軟件所使用的資源標(biāo)簽等等,在構(gòu)建第一網(wǎng)頁的DOM樹的過程中,即能夠根據(jù)前述步驟中所獲取到的需要嗅探的資源類型,對第一網(wǎng)頁中與該資源類型對應(yīng)的資源標(biāo)簽進(jìn)行識別。例如,當(dāng)前述步驟中獲取到的需要嗅探的資源類型為通用資源類型和非通用資源類型時,瀏覽器會對第一網(wǎng)頁中的聲頻資源標(biāo)簽(〈aud1〉)、視頻資源標(biāo)簽(〈video〉)、內(nèi)聯(lián)元素標(biāo)簽(<a>)以及迅雷資源標(biāo)簽(〈thunderhref〉)等等通用資源標(biāo)簽和非通用資源標(biāo)簽同時進(jìn)行識別。
[0063]在S102之后,本發(fā)明實施例提供的網(wǎng)頁資源的嗅探方法進(jìn)入S103,即:基于識別出的第一資源標(biāo)簽,獲取第一資源標(biāo)簽對應(yīng)的第一資源,并將第一資源呈現(xiàn)給用戶。
[0064]在S103中,具體來講,即是根據(jù)S102中識別出的第一資源標(biāo)簽,從而能夠獲取第一資源標(biāo)簽對應(yīng)的第一資源,并將第一資源信息發(fā)送給瀏覽器的上層,通過用戶交互(UI)層呈現(xiàn)給用戶。當(dāng)然,在實際應(yīng)用中,此時瀏覽器向用戶呈現(xiàn)的可以是第一資源對應(yīng)的鏈接,由用戶確認(rèn)需要獲取哪個資源。
[0065]通過上述部分可以看出,由于利用了構(gòu)建第一網(wǎng)頁的DOM樹的過程對第一網(wǎng)頁進(jìn)行了資源嗅探,而不用對第一網(wǎng)頁的網(wǎng)頁數(shù)據(jù)進(jìn)行全文過濾,節(jié)省了不必要的處理器的資源浪費,并且節(jié)省了時間,從而提高了在對網(wǎng)頁進(jìn)行資源嗅探的效率。
[0066]當(dāng)然,在具體實施過程中,為了避免從第一網(wǎng)頁中嗅探出的資源重復(fù),本發(fā)明實施例提供的網(wǎng)頁資源的嗅探方法還包括:將第一資源保存到哈希集合(HashSet)中,以確定第一資源的唯一'I"生。
[0067]具體來講,即是將第一資源保存于一設(shè)定的HashSet中,HashSet中不允許有重復(fù)的元素存在,所以能夠保證資源的唯一性,在此就不再贅述了。
[0068]在S103之后,本發(fā)明實施例提供的網(wǎng)頁資源的嗅探方法進(jìn)入S104,即:監(jiān)視DOM樹是否發(fā)生變化。
[0069]在S104中,具體來講,即是監(jiān)視第一網(wǎng)頁中的第一資源標(biāo)簽是否發(fā)生變化。
[0070]在第一網(wǎng)頁的DOM樹發(fā)生變化且第一資源標(biāo)簽變化為第二資源標(biāo)簽時,本發(fā)明實施例提供的網(wǎng)頁資源的嗅探方法進(jìn)入S105,即:獲取第二資源標(biāo)簽對應(yīng)的第二資源,并將第二資源呈現(xiàn)給用戶,其中,第二資源標(biāo)簽與第一資源標(biāo)簽不相同。
[0071]在S105中,具體來講,在Javascript新增了或者修改了第一網(wǎng)頁中的資源鏈接時,第一網(wǎng)頁的DOM樹即會發(fā)生變化,第一資源標(biāo)簽同時會變化為第二資源標(biāo)簽,此時即可以根據(jù)第二資源標(biāo)簽來獲取第二資源標(biāo)簽對應(yīng)的第二資源,并且將第二資源呈現(xiàn)給用戶。
[0072]當(dāng)然了,如前述步驟所介紹的,在獲取第二資源后,同樣可以將第二資源保存于哈希集合中,在此就不再贅述了。
[0073]基于同一發(fā)明構(gòu)思,本發(fā)明實施例還提供一種網(wǎng)頁資源的嗅探裝置,請參考圖2,圖2是本發(fā)明實施例提供的網(wǎng)頁資源的嗅探裝置的功能模塊圖,如圖2所示,該裝置包括:
[0074]訪問單元201,用于基于一網(wǎng)頁訪問指令,訪問第一網(wǎng)頁;
[0075]構(gòu)建單元202,用于構(gòu)建第一網(wǎng)頁的DOM樹;
[0076]第一識別單元203,用于基于DOM樹,對第一網(wǎng)頁中的第一資源標(biāo)簽進(jìn)行識別;
[0077]第一獲取單元204,用于基于識別出的第一資源標(biāo)簽,獲取第一資源標(biāo)簽對應(yīng)的第一資源,并將第一資源呈現(xiàn)給用戶;
[0078]監(jiān)視單元205,用于監(jiān)視DOM樹是否發(fā)生變化;
[0079]第一獲取單元204還用于在監(jiān)視單元205確定DOM樹發(fā)生變化且第一資源標(biāo)簽變化為第二資源標(biāo)簽時,獲取第二資源標(biāo)簽對應(yīng)的第二資源,并將第二資源呈現(xiàn)給用戶,其中,第二資源標(biāo)簽與第一資源標(biāo)簽不相同。
[0080]在具體實施過程中,該裝置還包括第二獲取單元206,第二獲取單元206用于在構(gòu)建第一網(wǎng)頁的文件對象模型DOM樹之前,獲取需要嗅探的資源類型。
[0081]在具體實施過程中,第二獲取單元206具體用于獲取需要嗅探的通用資源類型和/或非通用資源類型。
[0082]在具體實施過程中,第一識別單元203具體用于對所述第一網(wǎng)頁中的通用資源標(biāo)簽和/或非通用資源標(biāo)簽進(jìn)行識別,其中,通用資源標(biāo)簽與通用資源類型對應(yīng),非通用資源標(biāo)簽與非通用資源類型對應(yīng)。
[0083]在具體實施過程中,該裝置還包括保存單元207,用于在獲取第一資源標(biāo)簽對應(yīng)的第一資源之后,將第一資源保存到哈希集合中,以確定第一資源的唯一性。
[0084]本實施例中的網(wǎng)頁資源的嗅探裝置與前述部分中的網(wǎng)頁資源的嗅探方法是基于同一發(fā)明構(gòu)思下的兩個方面,在前面已經(jīng)對方法的實施過程作了詳細(xì)的描述,所以本領(lǐng)域技術(shù)人員可根據(jù)前述描述清楚的了解本實施例中的網(wǎng)頁資源的嗅探裝置的結(jié)構(gòu)及實施過程,為了說明書的簡潔,在此就不再贅述了。
[0085]上述本發(fā)明實施例中的技術(shù)方案,至少具有如下的技術(shù)效果或優(yōu)點:
[0086]1、由于采用了在訪問第一網(wǎng)頁時,構(gòu)建第一網(wǎng)頁的文件對象模型DOM樹,并基于DOM樹,對第一網(wǎng)頁中的第一資源標(biāo)簽進(jìn)行識別,并基于識別出的第一資源標(biāo)簽,獲取第一資源標(biāo)簽對應(yīng)的第一資源,并將第一資源呈現(xiàn)給用戶的技術(shù)方案,不需要對第一網(wǎng)頁的網(wǎng)頁數(shù)據(jù)進(jìn)行全部過濾,從而解決了現(xiàn)有技術(shù)中因需要對網(wǎng)頁數(shù)據(jù)進(jìn)行全文過濾而造成的效率低下的技術(shù)問題,提高了在對網(wǎng)頁進(jìn)行資源嗅探時的效率。
[0087]2、由于采用了監(jiān)視DOM樹是否發(fā)生變化,并在DOM樹發(fā)生變化且第一資源標(biāo)簽變化為第二資源標(biāo)簽時,獲取第二資源標(biāo)簽對應(yīng)的第二資源,并將第二資源呈現(xiàn)給用戶的技術(shù)方案,避免了現(xiàn)有技術(shù)中無法獲取網(wǎng)頁通過JavaScript動態(tài)獲得的資源鏈接地址的技術(shù)問題,實現(xiàn)了及時地、動態(tài)地抓取第一網(wǎng)頁中的資源的技術(shù)效果。
[0088]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
[0089]本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0090]這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0091]這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0092]顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
【權(quán)利要求】
1.一種網(wǎng)頁資源的嗅探方法,其特征在于,包括: 基于一網(wǎng)頁訪問指令,訪問第一網(wǎng)頁; 構(gòu)建所述第一網(wǎng)頁的文件對象模型DOM樹,并在構(gòu)建所述DOM樹的過程中,對所述第一網(wǎng)頁中的第一資源標(biāo)簽進(jìn)行識別; 基于識別出的所述第一資源標(biāo)簽,獲取所述第一資源標(biāo)簽對應(yīng)的第一資源,并將所述第一資源呈現(xiàn)給用戶; 監(jiān)視所述DOM樹是否發(fā)生變化; 在所述DOM樹發(fā)生變化且所述第一資源標(biāo)簽變化為第二資源標(biāo)簽時,獲取所述第二資源標(biāo)簽對應(yīng)的第二資源,并將所述第二資源呈現(xiàn)給用戶,其中,所述第二資源標(biāo)簽與所述第一資源標(biāo)簽不相同。
2.如權(quán)利要求1所述的方法,其特征在于,所述在構(gòu)建所述第一網(wǎng)頁的文件對象模型DOM樹之前,所述方法還包括: 獲取需要嗅探的資源類型。
3.如權(quán)利要求2所述的方法,其特征在于,所述獲取需要嗅探的資源類型,具體為: 獲取需要嗅探的通用資源類型和/或非通用資源類型。
4.如權(quán)利要求3所述的方法,其特征在于,所述對所述第一網(wǎng)頁中的第一資源標(biāo)簽進(jìn)行識別,具體為: 對所述第一網(wǎng)頁中的通用資源標(biāo)簽和/或非通用資源標(biāo)簽進(jìn)行識別,其中,所述通用資源標(biāo)簽與所述通用資源類型對應(yīng),所述非通用資源標(biāo)簽與所述非通用資源類型對應(yīng)。
5.如權(quán)利要求1所述的方法,其特征在于,在所述獲取所述第一資源標(biāo)簽對應(yīng)的第一資源之后,所述方法還包括: 將所述第一資源保存到哈希集合(HashSet)中,以確定所述第一資源的唯一性。
6.一種網(wǎng)頁資源的嗅探裝置,其特征在于,包括: 訪問單元,用于基于一網(wǎng)頁訪問指令,訪問第一網(wǎng)頁; 構(gòu)建單兀,用于構(gòu)建所述第一網(wǎng)頁的DOM樹; 第一識別單元,用于基于所述DOM樹,對所述第一網(wǎng)頁中的第一資源標(biāo)簽進(jìn)行識別;第一獲取單元,用于基于識別出的所述第一資源標(biāo)簽,獲取所述第一資源標(biāo)簽對應(yīng)的第一資源,并將所述第一資源呈現(xiàn)給用戶; 監(jiān)視單元,用于監(jiān)視所述DOM樹是否發(fā)生變化; 所述第一獲取單元還用于在監(jiān)視單元確定所述DOM樹發(fā)生變化且所述第一資源標(biāo)簽變化為第二資源標(biāo)簽時,獲取所述第二資源標(biāo)簽對應(yīng)的第二資源,并將所述第二資源呈現(xiàn)給用戶,其中,所述第二資源標(biāo)簽與所述第一資源標(biāo)簽不相同。
7.如權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括第二獲取單元,所述第二獲取單元用于在所述構(gòu)建所述第一網(wǎng)頁的文件對象模型DOM樹之前,獲取需要嗅探的資源類型。
8.如權(quán)利要求7所述的裝置,其特征在于,所述第二獲取單元具體用于獲取需要嗅探的通用資源類型和/或非通用資源類型。
9.如權(quán)利要求6所述的裝置,其特征在于,所述第一識別單元具體用于對所述第一網(wǎng)頁中的通用資源標(biāo)簽和/或非通用資源標(biāo)簽進(jìn)行識別,其中,所述通用資源標(biāo)簽與所述通用資源類型對應(yīng),所述非通用資源標(biāo)簽與所述非通用資源類型對應(yīng)。
10.如權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括保存單元,所述保存單元用于在所述獲取所述第一資源標(biāo)簽對應(yīng)的第一資源之后,將所述第一資源保存到哈希集合中,以確定所述第一資源的唯一性。
【文檔編號】G06F17/30GK104166545SQ201410361637
【公開日】2014年11月26日 申請日期:2014年7月25日 優(yōu)先權(quán)日:2014年7月25日
【發(fā)明者】張偉, 陳晨, 張錚, 齊彥鵬 申請人:北京搜狗科技發(fā)展有限公司