国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > AJAX > 正文

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

2024-09-01 08:31:36
字體:
來源:轉載
供稿:網友
上次寫了一個 .NET從優酷專輯中采集所有視頻及信息(VB.NET代碼)


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

代碼

復制代碼 代碼如下:


<!--
夜聞香原創,轉載請保留此信息,萬分感謝!
博客:
主頁:
QQ:315514678 E-mail:clso#qq.com
歡迎技術交流!
-->

<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){
// 獲得回調
var webstr = objRequest.responseText;
vid = webstr.match(/var/s+videoId/s*=/s*"(/d+)"/s*;/)[1];
vtitle = webstr.match(/<title>(.+) - (.+) - 視頻 - 優酷視頻 - 在線觀看( - )?<//title>/)[2];
wrt(nowid + ":" + vtitle + "=" + vid);
if(previd == vid) return;
previd = vid;
nowid += 1;
// 開始新循環
if(iscancel) return;
tstart();
} else {
//alert("回調失敗!");
return;//"error: " + objRequest.statusText;
}
}
function getweb(u){
objRequest = new XMLHttpRequest(); //new ActiveXObject("Msxml2.XMLHTTP"); //IE5&6初始化XMLHTTP對象
objRequest.onreadystatechange = retweb; //異步回調方法
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" value="http://www.youku.com/playlist_show/id_2350764.html" /><br />
<textarea readonly="readonly">#star</textarea>
<br/>
<input type=button value="開始提取專輯" />
<input type=button value="清除文本" />
<input type=button value="暫停" />
</body>
</html>



思路基本跟上次的一樣,所以就不多贅述了。
用VB.NET一個頁面的采集時間一般在1秒鐘左右,而這個代碼依靠客戶端腳本,每個頁面采集在0.3~0.5秒左右,依據用戶的電腦配置而不同。
個人用IE7測試通過,但代碼比較隨意,所以兼容性不是很好。如果你需要使用,請自行修改代碼。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 习水县| 都匀市| 浦城县| 滨州市| 内丘县| 齐河县| 崇信县| 永州市| 菏泽市| 广安市| 英吉沙县| 高邮市| 涟源市| 淅川县| 崇州市| 彝良县| 日喀则市| 富平县| 苍南县| 香格里拉县| 赤水市| 平定县| 内乡县| 北辰区| 桐柏县| 北流市| 武强县| 玉龙| 德钦县| 永平县| 南江县| 上犹县| 浦东新区| 衡东县| 宁化县| 繁峙县| 永州市| 仁化县| 松原市| 龙口市| 安福县|