一種視頻url抓取方法、裝置及終端設(shè)備的制作方法
【專利摘要】本發(fā)明公開了一種視頻URL抓取方法、裝置及終端設(shè)備。其中,該方法包括:從web頁面上提取視頻標(biāo)簽;對所述視頻標(biāo)簽的類型進行識別;根據(jù)所述視頻標(biāo)簽的類型提取視頻URL。
【專利說明】一種視頻URL抓取方法、裝置及終端設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)頁分析【技術(shù)領(lǐng)域】,尤其涉及一種視頻URL抓取方法、裝置及終端設(shè)備。
【背景技術(shù)】
[0002]現(xiàn)有技術(shù)中,當(dāng)用戶需要下載的內(nèi)容比較冷門或下載速度較慢時,可以采用離線下載的方式下載視頻。離線下載其實就是下載工具的服務(wù)器代替電腦用戶先行下載。比如,電腦用戶的正常下載最大速度能達到200KB/S,但是某個資源是冷門資源,下載速度只能達到10KB/S,電腦用戶就得下很久,如果用戶使用離線下載技術(shù),就可以讓服務(wù)商的服務(wù)器代替電腦用戶下載,電腦用戶就可以關(guān)掉下載工具或者機器,節(jié)約時間和電費。等到離線下好了,電腦用戶再從下載工具的服務(wù)器上以200KB/S的速度下到自己的電腦上。即使對于熱門資源,離線下載也能省卻許多掛機等待的時間,最重要的是能夠騰出電腦寬帶做其他的事情。
[0003]現(xiàn)有對于視頻資源的離線下載,都是基于對自身網(wǎng)站的資源調(diào)用,即其知道相關(guān)視頻的視頻統(tǒng)一資源定位符(Uniform Resource Locator, URL)。但是,當(dāng)視頻URL地址未知的情況下,就不能自動抓取視頻資源。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實施例提供一種視頻URL抓取方法、裝置及終端設(shè)備,用于實現(xiàn)對視頻URL的準(zhǔn)確抓取。
[0005]一種視頻URL抓取方法方法,包括:
[0006]從web頁面上提取視頻標(biāo)簽;
[0007]對所述視頻標(biāo)簽的類型進行識別;
[0008]根據(jù)所述視頻標(biāo)簽的類型提取視頻URL。
[0009]本方案中,通過對提取到的視頻標(biāo)簽的類型進行識別,來抓取視頻URL,使得在視頻URL未知的情況下,可以從網(wǎng)頁上準(zhǔn)確地抓取可用視頻URL,以實現(xiàn)對視頻資源的自動批量下載,并且下載的效率較高。
[0010]優(yōu)選地,從web頁面上提取視頻標(biāo)簽包括:
[0011 ] 掃描web頁面的DOM樹,找到所有文字節(jié)點;
[0012]從所有文字節(jié)點中提取包括有預(yù)設(shè)特征文字的文字節(jié)點;
[0013]將包括有預(yù)設(shè)特征文字的文字節(jié)點的父節(jié)點作為所述視頻標(biāo)簽。
[0014]本方案中,通過視頻標(biāo)簽的文字特性對視頻標(biāo)簽進行提取,可以快速準(zhǔn)確地提取到web頁面中的視頻標(biāo)簽。
[0015]優(yōu)選地,從web頁面上提取視頻標(biāo)簽之后還包括:
[0016]從所述web頁面提取視頻標(biāo)題;
[0017]分析所述視頻標(biāo)簽是否包含前導(dǎo)符,所述前導(dǎo)符為所述視頻標(biāo)簽中除所述預(yù)設(shè)特征文字外的文字;
[0018]當(dāng)所述視頻標(biāo)簽包含前導(dǎo)符,分析所述前導(dǎo)符中是否包含有提取到的所述視頻標(biāo)題;
[0019]當(dāng)所述視頻標(biāo)簽中的前導(dǎo)符不包含有提取到的所述視頻標(biāo)題時,判定所述視頻標(biāo)簽無效,不作處理。
[0020]本方案中,通過對視頻標(biāo)簽前導(dǎo)符的驗證,實現(xiàn)對視頻標(biāo)簽的準(zhǔn)確提取,過濾掉無效的視頻標(biāo)簽。
[0021]優(yōu)選地,從web頁面上提取視頻標(biāo)簽之后還包括:
[0022]檢測所述視頻標(biāo)簽是否為超鏈接或所述視頻標(biāo)簽是否包含onclick事件;
[0023]當(dāng)所述視頻標(biāo)簽不是超鏈接且不包含onclick事件時,判定所述視頻標(biāo)簽無效,不作處理。
[0024]本方案中,進一步提聞視頻標(biāo)簽提取的準(zhǔn)確性,過濾掉無效的視頻標(biāo)簽。
[0025]優(yōu)選地,從web頁面上提取視頻標(biāo)簽之前還包括:
[0026]解析所述web網(wǎng)頁,判斷所述web網(wǎng)頁是否包含video標(biāo)簽;
[0027]當(dāng)所述web網(wǎng)頁包含video標(biāo)簽,從web頁面上提取視頻標(biāo)簽。
[0028]本方案中,提高視頻標(biāo)簽提取的效率,避免對不包含視頻元素的網(wǎng)頁進行視頻標(biāo)簽提取,而造成對處理資源的浪費。
[0029]優(yōu)選地,根據(jù)所述視頻標(biāo)簽的類型提取視頻URL包括:
[0030]通過所述視頻標(biāo)簽提取第一 URL ;
[0031 ] 通過所述第一 URL進行網(wǎng)絡(luò)訪問,獲取包括MME Type的協(xié)議頭;
[0032]當(dāng)所述MME Type為視頻類型時,判定所述第一URL為視頻URL ;當(dāng)所述MME Type為HTML頁面類型時,判定所述第一 URL為HTML頁面URL ;
[0033]當(dāng)所述第一 URL為視頻URL時,則獲取該視頻URL ;
[0034]當(dāng)所述第一 URL為HTML頁面URL時,根據(jù)所述HTML頁面URL獲取視頻URL。
[0035]本方案中,通過對從視頻標(biāo)簽中提取的URL進行網(wǎng)絡(luò)驗證,使得抓取到的URL為最終的視頻URL,避免獲得不可下載的HTML頁面URL,提高了視頻URL抓取的準(zhǔn)確性,使得后續(xù)可以根據(jù)該視頻URL順利的下載到視頻資源,提高視頻下載的效率。
[0036]優(yōu)選地,根據(jù)所述HTML頁面URL獲取視頻URL包括:
[0037]根據(jù)所述HTML頁面URL獲取HTML頁面數(shù)據(jù);
[0038]從所述HTML頁面數(shù)據(jù)中查找第二 URL ;
[0039]通過所述第二 URL進行網(wǎng)絡(luò)訪問,獲取包括MME Type的協(xié)議頭;
[0040]當(dāng)所述MME Type為視頻類型時,判定所述第二 URL為視頻URL,并獲取該視頻URL ;
[0041]當(dāng)所述MME Type為HTML頁面類型時,判定所述第二 URL為HTML頁面URL,則重復(fù)根據(jù)所述HTML頁面URL獲取HTML頁面數(shù)據(jù)的步驟,直到從HTML頁面中獲取到視頻URL。
[0042]本方案中,通過對獲取到的URL進行反復(fù)網(wǎng)絡(luò)驗證,當(dāng)出現(xiàn)多次頁面跳轉(zhuǎn)到視頻資源時,可以過濾掉中間的跳轉(zhuǎn)頁面,直接獲得最終的視頻URL,提高視頻URL抓取的準(zhǔn)確性,使得后續(xù)可以根據(jù)該視頻URL順利的下載到視頻資源,提高視頻下載的效率。
[0043]優(yōu)選地,該方法還包括:[0044]在進行網(wǎng)絡(luò)訪問時,還獲取預(yù)設(shè)字節(jié)個數(shù)的數(shù)據(jù);
[0045]當(dāng)所述MIME Type為視頻類型時,根據(jù)所述取預(yù)設(shè)字節(jié)個數(shù)的數(shù)據(jù)獲得所述視頻的基本彳目息;
[0046]當(dāng)所述MME Type為HTML頁面類型時,根據(jù)所述HTML頁面URL獲取所述預(yù)設(shè)字節(jié)個數(shù)的數(shù)據(jù)之外的其他HTML頁面數(shù)據(jù)。
[0047]本方案中,通過獲取URL對應(yīng)目標(biāo)內(nèi)容的部分數(shù)據(jù),當(dāng)目標(biāo)內(nèi)容為視頻時,可以預(yù)先獲取視頻信息,方便用戶了解要下載視頻內(nèi)容的信息,可以根據(jù)視頻信息判斷是否對該視頻進行下載或根據(jù)視頻信息設(shè)置下載策略,進一步提高視頻下載效率和準(zhǔn)確性。
[0048]優(yōu)選地,所述視頻標(biāo)簽的類型包括:
[0049]第一類型,所述視頻標(biāo)簽為指向視頻的超鏈接;
[0050]第二類型,所述視頻標(biāo)簽包含onclick事件的元素,點擊后頁面跳轉(zhuǎn)到視頻;
[0051]第三類型,所述視頻標(biāo)簽包含onclick事件的元素,所述視頻標(biāo)簽所在頁面包含視頻,點擊后在所述頁面上播放視頻;
[0052]第四類型,所述視頻標(biāo)簽為指向包含視頻的超文本標(biāo)記語言HTML頁面的超鏈接;
[0053]第五類型,所述視頻標(biāo)簽包含onclick事件的元素,點擊后頁面跳轉(zhuǎn)到包含視頻的HTML頁面。
[0054]本方案中,這5種類型覆蓋了絕大部分的視頻網(wǎng)站中的視頻標(biāo)簽類型,通過對標(biāo)簽類型的設(shè)定,可以根據(jù)視頻標(biāo)簽類型對視頻標(biāo)簽進行篩選,使得根據(jù)視頻標(biāo)簽類型獲取第一 URL更加準(zhǔn)確,并進一步提高視頻下載的準(zhǔn)確性和效率。
[0055]優(yōu)選地,根據(jù)所述視頻標(biāo)簽的類型提取URL之前還包括:
[0056]判斷所述視頻標(biāo)簽是否屬于所述第一至第五類型;
[0057]當(dāng)所述視頻標(biāo)簽不屬于所述第一至第五類型時,判定所述視頻標(biāo)簽無效,不作處理。
[0058]本方案中,通過對視頻標(biāo)簽類別的識別,進一步對視頻標(biāo)簽進行過濾,提高后續(xù)根據(jù)視頻標(biāo)簽提取視頻URL的準(zhǔn)確度和效率。
[0059]優(yōu)選地,從所述視頻標(biāo)簽中提取第一 URL包括:
[0060]當(dāng)所述視頻標(biāo)簽的類型為第一類型或第四類型時,從所述超鏈接的超文本引用href屬性中提取第一 URL ;
[0061]當(dāng)所述視頻標(biāo)簽的類型為第二類型、第三類型或第五類型時,通過調(diào)用onclick事件提取第一 URL。
[0062]本方案中,可以準(zhǔn)確地根據(jù)視頻標(biāo)簽類型獲取第一 URL,進一步提高視頻下載的準(zhǔn)確性和效率。
[0063]優(yōu)選地,該方法還包括:
[0064]根據(jù)所述視頻URL進行視頻下載。
[0065]本方案中,通過對提取到的視頻標(biāo)簽的類型進行識別,來抓取視頻URL,使得在視頻URL未知的情況下,可以從網(wǎng)頁上準(zhǔn)確地抓取可用視頻URL,以實現(xiàn)對視頻資源的自動批量下載,并且提高在線下載或離線下載的效率。
[0066]一種視頻URL抓取裝置,包括:
[0067]標(biāo)簽提取|吳塊,用于從web頁面上提取視頻標(biāo)簽;[0068]識別模塊,用于對所述視頻標(biāo)簽的類型進行識別;
[0069]URL提取模塊,用于根據(jù)所述視頻標(biāo)簽的類型提取視頻URL。
[0070]優(yōu)選地,所述標(biāo)簽提取模塊,用于
[0071]掃描web頁面的DOM樹,找到所有文字節(jié)點;從所有文字節(jié)點中提取包括有預(yù)設(shè)特征文字的文字節(jié)點;將包括有預(yù)設(shè)特征文字的文字節(jié)點的父節(jié)點作為所述視頻標(biāo)簽。
[0072]優(yōu)選地,該裝置還包括:標(biāo)題提取???、第一分析模塊和第二分析模塊,
[0073]所述標(biāo)題提取模塊,用于從所述web頁面提取視頻標(biāo)題;
[0074]所述第一分析模塊,用于分析所述視頻標(biāo)簽是否包含前導(dǎo)符,所述前導(dǎo)符為所述視頻標(biāo)簽中除所述預(yù)設(shè)特征文字外的文字;
[0075]所述第二分析模塊,用于當(dāng)所述視頻標(biāo)簽包含前導(dǎo)符,分析所述前導(dǎo)符中是否包含有提取到的所述視頻標(biāo)題;
[0076]所述標(biāo)簽提取模塊,用于當(dāng)所述視頻標(biāo)簽中的前導(dǎo)符不包含有提取到的所述視頻標(biāo)題時,判定所述視頻標(biāo)簽無效,不作處理。
[0077]優(yōu)選地,該裝置還包括:檢測模塊,
[0078]所述檢測模塊,用于檢測所述視頻標(biāo)簽是否為超鏈接或所述視頻標(biāo)簽是否包含onclick 事件;
[0079]所述標(biāo)簽提取模塊,用于當(dāng)所述視頻標(biāo)簽不是超鏈接且不包含onclick事件時,判定所述視頻標(biāo)簽無效,不作處理。
[0080]優(yōu)選地,該裝置還包括:解析模塊,用于解析所述web網(wǎng)頁,判斷所述web網(wǎng)頁是否包含video標(biāo)簽;
[0081]所述標(biāo)簽提取模塊,用于當(dāng)所述web網(wǎng)頁包含video標(biāo)簽,從web頁面上提取視頻標(biāo)簽。
[0082]優(yōu)選地,所述URL提取模塊包括:
[0083]第一提取子模塊,用于通過所述視頻標(biāo)簽提取第一 URL ;
[0084]第一獲取子模塊,用于通過所述第一URL進行網(wǎng)絡(luò)訪問,獲取包括MME Type的協(xié)議頭;
[0085]類型分析子模塊,用于當(dāng)所述MIME Type為視頻類型時,判定所述第一URL為視頻URL ;當(dāng)所述MME Type為HTML頁面類型時,判定所述第一 URL為HTML頁面URL ;
[0086]第二獲取子模塊,用于當(dāng)所述第一 URL為視頻URL時,則獲取該視頻URL ;當(dāng)所述第一 URL為HTML頁面URL時,根據(jù)所述HTML頁面URL獲取視頻URL。
[0087]優(yōu)選地,所述第二獲取子模塊,用于根據(jù)所述HTML頁面URL獲取HTML頁面數(shù)據(jù);從所述HTML頁面數(shù)據(jù)中查找第二 URL ;通過所述第二 URL進行網(wǎng)絡(luò)訪問,獲取包括MMEType的協(xié)議頭;當(dāng)所述MME Type為視頻類型時,判定所述第二 URL為視頻URL,獲取該視頻URL ;當(dāng)所述MME Type為HTML頁面類型時,判定第二 URL為HTML頁面URL,則重復(fù)根據(jù)所述HTML頁面URL獲取HTML頁面數(shù)據(jù)的步驟,直到從HTML頁面中獲取到視頻URL。
[0088]優(yōu)選地,所述URL提取模塊還包括第三獲取子模塊,
[0089]所述第一獲取子模塊,還用于通過所述第二 URL進行網(wǎng)絡(luò)訪問,還獲取預(yù)設(shè)字節(jié)個數(shù)的數(shù)據(jù);
[0090]所述第二獲取子模塊,還用于當(dāng)所述MME Type為HTML頁面類型時,根據(jù)所述HTML頁面URL獲取所述預(yù)設(shè)字節(jié)個數(shù)的數(shù)據(jù)之外的其他HTML頁面數(shù)據(jù);
[0091]所述第三獲取子模塊,用于當(dāng)所述MME Type為視頻類型時,根據(jù)所述取預(yù)設(shè)字節(jié)個數(shù)的數(shù)據(jù)獲得所述視頻的基本信息。
[0092]優(yōu)選地,所述視頻標(biāo)簽的類型包括:
[0093]第一類型,所述視頻標(biāo)簽為指向視頻的超鏈接;
[0094]第二類型,所述視頻標(biāo)簽包含onclick事件的元素,點擊后頁面跳轉(zhuǎn)到視頻;
[0095]第三類型,所述視頻標(biāo)簽包含onclick事件的元素,所述視頻標(biāo)簽所在頁面包含視頻,點擊后在所述頁面上播放視頻;
[0096]第四類型,所述視頻標(biāo)簽為指向包含視頻的HTML頁面的超鏈接;
[0097]第五類型,所述視頻標(biāo)簽包含onclick事件的元素,點擊后頁面跳轉(zhuǎn)到包含視頻的HTML頁面。
[0098]優(yōu)選地,該裝置還包括:
[0099]判斷模塊,用于判斷所述視頻標(biāo)簽是否屬于所述第一至第五類型;
[0100]所述標(biāo)簽提取模塊,用于當(dāng)所述視頻標(biāo)簽不屬于所述第一至第五類型時,判定所述視頻標(biāo)簽無效,不作處理。
[0101]優(yōu)選地,所述第一提取子模塊,用于當(dāng)所述視頻標(biāo)簽的類型為第一類型或第四類型時,從所述超鏈接的超文本引用href屬性中提取第一 URL ;當(dāng)所述視頻標(biāo)簽的類型為第二類型、第三類型或第五類型時,通過調(diào)用onclick事件提取第一 URL。
[0102]優(yōu)選地,該裝置還包括:下載模塊,用于根據(jù)所述視頻URL進行視頻下載。
[0103]一種終端設(shè)備,包括有存儲器,以及一個或者一個以上的程序,其中一個或者一個以上程序存儲于存儲器中,且經(jīng)配置以由一個或者一個以上處理器執(zhí)行所述一個或者一個以上程序包含用于進行以下操作的指令:
[0104]從web頁面上提取視頻標(biāo)簽;
[0105]對所述視頻標(biāo)簽的類型進行識別;
[0106]根據(jù)所述視頻標(biāo)簽的類型提取視頻URL。
[0107]本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
[0108]下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。
【專利附圖】
【附圖說明】
[0109]附圖用來提供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
[0110]圖1為本發(fā)明實施例中提供的一種視頻URL抓取方法流程示意圖;
[0111]圖2為本發(fā)明實施例中從web頁面上提取視頻標(biāo)簽的流程不意圖;
[0112]圖3為本發(fā)明實施例中對視頻標(biāo)簽前導(dǎo)符的驗證的流程示意圖;
[0113]圖4為本發(fā)明實施例中根據(jù)視頻標(biāo)簽的類型提取視頻URL的流程示意圖;
[0114]圖5為本發(fā)明實施例中根據(jù)HTML頁面URL獲取視頻URL的流程示意圖;
[0115]圖6為本發(fā)明實施例中提供的一種視頻URL抓取裝置結(jié)構(gòu)示意圖;[0116]圖7為本發(fā)明實施例中提供的另一種視頻URL抓取裝置結(jié)構(gòu)不意圖;
[0117]圖8為本發(fā)明實施例中提供的一種URL提取模塊結(jié)構(gòu)示意圖;
[0118]圖9為本發(fā)明實施例中提供的一種終端設(shè)備結(jié)構(gòu)示意圖。
【具體實施方式】
[0119]以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例進行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
[0120]本發(fā)明實施例用于在視頻URL未知的情況下,根據(jù)用戶需求,從網(wǎng)頁上抓取可用的視頻URL,以實現(xiàn)對視頻資源的自動批量下載。
[0121]如圖1所示,本發(fā)明實施例提供了一種視頻URL抓取方法,包括以下步驟:
[0122]步驟102,從web頁面上提取視頻標(biāo)簽;
[0123]步驟104,對視頻標(biāo)簽的類型進行識別;
[0124]步驟106,根據(jù)視頻標(biāo)簽的類型提取視頻URL。
[0125]本發(fā)明實施例,通過對提取到的視頻標(biāo)簽的類型進行識別,來抓取視頻URL,使得在視頻URL未知的情況下,可以從網(wǎng)頁上準(zhǔn)確地抓取可用視頻URL,以實現(xiàn)對視頻資源的自動批量下載,并且下載的效率較高。
[0126]由于視頻標(biāo)簽都擁有諸如:1、第2集、3集、十、第十八集、二十一集等模式的文字,因此本發(fā)明實施例中,將這些模式的文字作為預(yù)設(shè)特征文字,通過識別預(yù)設(shè)特征文字的方式提取視頻標(biāo)簽,如圖2所示,步驟102包括:
[0127]步驟202,掃描web頁面的文件對象模型(Document Object Model,簡稱DOM)樹,找到所有文字節(jié)點;
[0128]步驟204,從所有文字節(jié)點中提取包括有預(yù)設(shè)特征文字的文字節(jié)點;
[0129]步驟206,將包括有預(yù)設(shè)特征文字的文字節(jié)點的父節(jié)點作為視頻標(biāo)簽。
[0130]下面是兩個視頻標(biāo)簽的超文本標(biāo)記語言(Hypertext Markup Language, HTML)示例:
[0131]<a href=” example, html” >l〈/a>
[0132]〈span onclick=”return apply ();,,> 愛在春天第二集 </a>
[0133]在上述示例中,a元素和span元素是文字節(jié)點” I”和”愛在春天第二集”的父元素,因此,a元素和span元素被判定為視頻標(biāo)簽。
[0134]本實施例中,通過視頻標(biāo)簽的文字特性對視頻標(biāo)簽進行提取,可以快速準(zhǔn)確地提取到web頁面中的視頻標(biāo)簽。
[0135]本發(fā)明實施例中,定義前導(dǎo)符為視頻標(biāo)簽中除預(yù)設(shè)特征文字外的文字。例如,“愛在春天第二集”這個視頻標(biāo)簽中,“第二集”為預(yù)設(shè)特征文字,“愛在春天”即為前導(dǎo)符。視頻標(biāo)簽中,要么沒有前導(dǎo)符,要么前導(dǎo)符應(yīng)當(dāng)與從web頁面中提取出來的標(biāo)題一致。例如:視頻標(biāo)題為“愛在春天”的頁面中,如果出現(xiàn)“愛情公寓2”,則判定該視頻標(biāo)簽無效,應(yīng)刪除。
[0136]通常從頁面標(biāo)題中就可以提取出視頻標(biāo)題。例如,優(yōu)庫網(wǎng)連續(xù)劇頁面的標(biāo)題大致如下:“愛在春天-優(yōu)庫視頻”,可以從中提取出視頻標(biāo)題“愛在春天”。
[0137]優(yōu)選地,如圖3所示,步驟102之后還包括:
[0138]步驟302,從web頁面提取視頻標(biāo)題;[0139]步驟304,分析視頻標(biāo)簽是否包含前導(dǎo)符;如果是,執(zhí)行步驟306,如果否,執(zhí)行步驟 308 ;
[0140]步驟306,分析前導(dǎo)符中是否包含有提取到的視頻標(biāo)題;如果是,執(zhí)行步驟308,如果否,執(zhí)彳了步驟310 ;
[0141]步驟308,判定視頻標(biāo)簽有效,保留該視頻標(biāo)簽;
[0142]步驟310,判定視頻標(biāo)簽無效,不作處理。
[0143]這樣,通過對視頻標(biāo)簽前導(dǎo)符的驗證,實現(xiàn)對視頻標(biāo)簽的準(zhǔn)確提取,過濾掉無效的視頻標(biāo)簽。
[0144]由于視頻標(biāo)簽應(yīng)該具有可點擊的特性,即視頻標(biāo)簽要么是一個超鏈接,要么具有點擊(onclick)事件。因此,步驟102之后還包括:檢測視頻標(biāo)簽是否為超鏈接或視頻標(biāo)簽是否包含點擊onclick事件;當(dāng)視頻標(biāo)簽不是超鏈接且不包含onclick事件時,判定該視頻標(biāo)簽無效,不作處理。這樣,進一步提高視頻標(biāo)簽提取的準(zhǔn)確性,過濾掉無效的視頻標(biāo)簽。
[0145]另外,本發(fā)明實施例中,并不是對所有web網(wǎng)頁都會進行上述視頻標(biāo)簽的提取,而是僅對有視頻元素的網(wǎng)頁提取視頻標(biāo)簽。通過判斷web網(wǎng)頁中是否有video標(biāo)簽來判斷web該網(wǎng)頁是否需要進行視頻標(biāo)簽的提取。因此,步驟102之前還包括:解析web網(wǎng)頁,判斷web網(wǎng)頁是否包含video標(biāo)簽;當(dāng)web網(wǎng)頁包含video標(biāo)簽,從web頁面上提取視頻標(biāo)簽。這樣,提高視頻標(biāo)簽提取的效率,避免對不包含視頻元素的網(wǎng)頁進行視頻標(biāo)簽提取,而造成對處理資源的浪費。
[0146]本發(fā)明實施例中,對視頻標(biāo)簽的分類如下:
[0147]第一類型,視頻標(biāo)簽為指向視頻的超鏈接;例如,<a href=” somepath.mp4”〉第I
集 </a> ;
[0148]第二類型,視頻標(biāo)簽包含onclick事件的元素,點擊后頁面跳轉(zhuǎn)到視頻;
[0149]第三類型,視頻標(biāo)簽包含onclick事件的元素,視頻標(biāo)簽所在頁面包含視頻,點擊后在頁面上播放視頻(通過調(diào)用video元素的setAttribute方法更改其src屬性);
[0150]第四類型,視頻標(biāo)簽為指向包含視頻的HTML頁面的超鏈接;
[0151]第五類型,視頻標(biāo)簽包含onclick事件的元素,點擊后頁面跳轉(zhuǎn)到包含視頻的HTML頁面。
[0152]這5種類型覆蓋了絕大部分的視頻網(wǎng)站中的視頻標(biāo)簽類型,因此,這5種類型之外的標(biāo)簽可認為不是有效的視頻標(biāo)簽。優(yōu)選地,步驟106之前還包括:判斷視頻標(biāo)簽是否屬于第一至第五類型;當(dāng)視頻標(biāo)簽不屬于第一至第五類型時,判定該視頻標(biāo)簽無效,不作處理。通過對視頻標(biāo)簽類別的識別,進一步對視頻標(biāo)簽進行過濾,提高后續(xù)根據(jù)視頻標(biāo)簽提取視頻URL的準(zhǔn)確度和效率。
[0153]由于視頻標(biāo)簽可能是上述五種類型的任意一種,因此,通過視頻標(biāo)簽獲取到的URL可能不是最終的視頻URL。對于第一類型、第二類型和第三類型的視頻標(biāo)簽,通過視頻標(biāo)簽獲取到的URL即為最終的視頻URL,但是對于第四類型和第五類型來說,通過視頻標(biāo)簽獲取到的URL是一個可能包含視頻的HTML頁面URL。本實施例中,可以準(zhǔn)確地根據(jù)視頻標(biāo)簽類型獲取第一 URL,進一步提高視頻下載的準(zhǔn)確性和效率。
[0154]首先,通過視頻標(biāo)簽獲取到一個初步的URL,即第一 URL。本發(fā)明實施例中需要對第一 URL進行網(wǎng)絡(luò)驗證,即通過一次網(wǎng)絡(luò)訪問確定第一 URL是最終的視頻URL,還是HTML頁面 URL。
[0155]本發(fā)明實施例中,優(yōu)選地,如圖4所示,步驟106包括:
[0156]步驟402,通過視頻標(biāo)簽提取第一 URL ;
[0157]步驟404,通過第一 URL進行網(wǎng)絡(luò)訪問,獲取包括多用途因特網(wǎng)郵件擴充類型(Multipurpose Internet Mail Extensions, MIME Type)的協(xié)議頭;
[0158]步驟406,當(dāng)MME Type為視頻類型時,判定第一 URL為視頻URL ;
[0159]步驟408,當(dāng)MME Type為HTML頁面類型時,判定第一 URL為HTML頁面URL ;
[0160]步驟410,當(dāng)?shù)谝?URL為視頻URL時,則獲取該視頻URL ;
[0161]步驟412,當(dāng)?shù)谝?URL為HTML頁面URL時,根據(jù)HTML頁面URL獲取視頻URL。本實施例中,通過對從視頻標(biāo)簽中提取的URL進行網(wǎng)絡(luò)驗證,使得抓取到的URL為最終的視頻URL,避免獲得不可下載的HTML頁面URL,提高了視頻URL抓取的準(zhǔn)確性,使得后續(xù)可以根據(jù)該視頻URL順利的下載到視頻資源,提高視頻下載的效率。
[0162]優(yōu)選地,步驟402包括:當(dāng)視頻標(biāo)簽的類型為第一類型或第四類型時,從超鏈接的超文本引用(Hyper text Reference, href )屬性中提取第一 URL ;當(dāng)視頻標(biāo)簽的類型為第二類型、第三類型或第五類型時,通過調(diào)用onclick事件提取第一 URL。
[0163]當(dāng)視頻標(biāo)簽的類型為第二類型和第五類型時,頁面通常通過JavaScript代碼調(diào)用window.location=xxx來跳轉(zhuǎn)到一個新頁面。在WebKit中的對應(yīng)位置截斷這次調(diào)用,以免真的跳轉(zhuǎn)到新頁面,并且截獲到第一 URL。
[0164]當(dāng)視頻標(biāo)簽的類型為第三類型時,頁面通常通過JavaScript代碼設(shè)置video元素的src屬性來改變其播放的視頻,在WebKit中的對應(yīng)位置截斷這次調(diào)用,并截獲到第一URL。
[0165]步驟404中,利用HTTP的Partial Content特性,獲得網(wǎng)絡(luò)訪問返回的HTTP協(xié)議的Range協(xié)議頭中的MIME Type,如果MIME Type是視頻類型,例如video或mp4,則判定第一 URL為視頻URL,否則該第一 URL為HTML頁面URL。
[0166]當(dāng)MME Type是視頻類型時,只需要驗證其類型即可,不需要真的獲取數(shù)據(jù),因為視頻數(shù)據(jù)比較大,會占用很多網(wǎng)絡(luò)帶寬。而當(dāng)MME Type為HTML頁面類型時,必須得到完整的HTML頁面數(shù)據(jù),否則無法找到它包含的視頻。
[0167]步驟410中,當(dāng)?shù)谝?URL為HTML頁面URL時,重新發(fā)送一個網(wǎng)絡(luò)請求,獲取該HTML頁面數(shù)據(jù)。從HTML頁面數(shù)據(jù)查找到頁面中的URL,該URL可能是視頻URL,也可能還是一個HTML頁面URL。為了獲取最終的視頻URL,可能需要多次對獲得的URL進行網(wǎng)絡(luò)驗證。
[0168]優(yōu)選地,如圖5所示,步驟410包括:
[0169]步驟502,根據(jù)HTML頁面URL獲取HTML頁面數(shù)據(jù);
[0170]步驟504,從HTML頁面數(shù)據(jù)中查找第二 URL ;
[0171]步驟506,通過第二 URL進行網(wǎng)絡(luò)訪問,獲取包括MME Type的協(xié)議頭;
[0172]步驟508,當(dāng)MME Type為視頻類型時,判定第二 URL為視頻URL,并獲取該視頻URL ;
[0173]步驟510,當(dāng)MME Type為HTML頁面類型時,判定第二 URL為HTML頁面URL ;返回步驟502,直到從HTML頁面中獲取到視頻URL。
[0174]步驟504中,可以利用視頻嗅探技術(shù)從HTML頁面數(shù)據(jù)查找到頁面中的URL。掃描HTML頁面,從中找出video元素。很多頁面的HTML元素都是用JavaScript生成的,在頁面加載完畢時video元素可能并沒有生成。因此需要等待頁面一段時間,并截獲其插入元素的動作。
[0175]本實施例中,通過對獲取到的URL進行反復(fù)網(wǎng)絡(luò)驗證,當(dāng)出現(xiàn)多次頁面跳轉(zhuǎn)到視頻資源時,可以過濾掉中間的跳轉(zhuǎn)頁面,直接獲得最終的視頻URL,提高視頻URL抓取的準(zhǔn)確性,使得后續(xù)可以根據(jù)該視頻URL順利的下載到視頻資源,提高視頻下載的效率。
[0176]優(yōu)選地,本發(fā)明實施例中,步驟404和步驟506中,在進行網(wǎng)絡(luò)訪問時,還進一步獲取預(yù)設(shè)字節(jié)個數(shù)的數(shù)據(jù)。當(dāng)MIME Type為視頻類型時,根據(jù)取預(yù)設(shè)字節(jié)個數(shù)的數(shù)據(jù)獲得視頻的基本信息;當(dāng)MIME Type為HTML頁面類型時,根據(jù)HTML頁面URL獲取預(yù)設(shè)字節(jié)個數(shù)的數(shù)據(jù)之外的其他HTML頁面數(shù)據(jù)。
[0177]例如,可以設(shè)定獲取第一 URL或第二 URL對應(yīng)的目標(biāo)內(nèi)容的前100個字節(jié)的數(shù)據(jù),當(dāng)MME Type為視頻類型時,則本次網(wǎng)絡(luò)驗證結(jié)束;當(dāng)MME Type為HTML頁面類型時,創(chuàng)建一個HTML頁面,將這100個字節(jié)寫入HTML頁面內(nèi),然后重新發(fā)送一個網(wǎng)絡(luò)請求,以獲取第100個字節(jié)之后的所有數(shù)據(jù),并且將這些數(shù)據(jù)也寫入HTML頁面中。
[0178]本實施例中,通過獲取URL對應(yīng)目標(biāo)內(nèi)容的部分數(shù)據(jù),當(dāng)目標(biāo)內(nèi)容為視頻時,可以預(yù)先獲取視頻信息,方便用戶了解要下載視頻內(nèi)容的信息,可以根據(jù)視頻信息判斷是否對該視頻進行下載或根據(jù)視頻信息設(shè)置下載策略,進一步提高視頻下載效率和準(zhǔn)確性。
[0179]本發(fā)明實施例中,獲取的視頻URL后,根據(jù)視頻URL進行視頻下載,包括在線下載或離線下載。
[0180]本發(fā)明實施例,通過對提取到的視頻標(biāo)簽的類型進行識別,來抓取視頻URL,使得在視頻URL未知的情況下,可以從網(wǎng)頁上準(zhǔn)確地抓取可用視頻URL,以實現(xiàn)對視頻資源的自動批量下載,并且提高在線下載或離線下載的效率。
[0181]基于同一發(fā)明構(gòu)思,本發(fā)明還提供了一種視頻URL抓取裝置,如圖6所示,該裝置包括:
[0182]標(biāo)簽提取|吳塊601,用于從web頁面上提取視頻標(biāo)簽;
[0183]識別模塊602,用于對視頻標(biāo)簽的類型進行識別;
[0184]URL提取模塊603,用于根據(jù)視頻標(biāo)簽的類型提取視頻URL。
[0185]優(yōu)選地,標(biāo)簽提取模塊,用于掃描web頁面的DOM樹,找到所有文字節(jié)點;從所有文字節(jié)點中提取包括有預(yù)設(shè)特征文字的文字節(jié)點;將包括有預(yù)設(shè)特征文字的文字節(jié)點的父節(jié)點作為視頻標(biāo)簽。
[0186]優(yōu)選地,如圖7所示,該裝置還包括:標(biāo)題提取???04、第一分析模塊605和第二分析模塊606。
[0187]標(biāo)題提取模塊604,用于從web頁面提取視頻標(biāo)題;
[0188]第一分析模塊605,用于分析視頻標(biāo)簽是否包含前導(dǎo)符,前導(dǎo)符為視頻標(biāo)簽中除預(yù)設(shè)特征文字外的文字;
[0189]第二分析模塊606,用于當(dāng)視頻標(biāo)簽包含前導(dǎo)符,分析所述前導(dǎo)符中是否包含有提取到的所述視頻標(biāo)題;
[0190]標(biāo)簽提取模塊601,用于當(dāng)所述視頻標(biāo)簽中的前導(dǎo)符不包含有提取到的所述視頻標(biāo)題時,判定視頻標(biāo)簽無效,不作處理。[0191]優(yōu)選地,該裝置還包括:檢測模塊610。檢測模塊610,用于檢測視頻標(biāo)簽是否為超鏈接或視頻標(biāo)簽是否包含onclick事件;標(biāo)簽提取模塊601,用于當(dāng)視頻標(biāo)簽不是超鏈接且不包含onclick事件時,判定視頻標(biāo)簽無效,不作處理。
[0192]優(yōu)選地,如圖7所示,該裝置還包括:
[0193]解析模塊607,用于解析web網(wǎng)頁,判斷web網(wǎng)頁是否包含video標(biāo)簽;
[0194]標(biāo)簽提取模塊601,用于當(dāng)web網(wǎng)頁包含video標(biāo)簽,從web頁面上提取視頻標(biāo)簽。
[0195]優(yōu)選地,如圖8所示,URL提取模塊603包括:
[0196]第一提取子模塊6031,用于通過視頻標(biāo)簽提取第一 URL ;
[0197]第一獲取子模塊6032,用于通過第一 URL進行網(wǎng)絡(luò)訪問,獲取包括MMEType的協(xié)議頭;
[0198]類型分析子模塊6033,用于當(dāng)MME Type為視頻類型時,判定第一URL為視頻URL ;當(dāng)MME Type為HTML頁面類型時,判定第一 URL為HTML頁面URL ;
[0199]第二獲取子模塊6034,用于當(dāng)所述第一 URL為視頻URL時,則獲取該視頻URL ;當(dāng)?shù)谝?URL為HTML頁面URL時,根據(jù)HTML頁面URL獲取視頻URL。
[0200]優(yōu)選地,第一提取子模塊6031,用于當(dāng)視頻標(biāo)簽的類型為第一類型或第四類型時,從超鏈接的超文本引用href屬性中提取第一 URL ;當(dāng)視頻標(biāo)簽的類型為第二類型、第三類型或第五類型時,通過調(diào)用onclick事件提取第一 URL。
[0201]優(yōu)選地,第二獲取子模塊6034,用于根據(jù)HTML頁面URL獲取HTML頁面數(shù)據(jù);從HTML頁面數(shù)據(jù)中查找第二 URL ;通過第二 URL進行網(wǎng)絡(luò)訪問,獲取包括MME Type的協(xié)議頭;當(dāng)MME Type為視頻類型時,判定第二 URL為視頻URL ;當(dāng)MME Type為HTML頁面類型時,判定第一 URL為HTML頁面URL,返回根據(jù)HTML頁面URL獲取HTML頁面數(shù)據(jù)的步驟,直到從HTML頁面中獲取到視頻URL。
[0202]優(yōu)選地,如圖8所示,URL提取模塊還包括第三獲取子模塊6035。第一獲取子模塊6032,用于在進行網(wǎng)絡(luò)訪問時,還獲取預(yù)設(shè)字節(jié)個數(shù)的數(shù)據(jù);第二獲取子模塊6034,用于當(dāng)MIME Type為HTML頁面類型時,根據(jù)HTML頁面URL獲取預(yù)設(shè)字節(jié)個數(shù)的數(shù)據(jù)之外的其他HTML頁面數(shù)據(jù);第三獲取子模塊6035,用于當(dāng)MME Type為視頻類型時,根據(jù)取預(yù)設(shè)字節(jié)個數(shù)的數(shù)據(jù)獲得視頻的基本信息。
[0203]優(yōu)選地,如圖7所示,本實施例中,該裝置還包括:判斷模塊608,用于判斷視頻標(biāo)簽是否屬于第一至第五類型;標(biāo)簽提取模塊601,用于當(dāng)視頻標(biāo)簽不屬于第一至第五類型時,判定視頻標(biāo)簽無效,不作處理。
[0204]優(yōu)選地,如圖7所示,本實施例中,該裝置還包括下載模塊609,用于根據(jù)視頻URL進行視頻下載。
[0205]圖9是本發(fā)明實施例提供的一種終端設(shè)備結(jié)構(gòu)示意圖。如圖9所示,該終端設(shè)備可以用于實施上述實施例中提供的視頻URL抓取方法。其中,該終端設(shè)備可以為手機、平板電腦pad、穿戴式移動設(shè)備(如智能手表)等。優(yōu)先的:
[0206]終端設(shè)備900可以包括通信單元910、包括有一個或一個以上計算機可讀存儲介質(zhì)的存儲器920、輸入單元930、顯示單元940、傳感器950、音頻電路960、WiFi (wirelessfidelity,無線保真)模塊970、包括有一個或者一個以上處理核心的處理器980、以及電源990等部件。本領(lǐng)域技術(shù)人員可以理解,圖9中示出的終端設(shè)備結(jié)構(gòu)并不構(gòu)成對終端設(shè)備的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。其中:
[0207]通信單元910可用于收發(fā)信息或通話過程中,信號的接收和發(fā)送,該通信單元910可以為RF (Radio Frequency,射頻)電路、路由器、調(diào)制解調(diào)器、等網(wǎng)絡(luò)通信設(shè)備。特別地,當(dāng)通信單元910為RF電路時,將基站的下行信息接收后,交由一個或者一個以上處理器980處理;另外,將涉及上行的數(shù)據(jù)發(fā)送給基站。通常,作為通信單元的RF電路包括但不限于天線、至少一個放大器、調(diào)諧器、一個或多個振蕩器、用戶身份模塊(SIM)卡、收發(fā)信機、耦合器、LNA (Low Noise Amplifier,低噪聲放大器)、雙工器等。此外,通信單元910還可以通過無線通信與網(wǎng)絡(luò)和其他設(shè)備通信。無線通信可以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于 GSM(Global System of Mobile communication,全球移動通訊系統(tǒng))、GPRS (GeneralPacket Radio Service,通用分組無線服務(wù))、CDMA (Code Division Multiple Access,石馬分多址)、WCDMA(Wideband Code Division Multiple Access,寬帶碼分多址)、LTE (LongTerm Evolution,長期演進)、電子郵件、SMS (Short Messaging Service,短消息服務(wù))等。存儲器920可用于存儲軟件程序以及模塊,處理器980通過運行存儲在存儲器920的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理。存儲器920可主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲數(shù)據(jù)區(qū)可存儲根據(jù)終端設(shè)備900的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲器920可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。相應(yīng)地,存儲器920還可以包括存儲器控制器,以提供處理器980和輸入單元930對存儲器920的訪問。
[0208]輸入單元930可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與用戶設(shè)置以及功能控制有關(guān)的鍵盤、鼠標(biāo)、操作桿、光學(xué)或者軌跡球信號輸入。優(yōu)選地,輸入單元930可包括觸敏表面931以及其他輸入設(shè)備932。觸敏表面931,也稱為觸摸顯示屏或者觸控板,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸敏表面931上或在觸敏表面931附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動相應(yīng)的連接裝置??蛇x的,觸敏表面931可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點坐標(biāo),再送給處理器980,并能接收處理器980發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實現(xiàn)觸敏表面931。除了觸敏表面931,輸入單元930還可以包括其他輸入設(shè)備932。優(yōu)選地,其他輸入設(shè)備932可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿等中的一種或多種。
[0209]顯示單元940可用于顯示由用戶輸入的信息或提供給用戶的信息以及終端設(shè)備900的各種圖形用戶接口,這些圖形用戶接口可以由圖形、文本、圖標(biāo)、視頻和其任意組合來構(gòu)成。顯示單元940可包括顯示面板941,可選的,可以采用IXD(Liquid Crystal Display,液晶顯示器)、OLED (Organic Light-Emitting Diode,有機發(fā)光二極管)等形式來配置顯示面板941。進一步的,觸敏表面931可覆蓋顯示面板941,當(dāng)觸敏表面931檢測到在其上或附近的觸摸操作后,傳送給處理器980以確定觸摸事件的類型,隨后處理器980根據(jù)觸摸事件的類型在顯示面板941上提供相應(yīng)的視覺輸出。雖然在圖9中,觸敏表面931與顯示面板941是作為兩個獨立的部件來實現(xiàn)輸入和輸入功能,但是在某些實施例中,可以將觸敏表面931與顯示面板941集成而實現(xiàn)輸入和輸出功能。
[0210]終端設(shè)備900還可包括至少一種傳感器950,比如光傳感器、運動傳感器以及其他傳感器。優(yōu)選地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來調(diào)節(jié)顯示面板941的亮度,接近傳感器可在終端設(shè)備900移動到耳邊時,關(guān)閉顯示面板941和/或背光。作為運動傳感器的一種,重力加速度傳感器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向,可用于識別手機姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計姿態(tài)校準(zhǔn))、振動識別相關(guān)功能(比如計步器、敲擊)等;至于終端設(shè)備900還可配置的陀螺儀、氣壓計、濕度計、溫度計、紅外線傳感器等其他傳感器,在此不再贅述。
[0211]音頻電路960、揚聲器961,傳聲器962可提供用戶與終端設(shè)備900之間的音頻接口。音頻電路960可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號,傳輸?shù)綋P聲器961,由揚聲器961轉(zhuǎn)換為聲音信號輸出;另一方面,傳聲器962將收集的聲音信號轉(zhuǎn)換為電信號,由音頻電路960接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器980處理后,經(jīng)RF電路910以發(fā)送給比如另一終端設(shè)備,或者將音頻數(shù)據(jù)輸出至存儲器920以便進一步處理。音頻電路960還可能包括耳塞插孔,以提供外設(shè)耳機與終端設(shè)備900的通信。
[0212]為了實現(xiàn)無線通信,該終端設(shè)備上可以配置有無線通信單元970,該無線通信單元970可以為WiFi模塊。WiFi屬于短距離無線傳輸技術(shù),終端設(shè)備900通過無線通信單元970可以幫助用戶收發(fā)電子郵件、瀏覽網(wǎng)頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯(lián)網(wǎng)訪問。雖然圖9示出了無線通信單元970,但是可以理解的是,其并不屬于終端設(shè)備900的必須構(gòu)成,完全可以根據(jù)需要在不改變發(fā)明的本質(zhì)的范圍內(nèi)而省略。
[0213]處理器980是終端設(shè)備900的控制中心,利用各種接口和線路連接整個手機的各個部分,通過運行或執(zhí)行存儲在存儲器920內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲在存儲器920內(nèi)的數(shù)據(jù),執(zhí)行終端設(shè)備900的各種功能和處理數(shù)據(jù),從而對手機進行整體監(jiān)控。可選的,處理器980可包括一個或多個處理核心;優(yōu)選的,處理器980可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無線通信??梢岳斫獾氖?,上述調(diào)制解調(diào)處理器也可以不集成到處理器980中。
[0214]終端設(shè)備900還包括給各個部件供電的電源990 (比如電池),優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器980邏輯相連,從而通過電源管理系統(tǒng)實現(xiàn)管理充電、放電、以及功耗管理等功能。電源990還可以包括一個或一個以上的直流或交流電源、再充電系統(tǒng)、電源故障檢測電路、電源轉(zhuǎn)換器或者逆變器、電源狀態(tài)指示器等任意組件。
[0215]盡管未示出,終端設(shè)備900還可以包括攝像頭、藍牙模塊等,在此不再贅述。
[0216]具體在本實施例中,終端設(shè)備的顯示單元是觸摸屏顯示器,終端設(shè)備還包括有存儲器,以及一個或者一個以上的程序,其中一個或者一個以上程序存儲于存儲器中,且經(jīng)配置以由一個或者一個以上處理器執(zhí)行一個或者一個以上程序包含用于進行以下操作的指令:
[0217]從web頁面上提取視頻標(biāo)簽;[0218]對視頻標(biāo)簽的類型進行識別;
[0219]根據(jù)視頻標(biāo)簽的類型提取視頻URL。
[0220]優(yōu)選地,還包含用于進行以下操作的指令:
[0221 ]掃描web頁面的DOM樹,找到所有文字節(jié)點;
[0222]從所有文字節(jié)點中提取包括有預(yù)設(shè)特征文字的文字節(jié)點;
[0223]將包括有預(yù)設(shè)特征文字的文字節(jié)點的父節(jié)點作為視頻標(biāo)簽。
[0224]優(yōu)選地,還包含用于進行以下操作的指令:
[0225]從web頁面提取視頻標(biāo)題;
[0226]分析視頻標(biāo)簽是否包含前導(dǎo)符,前導(dǎo)符為視頻標(biāo)簽中除預(yù)設(shè)特征文字外的文字;
[0227]當(dāng)視頻標(biāo)簽包含前導(dǎo)符,分析前導(dǎo)符中是否包含有提取到的視頻標(biāo)題;
[0228]當(dāng)視頻標(biāo)簽中的前導(dǎo)符不包含有提取到的視頻標(biāo)題時,判定視頻標(biāo)簽無效,不作處理。
[0229]優(yōu)選地,還包含用于進行以下操作的指令:
[0230]檢測視頻標(biāo)簽是否為超鏈接或視頻標(biāo)簽是否包含onclick事件;
[0231]當(dāng)視頻標(biāo)簽不是超鏈接且不包含onclick事件時,判定視頻標(biāo)簽無效,不作處理。
[0232]優(yōu)選地,還包含用于進行以下操作的指令:
[0233]解析web網(wǎng)頁,判斷web網(wǎng)頁是否包含video標(biāo)簽;
[0234]當(dāng)web網(wǎng)頁包含video標(biāo)簽,從web頁面上提取視頻標(biāo)簽。
[0235]優(yōu)選地,還包含用于進行以下操作的指令:
[0236]通過視頻標(biāo)簽提取第一 URL ;
[0237]通過第一 URL進行網(wǎng)絡(luò)訪問,獲取包括MME Type的協(xié)議頭;
[0238]當(dāng)MME Type為視頻類型時,判定第一 URL為視頻URL ;當(dāng)MME Type為HTML頁面類型時,判定第一 URL為HTML頁面URL ;
[0239]當(dāng)?shù)谝?URL為視頻URL時,則獲取視頻URL ;當(dāng)?shù)谝?URL為HTML頁面URL時,根據(jù)HTML頁面URL獲取視頻URL。
[0240]優(yōu)選地,還包含用于進行以下操作的指令:
[0241 ]根據(jù)HTML頁面URL獲取HTML頁面數(shù)據(jù);
[0242]從HTML頁面數(shù)據(jù)中查找第二 URL ;
[0243]通過第二 URL進行網(wǎng)絡(luò)訪問,獲取包括MME Type的協(xié)議頭;
[0244]當(dāng)MME Type為視頻類型時,判定第二 URL為視頻URL,并獲取視頻URL ;
[0245]當(dāng)MME Type為HTML頁面類型時,判定第二 URL為HTML頁面URL,則重復(fù)根據(jù)HTML頁面URL獲取HTML頁面數(shù)據(jù)的步驟,直到從HTML頁面中獲取到視頻URL。
[0246]優(yōu)選地,還包含用于進行以下操作的指令:通過第二 URL進行網(wǎng)絡(luò)訪問,還獲取預(yù)設(shè)字節(jié)個數(shù)的數(shù)據(jù);
[0247]當(dāng)MIME Type為視頻類型時,根據(jù)取預(yù)設(shè)字節(jié)個數(shù)的數(shù)據(jù)獲得視頻的基本信息;
[0248]當(dāng)MME Type為HTML頁面類型時,根據(jù)HTML頁面URL獲取預(yù)設(shè)字節(jié)個數(shù)的數(shù)據(jù)之外的其他HTML頁面數(shù)據(jù)。
[0249]視頻標(biāo)簽的類型包括:
[0250]第一類型,視頻標(biāo)簽為指向視頻的超鏈接;[0251]第二類型,視頻標(biāo)簽包含onclick事件的元素,點擊后頁面跳轉(zhuǎn)到視頻;
[0252]第三類型,視頻標(biāo)簽包含onclick事件的元素,視頻標(biāo)簽所在頁面包含視頻,點擊后在頁面上播放視頻;
[0253]第四類型,視頻標(biāo)簽為指向包含視頻的超文本標(biāo)記語言HTML頁面的超鏈接;
[0254]第五類型,視頻標(biāo)簽包含onclick事件的元素,點擊后頁面跳轉(zhuǎn)到包含視頻的HTML頁面。
[0255]優(yōu)選地,還包含用于進行以下操作的指令:
[0256]判斷視頻標(biāo)簽是否屬于第一至第五類型;
[0257]當(dāng)視頻標(biāo)簽不屬于第一至第五類型時,判定視頻標(biāo)簽無效,不作處理。
[0258]優(yōu)選地,還包含用于進行以下操作的指令:
[0259]當(dāng)視頻標(biāo)簽的類型為第一類型或第四類型時,從超鏈接的超文本引用href屬性中提取第一 URL ;
[0260]當(dāng)視頻標(biāo)簽的類型為第二類型、第三類型或第五類型時,通過調(diào)用onclick事件提取第一 URL。
[0261]優(yōu)選地,還包含用于進行以下操作的指令:
[0262]根據(jù)視頻URL進行視頻下載。
[0263]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
[0264]本發(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)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0265]這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0266]這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0267]顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
【權(quán)利要求】
1.一種視頻URL抓取方法,其特征在于,該方法包括: 從web頁面上提取視頻標(biāo)簽; 對所述視頻標(biāo)簽的類型進行識別; 根據(jù)所述視頻標(biāo)簽的類型提取視頻URL。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,從web頁面上提取視頻標(biāo)簽包括: 掃描web頁面的DOM樹,找到所有文字節(jié)點; 從所有文字節(jié)點中提取包括有預(yù)設(shè)特征文字的文字節(jié)點; 將包括有預(yù)設(shè)特征文字的文字節(jié)點的父節(jié)點作為所述視頻標(biāo)簽。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,從web頁面上提取視頻標(biāo)簽之后還包括: 從所述web頁面提取視頻標(biāo)題; 分析所述視頻標(biāo)簽是否包含前導(dǎo)符,所述前導(dǎo)符為所述視頻標(biāo)簽中除所述預(yù)設(shè)特征文字外的文字; 當(dāng)所述視頻標(biāo)簽包含前導(dǎo)符,分析所述前導(dǎo)符中是否包含有提取到的所述視頻標(biāo)題;當(dāng)所述視頻標(biāo)簽中的前導(dǎo)符不包含有提取到的所述視頻標(biāo)題時,判定所述視頻標(biāo)簽無效,不作處理。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,從web頁面上提取視頻標(biāo)簽之后還包括: 檢測所述視頻標(biāo)簽是否為超鏈接或所述視頻標(biāo)簽是否包含onclick事件;` 當(dāng)所述視頻標(biāo)簽不是超鏈接且不包含onclick事件時,判定所述視頻標(biāo)簽無效,不作處理。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,從web頁面上提取視頻標(biāo)簽之前還包括: 解析所述web網(wǎng)頁,判斷所述web網(wǎng)頁是否包含video標(biāo)簽; 當(dāng)所述web網(wǎng)頁包含video標(biāo)簽,從web頁面上提取視頻標(biāo)簽。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所述視頻標(biāo)簽的類型提取視頻URL包括: 通過所述視頻標(biāo)簽提取第一 URL ; 通過所述第一 URL進行網(wǎng)絡(luò)訪問,獲取包括MME Type的協(xié)議頭; 當(dāng)所述MME Type為視頻類型時,判定所述第一 URL為視頻URL ;當(dāng)所述MME Type為HTML頁面類型時,判定所述第一 URL為HTML頁面URL ; 當(dāng)所述第一 URL為視頻URL時,則獲取所述視頻URL ; 當(dāng)所述第一 URL為HTML頁面URL時,根據(jù)所述HTML頁面URL獲取視頻URL。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,根據(jù)所述HTML頁面URL獲取視頻URL包括: 根據(jù)所述HTML頁面URL獲取HTML頁面數(shù)據(jù); 從所述HTML頁面數(shù)據(jù)中查找第二 URL ; 通過所述第二 URL進行網(wǎng)絡(luò)訪問,獲取包括MME Type的協(xié)議頭; 當(dāng)所述MME Type為視頻類型時,判定所述第二 URL為視頻URL,并獲取所述視頻URL ;當(dāng)所述MME Type為HTML頁面類型時,判定所述第二 URL為HTML頁面URL,則重復(fù)根據(jù)所述HTML頁面URL獲取HTML頁面數(shù)據(jù)的步驟,直到從HTML頁面中獲取到視頻URL。
8.根據(jù)權(quán)利要求6或7所述的方法,其特征在于,該方法還包括:在進行網(wǎng)絡(luò)訪問時,還獲取預(yù)設(shè)字節(jié)個數(shù)的數(shù)據(jù); 當(dāng)所述MIME Type為視頻類型時,根據(jù)所述預(yù)設(shè)字節(jié)個數(shù)的數(shù)據(jù)獲得所述視頻的基本信息; 當(dāng)所述MME Type為HTML頁面類型時,根據(jù)所述HTML頁面URL獲取所述預(yù)設(shè)字節(jié)個數(shù)的數(shù)據(jù)之外的其他HTML頁面數(shù)據(jù)。
9.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述視頻標(biāo)簽的類型包括: 弟一類型,所述視頻標(biāo)簽為指向視頻的超鏈接; 第二類型,所述視頻標(biāo)簽包含onclick事件的元素,點擊后頁面跳轉(zhuǎn)到視頻; 第三類型,所述視頻標(biāo)簽包含onclick事件的元素,所述視頻標(biāo)簽所在頁面包含視頻,點擊后在所述頁面上播放視頻; 第四類型,所述視頻標(biāo)簽為指向包含視頻的HTML頁面的超鏈接; 第五類型,所述視頻標(biāo)簽包含onclick事件的元素,點擊后頁面跳轉(zhuǎn)到包含視頻的HTML頁面。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,根據(jù)所述視頻標(biāo)簽的類型提取視頻URL之前還包括: 判斷所述視頻標(biāo)簽是否屬于所述第一至第五類型; 當(dāng)所述視頻標(biāo)簽不屬于所述第`一至第五類型時,判定所述視頻標(biāo)簽無效,不作處理。
11.根據(jù)權(quán)利要求9所述的方法,其特征在于,從所述視頻標(biāo)簽中提取第一URL包括: 當(dāng)所述視頻標(biāo)簽的類型為所述第一類型或第四類型時,從所述超鏈接的href屬性中提取所述第一 URL ; 當(dāng)所述視頻標(biāo)簽的類型為所述第二類型、第三類型或第五類型時,通過調(diào)用onclick事件提取所述第一 URL。
12.根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法還包括: 根據(jù)所述視頻URL進行視頻下載。
13.—種視頻URL抓取裝置,其特征在于,該裝置包括: 標(biāo)簽提取模塊,用于從web頁面上提取視頻標(biāo)簽; 識別模塊,用于對所述視頻標(biāo)簽的類型進行識別; URL提取模塊,用于根據(jù)所述視頻標(biāo)簽的類型提取視頻URL。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述標(biāo)簽提取模塊,用于掃描web頁面的DOM樹,找到所有文字節(jié)點;從所有文字節(jié)點中提取包括有預(yù)設(shè)特征文字的文字節(jié)點;將包括有預(yù)設(shè)特征文字的文字節(jié)點的父節(jié)點作為所述視頻標(biāo)簽。
15.根據(jù)權(quán)利要求14所述的裝置,其特征在于,該裝置還包括:標(biāo)題提取??臁⒌谝环治瞿K和第二分析模塊, 所述標(biāo)題提取模塊,用于從所述web頁面提取視頻標(biāo)題; 所述第一分析模塊,用于分析所述視頻標(biāo)簽是否包含前導(dǎo)符,所述前導(dǎo)符為所述視頻標(biāo)簽中除所述預(yù)設(shè)特征文字外的文字; 所述第二分析模塊,用于當(dāng)所述視頻標(biāo)簽包含前導(dǎo)符,分析所述前導(dǎo)符中是否包含有提取到的所述視頻標(biāo)題; 所述標(biāo)簽提取模塊,用于當(dāng)所述視頻標(biāo)簽中的前導(dǎo)符不包含有提取到的所述視頻標(biāo)題時,判定所述視頻標(biāo)簽無效,不作處理。
16.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述裝置還包括:檢測模塊, 所述檢測模塊,用于檢測所述視頻標(biāo)簽是否為超鏈接或所述視頻標(biāo)簽是否包含onclick 事件; 所述標(biāo)簽提取模塊,用于當(dāng)所述視頻標(biāo)簽不是超鏈接且不包含onclick事件時,判定所述視頻標(biāo)簽無效,不作處理。
17.根據(jù)權(quán)利要求13所述的裝置,其特征在于,該裝置還包括:解析模塊,用于解析所述web網(wǎng)頁,判斷所述web網(wǎng)頁是否包含video標(biāo)簽; 所述標(biāo)簽提取模塊,用于當(dāng)所述web網(wǎng)頁包含video標(biāo)簽,從web頁面上提取視頻標(biāo)簽。
18.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述URL提取模塊包括: 第一提取子模塊,用于通過所述視頻標(biāo)簽提取第一 URL ; 第一獲取子模塊,用于通過所述第一 URL進行網(wǎng)絡(luò)訪問,獲取包括MME Type的協(xié)議頭; 類型分析子模塊,用于當(dāng)所述MME Type為視頻類型時,判定所述第一URL為視頻URL ;當(dāng)所述MME Type為HTML頁面類型時,判定所述第一 URL為HTML頁面URL ; 第二獲取子模塊,用于當(dāng)所述第一 URL為視頻URL時,則獲取該視頻URL ;當(dāng)所述第一URL為HTML頁面URL時,根據(jù)所述HTML頁面URL獲取視頻URL。
19.根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述第二獲取子模塊,用于根據(jù)所述HTML頁面URL獲取HTML頁面數(shù)據(jù);從所述HTML頁面數(shù)據(jù)中查找第二 URL ;通過所述第二URL進行網(wǎng)絡(luò)訪問,獲取包括MME Type的協(xié)議頭;當(dāng)所述MME Type為視頻類型時,判定所述第二 URL為視頻URL,獲取該視頻URL ;當(dāng)所述MME Type為HTML頁面類型時,判定第二 URL為HTML頁面URL,則重復(fù)根據(jù)所述HTML頁面URL獲取HTML頁面數(shù)據(jù)的步驟,直到從HTML頁面中獲取到視頻URL。
20.根據(jù)權(quán)利要求18或19所述的裝置,其特征在于,所述URL提取模塊還包括第三獲取子模塊, 所述第一獲取子模塊,用于在進行網(wǎng)絡(luò)訪問時,還獲取預(yù)設(shè)字節(jié)個數(shù)的數(shù)據(jù); 所述第二獲取子模塊,用于當(dāng)所述MIME Type為HTML頁面類型時,根據(jù)所述HTML頁面URL獲取所述預(yù)設(shè)字節(jié)個數(shù)的數(shù)據(jù)之外的其他HTML頁面數(shù)據(jù); 所述第三獲取子模塊,用于當(dāng)所述MME Type為視頻類型時,根據(jù)所述取預(yù)設(shè)字節(jié)個數(shù)的數(shù)據(jù)獲得所述視頻的基本信息。
21.根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述視頻標(biāo)簽的類型包括: 弟一類型,所述視頻標(biāo)簽為指向視頻的超鏈接; 第二類型,所述視頻標(biāo)簽包含onclick事件的元素,點擊后頁面跳轉(zhuǎn)到視頻; 第三類型,所述視頻標(biāo)簽包含onclick事件的元素,所述視頻標(biāo)簽所在頁面包含視頻,點擊后在所述頁面上播放視頻; 第四類型,所述視頻標(biāo)簽為指向包含視頻的HTML頁面的超鏈接; 第五類型,所述視頻標(biāo)簽包含onclick事件的元素,點擊后頁面跳轉(zhuǎn)到包含視頻的HTML頁面。
22.根據(jù)權(quán)利要求21所述的裝置,其特征在于,該裝置還包括: 判斷模塊,用于判斷所述視頻標(biāo)簽是否屬于所述第一至第五類型; 所述標(biāo)簽提取模塊,用于當(dāng)所述視頻標(biāo)簽不屬于所述第一至第五類型時,判定所述視頻標(biāo)簽無效,不作處理。
23.根據(jù)權(quán)利要求21所述的裝置,其特征在于,所述第一提取子模塊,用于當(dāng)所述視頻標(biāo)簽的類型為所述第一類型或第四類型時,從所述超鏈接的超文本引用href屬性中提取所述第一 URL ;當(dāng)所述視頻標(biāo)簽的類型為所述第二類型、第三類型或第五類型時,通過調(diào)用onclick事件提取所述第一 URL。
24.根據(jù)權(quán)利要求13所述的裝置,其特征在于,該裝置還包括:下載模塊,用于根據(jù)所述視頻URL進行視頻下載。
25.—種終端設(shè)備,其特征在于,終端設(shè)備包括有存儲器,以及一個或者一個以上的程序,其中一個或者一個以上程序存儲于存儲器中,且經(jīng)配置以由一個或者一個以上處理器執(zhí)行所述一個或者一個以上程序包含用于進行以下操作的指令: 從web頁面上提取視頻標(biāo)簽; 對所述視頻標(biāo)簽的類型進行識別; 根據(jù)所述視頻標(biāo)簽的類型提取視頻URL。
【文檔編號】G06F17/30GK103455602SQ201310395725
【公開日】2013年12月18日 申請日期:2013年9月3日 優(yōu)先權(quán)日:2013年9月3日
【發(fā)明者】徐琰, 張少偉, 左景龍 申請人:小米科技有限責(zé)任公司