據(jù)庫支撐,不僅增加了運(yùn)營成本,而且每次打開網(wǎng)頁時,都需要向后臺服務(wù)器發(fā)送查詢指令,服務(wù)器還要返回查詢結(jié)果,增加了額外的流量消耗,并影響了網(wǎng)頁的展示速度。本實(shí)施例方案可以不依賴后臺服務(wù)器,而是在瀏覽器終端實(shí)現(xiàn)網(wǎng)頁中符合預(yù)定協(xié)議規(guī)范的資源信息的提取,可在網(wǎng)頁尚未真正渲染時完成符合特定協(xié)議規(guī)范的內(nèi)容的提取,由此提高了網(wǎng)頁預(yù)定內(nèi)容的提取速度,同時也提高了網(wǎng)頁的展示速度;此外,由于本方案可以不依賴后臺服務(wù)器而是在瀏覽器終端側(cè)實(shí)現(xiàn)插件資源的提取,在技術(shù)上易于實(shí)現(xiàn),可降低系統(tǒng)開發(fā)成本。
[0051]需要說明的是,考慮到一些網(wǎng)頁在開發(fā)設(shè)計(jì)過程中,會檢測網(wǎng)頁當(dāng)前運(yùn)行的系統(tǒng)所安裝的插件類型,如果不存在某種預(yù)定類型的插件,則不會允許從網(wǎng)頁中提取該預(yù)定類型的插件資源信息。為此,本實(shí)施例還可以在瀏覽器代碼中聲明,該瀏覽器支持與預(yù)定規(guī)則相適配的插件資源協(xié)議,以便在網(wǎng)頁打開過程中,能夠從網(wǎng)頁中提取該預(yù)定類型的資源信肩、O
[0052]如圖2所示,本發(fā)明第二實(shí)施例提出一種提取網(wǎng)頁內(nèi)容的方法,在上述圖1所示的第一實(shí)施例的基礎(chǔ)上,在上述步驟S103:從DOM節(jié)點(diǎn)中獲取插件標(biāo)簽節(jié)點(diǎn)之后還包括:
[0053]步驟S105,判斷插件標(biāo)簽節(jié)點(diǎn)對應(yīng)的插件標(biāo)簽是否為預(yù)定類型標(biāo)簽;若是,則進(jìn)入步驟S104 ;否則;進(jìn)入步驟S106 ;
[0054]步驟S106,采用預(yù)定規(guī)則匹配所述網(wǎng)頁腳本的預(yù)定類型標(biāo)簽對應(yīng)的插件資源;
[0055]步驟S107,當(dāng)匹配成功后,從所述網(wǎng)頁腳本中提取預(yù)定類型標(biāo)簽對應(yīng)的插件資源。
[0056]本實(shí)施例與上述圖1所示的第一實(shí)施例的區(qū)別在于,本實(shí)施例還包括插件標(biāo)簽節(jié)點(diǎn)對應(yīng)的插件標(biāo)簽不為預(yù)定類型標(biāo)簽時提取插件資源的處理方案。
[0057]具體地,本實(shí)施例考慮到一些網(wǎng)頁在開發(fā)設(shè)計(jì)過程中,會設(shè)置一些其他條件,來確保預(yù)定類型的插件資源能夠可靠地播放,如要求用戶點(diǎn)擊某廣告,或檢測瀏覽器客戶端的尺寸、系統(tǒng)類型,等等。總之,這使得該網(wǎng)頁在手機(jī)等終端瀏覽器上可能無法獲得預(yù)定類型的插件標(biāo)簽,致使插件資源提取操作失敗。
[0058]為此,本實(shí)施例采用如下解決方案:采取正則匹配的方法,到網(wǎng)頁腳本資源里去查找到預(yù)定類型插件標(biāo)簽的資源信息。
[0059]具體實(shí)現(xiàn)如下:
[0060]當(dāng)判斷獲取的插件標(biāo)簽節(jié)點(diǎn)對應(yīng)的插件標(biāo)簽不為預(yù)定類型標(biāo)簽時,采用預(yù)定規(guī)貝U,例如正則表達(dá)式規(guī)則,匹配所述網(wǎng)頁腳本的預(yù)定類型標(biāo)簽對應(yīng)的插件資源;當(dāng)匹配成功后,從所述網(wǎng)頁腳本中提取預(yù)定類型標(biāo)簽對應(yīng)的插件資源。若匹配失敗,則表示插件資源提取失敗。
[0061]本實(shí)施例通過上述方案,在網(wǎng)頁設(shè)計(jì)中存在可能無法獲得預(yù)定類型的插件標(biāo)簽的應(yīng)用場景下,采用正則匹配的方法,到網(wǎng)頁腳本資源里去查找到預(yù)定類型插件標(biāo)簽的資源信息,由此提高了網(wǎng)頁資源信息的提取成功率,保證了網(wǎng)頁資源信息提取操作的可靠性。
[0062]需要說明的是,上述預(yù)定規(guī)則可以動態(tài)配置,可以在瀏覽器終端完成配置,也可以由后臺服務(wù)器配置后下發(fā)給瀏覽器終端,即本實(shí)施例插件資源的提取規(guī)則可以不寫死在瀏覽器代碼里,而是可以用腳本代碼動態(tài)指定,并可根據(jù)各大網(wǎng)站的改版情況動態(tài)修正。
[0063]當(dāng)網(wǎng)頁所在的視頻網(wǎng)站版本更新后,原有的網(wǎng)頁資源提取規(guī)則因無法動態(tài)調(diào)整會失效。若采用現(xiàn)有的網(wǎng)頁資源提取方案,則無法調(diào)整網(wǎng)頁資源提取規(guī)則;而本實(shí)施例中由于采用正則匹配規(guī)則,而且預(yù)定規(guī)則可以動態(tài)配置,即可以隨時修改,在視頻網(wǎng)站版本更新導(dǎo)致原有的網(wǎng)頁資源提取規(guī)則失效時,本實(shí)施例可以通過瀏覽器終端或者后臺服務(wù)器下發(fā)新的正則匹配規(guī)則,以應(yīng)對網(wǎng)站改版導(dǎo)致的原模版失效問題,從而提高了網(wǎng)頁資源提取規(guī)則的靈活性,并保證了網(wǎng)頁資源提取操作的正常進(jìn)行。
[0064]如圖3所示,本發(fā)明第三實(shí)施例提出一種提取網(wǎng)頁內(nèi)容的方法,在上述圖2所示的第二實(shí)施例的基礎(chǔ)上,在上述步驟S101,響應(yīng)移動客戶端在瀏覽器上觸發(fā)的網(wǎng)頁瀏覽指令,拉取對應(yīng)的網(wǎng)頁之后還包括:
[0065]步驟S108,檢測是否有提取預(yù)定類型標(biāo)簽對應(yīng)的插件資源的預(yù)定規(guī)則更新,若有,則進(jìn)入步驟S109 ;否則,進(jìn)入步驟S102 ;
[0066]步驟S109,從瀏覽器后臺服務(wù)器獲取更新后的預(yù)定規(guī)則;進(jìn)入步驟S102。
[0067]本實(shí)施例與上述圖2所示的第二實(shí)施例的區(qū)別在于,本實(shí)施例還包括應(yīng)對預(yù)定規(guī)則更新后的插件資源提取方案。
[0068]具體地,瀏覽器在拉取到網(wǎng)頁后,針對該網(wǎng)頁,檢測是否有提取預(yù)定類型標(biāo)簽對應(yīng)的插件資源的預(yù)定規(guī)則更新,若有,則獲取更新后的預(yù)定規(guī)則,作為一種實(shí)施方式,預(yù)定規(guī)則可以在瀏覽器終端完成配置更新,也可以由后臺服務(wù)器配置更新后下發(fā)給瀏覽器終端。
[0069]本實(shí)施例以預(yù)定規(guī)則由后臺服務(wù)器配置更新進(jìn)行舉例,在檢測到有提取預(yù)定類型標(biāo)簽對應(yīng)的插件資源的預(yù)定規(guī)則更新時,從瀏覽器后臺服務(wù)器獲取更新后的預(yù)定規(guī)則。
[0070]之后,瀏覽器對該網(wǎng)頁進(jìn)行解析,生成DOM樹,在生成DOM樹的階段會創(chuàng)建網(wǎng)頁腳本中每個標(biāo)簽(tag)的DOM節(jié)點(diǎn),其中,在創(chuàng)建插件標(biāo)簽(embed)節(jié)點(diǎn)時,獲取該插件標(biāo)簽節(jié)點(diǎn),并根據(jù)插件標(biāo)簽節(jié)點(diǎn)的type或classid)判斷該插件標(biāo)簽節(jié)點(diǎn)對應(yīng)的插件標(biāo)簽是否為預(yù)定類型標(biāo)簽,即是否符合預(yù)定協(xié)議規(guī)范,若是,則提取所述插件標(biāo)簽對應(yīng)的插件資源,將所述插件標(biāo)簽對應(yīng)的插件資源傳遞給相應(yīng)的播放器進(jìn)行播放。
[0071]若判斷該插件標(biāo)簽節(jié)點(diǎn)對應(yīng)的插件標(biāo)簽不為預(yù)定類型標(biāo)簽,則采用更新后的預(yù)定規(guī)則,例如正則表達(dá)式規(guī)則,匹配所述網(wǎng)頁腳本的預(yù)定類型標(biāo)簽對應(yīng)的插件資源;當(dāng)匹配成功后,從所述網(wǎng)頁腳本中提取預(yù)定類型標(biāo)簽對應(yīng)的插件資源,并將對應(yīng)的插件資源傳遞給相應(yīng)的播放器進(jìn)行播放。若匹配失敗,則表示插件資源提取失敗。
[0072]本實(shí)施例通過上述方案,瀏覽器在用戶瀏覽網(wǎng)頁時,通過解析網(wǎng)頁,獲取網(wǎng)頁腳本中標(biāo)簽的DOM節(jié)點(diǎn);從DOM節(jié)點(diǎn)中獲取插件標(biāo)簽節(jié)點(diǎn);當(dāng)所述插件標(biāo)簽節(jié)點(diǎn)對應(yīng)的插件標(biāo)簽為預(yù)定類型標(biāo)簽時,提取所述插件標(biāo)簽對應(yīng)的插件資源;將所述插件標(biāo)簽對應(yīng)的插件資源傳遞給相應(yīng)的播放器進(jìn)行播放,可在網(wǎng)頁尚未真正渲染時完成符合特定協(xié)議規(guī)范的內(nèi)容的提取,由此提高了網(wǎng)頁預(yù)定內(nèi)容的提取速度,同時也提高了網(wǎng)頁的展示速度,此外,由于本方案可以不依賴后臺服務(wù)器而是在瀏覽器終端側(cè)實(shí)現(xiàn)插件資源的提取,在技術(shù)上易于實(shí)現(xiàn),可降低開發(fā)成本。另外,在網(wǎng)頁設(shè)計(jì)中存在可能無法獲得預(yù)定類型的插件標(biāo)簽的應(yīng)用場景下,采用正則匹配的方法,到網(wǎng)頁腳本資源里去查找到預(yù)定類型插件標(biāo)簽的資源信息,由此提高了網(wǎng)頁資源信息的提取成功率,保證了網(wǎng)頁資源信息提取操作的可靠性。而且預(yù)定規(guī)則可以動態(tài)配置,即可以隨時修改,在視頻網(wǎng)站版本更新導(dǎo)致原有的網(wǎng)頁資源提取規(guī)則失效時,可以通過瀏覽器終端或者后臺服務(wù)器下發(fā)新的正則匹配規(guī)則,以應(yīng)對網(wǎng)站改版導(dǎo)致的原模版失效問題,從而提高了網(wǎng)頁資源提取規(guī)則的靈活性。
[0073]如圖4所示,本發(fā)明第四實(shí)施例提出一種提取網(wǎng)頁內(nèi)容的方法,在上述圖3所示的第三實(shí)施例的基礎(chǔ)上,還可以包括:
[0074]步驟S110,將提取的插件資源傳遞給相應(yīng)的播放器進(jìn)行播放。
[0075]本實(shí)施例與上述圖3所示的第三實(shí)施例的區(qū)別在于,本實(shí)施例還包括播放提取的插件資源的方案。
[0076]在提取出對應(yīng)的插件資源后,將該插件資源傳遞給相應(yīng)的播放器進(jìn)行播放,由此實(shí)現(xiàn)了插件類網(wǎng)頁內(nèi)容在終端尤其是手機(jī)等移動終端瀏覽器上的播放展示。其他與第三實(shí)施例相同。
[0077]如圖5所示,本發(fā)明第一實(shí)施例提出一種提取網(wǎng)頁內(nèi)容的裝置,包括:拉取模塊201、解析模塊202、獲取模塊203、提取模塊204,其中:
[0078]拉取模塊201,用于響應(yīng)移動客戶端在瀏覽器上觸發(fā)的網(wǎng)頁瀏覽指令,獲取對應(yīng)的網(wǎng)頁;
[0079]解析模塊202,用于解析所述網(wǎng)頁,獲取網(wǎng)頁腳本中標(biāo)簽的DOM節(jié)點(diǎn);
[0080]獲取模塊203,用于從所述DOM節(jié)點(diǎn)中獲取插件標(biāo)簽節(jié)點(diǎn);
[0081]提取模塊204,用于當(dāng)所述插件標(biāo)簽節(jié)點(diǎn)對應(yīng)的插件標(biāo)簽為預(yù)定類型標(biāo)簽時,提取所述插件標(biāo)簽對應(yīng)的插件資源。
[0082]其中,本實(shí)施例裝置可以設(shè)置在瀏覽器終端上。本實(shí)施例瀏覽器可以是PC端瀏覽器,也可以是手機(jī)等移動終端瀏覽器,尤其指手機(jī)等移動終端瀏覽器。因?yàn)楝F(xiàn)有的嵌入網(wǎng)頁的瀏覽器播放器插件多局限于PC端桌面系統(tǒng),而不適用于手機(jī)端瀏覽器,在手機(jī)端打開網(wǎng)頁時,則頁面無法播放視頻。
[0083]另外,考慮到現(xiàn)有的網(wǎng)頁內(nèi)容提取方案需要后臺服務(wù)器依賴第三方數(shù)據(jù)庫支撐,不僅增加了運(yùn)營成本,而且每次打開網(wǎng)頁時,都需要向后臺服務(wù)器發(fā)送查詢指令,服務(wù)器還要返回查詢結(jié)果,增加了額外的流量消耗,并影響了網(wǎng)頁的展示速度。本實(shí)施例方案可以不依賴后臺服務(wù)器,而是在瀏覽器終端實(shí)現(xiàn)網(wǎng)頁中符合預(yù)定協(xié)議規(guī)范的資源信息的提取,以便對提取的資源信息進(jìn)行相應(yīng)的處理。
[0084]比如提取嵌入網(wǎng)頁的瀏覽器播放器插件對應(yīng)的插件資源(比如提取快播qvod、百度影音bdhd資源、flash資源,或者其它預(yù)定類型的插件資源等),調(diào)用相應(yīng)的播放器實(shí)現(xiàn)視頻資源的播放等,從而可以降低成本。
[0085]具體地,在用戶通過瀏覽器瀏覽網(wǎng)頁時,瀏覽器根據(jù)用戶觸發(fā)的網(wǎng)頁瀏覽指令拉取對應(yīng)的網(wǎng)頁,該網(wǎng)頁中以插件形式嵌入有符合預(yù)定協(xié)議規(guī)范的視頻播放器。針對不同協(xié)議規(guī)范的視頻播放器插件,由網(wǎng)頁開發(fā)者按照規(guī)范編寫相應(yīng)的網(wǎng)頁腳本,在打開網(wǎng)頁時,即可方便地調(diào)用對應(yīng)的播放器播放視頻、音頻數(shù)據(jù)。
[0086]瀏覽器在拉取到網(wǎng)頁后,對該網(wǎng)頁進(jìn)行解析,生成DOM樹;其中,DOM樹是指文檔模型樹,在HTML網(wǎng)頁腳本中,其中的所有元素單元組合在一起可以看作是一顆多叉樹,這種樹結(jié)構(gòu)被稱為節(jié)點(diǎn)樹。DOM樹中的每一節(jié)點(diǎn)單元對應(yīng)HTML網(wǎng)頁腳本里的一個元素單元,即標(biāo)簽(tag),可通過這棵DOM樹訪問所有節(jié)點(diǎn),可以對DOM樹進(jìn)行節(jié)點(diǎn)的遍歷、插入、刪除等操作,也可以創(chuàng)建新的節(jié)點(diǎn)元素。
[0087]DO