您好,登錄后才能下訂單哦!
這篇文章主要介紹了js+AJAX異步如何從優酷專輯中采集所有視頻及信息,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
代碼
<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" id="weburl" value="http://www.youku.com/playlist_show/id_2350764.html" /><br />
<textarea id="subret" readonly="readonly" >#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秒左右,依據用戶的電腦配置而不同。
個人用IE7測試通過,但代碼比較隨意,所以兼容性不是很好。如果你需要使用,請自行修改代碼。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“js+AJAX異步如何從優酷專輯中采集所有視頻及信息”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。