最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

js+AJAX異步從優(yōu)酷專輯中采集所有視頻及信息

來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 22:52:31
文檔

js+AJAX異步從優(yōu)酷專輯中采集所有視頻及信息

js+AJAX異步從優(yōu)酷專輯中采集所有視頻及信息://www.gxlcms.com/article/22031.htm個人覺得不甚滿意,因為VB.NET在.NET環(huán)境下執(zhí)行采集,產(chǎn)生的網(wǎng)絡(luò)連接與正則匹配消耗太大,而我最終的應(yīng)用是在視頻采集提交上,所以就考慮用JS的AJAX+正則表達式來完成這個目標。 以前一直沒有系統(tǒng)地學習JS和正則,所以
推薦度:
導讀js+AJAX異步從優(yōu)酷專輯中采集所有視頻及信息://www.gxlcms.com/article/22031.htm個人覺得不甚滿意,因為VB.NET在.NET環(huán)境下執(zhí)行采集,產(chǎn)生的網(wǎng)絡(luò)連接與正則匹配消耗太大,而我最終的應(yīng)用是在視頻采集提交上,所以就考慮用JS的AJAX+正則表達式來完成這個目標。 以前一直沒有系統(tǒng)地學習JS和正則,所以

//www.gxlcms.com/article/22031.htm
個人覺得不甚滿意,因為VB.NET在.NET環(huán)境下執(zhí)行采集,產(chǎn)生的網(wǎng)絡(luò)連接與正則匹配消耗太大,而我最終的應(yīng)用是在視頻采集提交上,所以就考慮用JS的AJAX+正則表達式來完成這個目標。
以前一直沒有系統(tǒng)地學習JS和正則,所以花費的時間比預想的要長,折騰了一個晚上,糊弄出了下面的代碼。=..=

代碼
代碼如下:


<!--
夜聞香原創(chuàng),轉(zhuǎn)載請保留此信息,萬分感謝!
博客: http://clso.cnblogs.com
主頁: http://cleclso.cn
QQ:315514678 E-mail:clso#qq.com
歡迎技術(shù)交流!
-->

<html>
<head>
<title>JavaScipt AJAX & 正則表達式 test</title>
<script type="text/javascript" language="javascript">
function wrt(s){
subret.value = s + "\n" + subret.value;
//subret.value += "\n" + s;
}
var objRequest; //定義一個XML請求對象
var previd = "",nowid =0,listid = "",iscancel=false; //其他變量
function getlid(){
var listid = weburl.value.match(/playlist_show\/.*(?=id_(\d+)).*\.html$/i);
if(!listid){
return null;
} else {
return listid[1];
}
}
function retweb(){
if(objRequest.readyState == 4 && objRequest.status == 200){
// 獲得回調(diào)
var webstr = objRequest.responseText;
vid = webstr.match(/var\s+videoId\s*=\s*"(\d+)"\s*;/)[1];
vtitle = webstr.match(/<title>(.+) - (.+) - 視頻 - 優(yōu)酷視頻 - 在線觀看( - )?<\/title>/)[2];
wrt(nowid + ":" + vtitle + "=" + vid);
if(previd == vid) return;
previd = vid;
nowid += 1;
// 開始新循環(huán)
if(iscancel) return;
tstart();
} else {
//alert("回調(diào)失?。?);
return;//"error: " + objRequest.statusText;
}
}
function getweb(u){
objRequest = new XMLHttpRequest(); //new ActiveXObject("Msxml2.XMLHTTP"); //IE5&6初始化XMLHTTP對象
objRequest.onreadystatechange = retweb; //異步回調(diào)方法
objRequest.open("GET",u,true);
objRequest.send(null);
}
function tstart(){
if(listid==""){
listid=getlid();
}
url = "http://v.youku.com/v_playlist/f" + listid + "o1p" + nowid + ".html";
getweb(url);
}

</script>
</head>
<body>
<input type="text" id="weburl" value="http://www.youku.com/playlist_show/id_2350764.html" style="width:640" /><br />
<textarea id="subret" readonly="readonly" style="width:640; height:360;">#star</textarea>
<br/>
<input type=button value="開始提取專輯" onclick="if(iscancel)iscancel=false;tstart();" />
<input type=button value="清除文本" onclick="subret.value='';nowid =0;preid='';listid='';" />
<input type=button value="暫停" onclick="iscancel=true;" />
</body>
</html>

思路基本跟上次的一樣,所以就不多贅述了。
用VB.NET一個頁面的采集時間一般在1秒鐘左右,而這個代碼依靠客戶端腳本,每個頁面采集在0.3~0.5秒左右,依據(jù)用戶的電腦配置而不同。
個人用IE7測試通過,但代碼比較隨意,所以兼容性不是很好。如果你需要使用,請自行修改代碼。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

js+AJAX異步從優(yōu)酷專輯中采集所有視頻及信息

js+AJAX異步從優(yōu)酷專輯中采集所有視頻及信息://www.gxlcms.com/article/22031.htm個人覺得不甚滿意,因為VB.NET在.NET環(huán)境下執(zhí)行采集,產(chǎn)生的網(wǎng)絡(luò)連接與正則匹配消耗太大,而我最終的應(yīng)用是在視頻采集提交上,所以就考慮用JS的AJAX+正則表達式來完成這個目標。 以前一直沒有系統(tǒng)地學習JS和正則,所以
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top