ホームページ  >  記事  >  ウェブフロントエンド  >  AJAX は Youku アルバムからすべてのビデオと情報を非同期的に収集します (JavaScript コード)_JavaScript スキル

AJAX は Youku アルバムからすべてのビデオと情報を非同期的に収集します (JavaScript コード)_JavaScript スキル

WBOY
WBOYオリジナル
2016-05-16 18:15:531300ブラウズ

個人的には、VB.NET は .NET 環境で収集を実行するため、ネットワーク接続と通常のマッチングに消費量が多すぎることに不満を感じており、最終的なアプリケーションはビデオの収集と送信であるため、JS の AJAX 正規表現の使用を検討しました。この目標を達成するために。
JS や正規表現を体系的に勉強したことがなかったので、予想以上に時間がかかりました。一晩中苦労した結果、次のコードを思いつきました。 =..=

コードをコピー コードは次のとおりです:

<--
Ye Wenxiang によるオリジナルです。この情報は転載用に保管しておいてください。ありがとうございました。
ブログ: http://clso.cnblogs.com
ホームページ: http://cleclso.cn
QQ:315514678 電子メール:clso#qq.com
技術交流を歓迎します!
-->


JavaScipt AJAX と正規表現テスト 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(/vars videoIds*=s*"(d )"s*;/)[1]; vtitle = webstr.match(/(. ) - (. ) - ビデオ - Youku ビデオ - オンラインで見る ( - )?/)[2];
wrt(nowid ": " vtitle "= vid);
if(previd == vid) return;
nowid = 1;
if(iscancel) ;
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); ( null);
}
関数 tstart(){
if(listid==""){
listid=getlid();
}
url = "http:/ / v.youku.com/v_playlist/f" listid "o1p" nowid ".html";
getweb(url);
}



<本文>


< ; br/>
= "テキストをクリア" onclick="subret.value='';nowid =0;preid='';listid='';" />





考え方は基本的に前回と同じなので割愛します詳細。
VB.NET を使用したページの収集時間は通常約 1 秒ですが、このコードはクライアント スクリプトに依存しており、各ページの収集時間はユーザーのコンピューターの構成に応じて約 0.3 ~ 0.5 秒です。
個人的にIE7でテストして合格しましたが、コードがランダムなので互換性はあまり良くありません。必要な場合はご自身でコードを修正してご利用ください。
Ye Wenxiang によるオリジナル作品。転載する場合はこの情報を保管してください。
ブログ: http://clso.cnblogs.com/
ホームページ: http://www.cleclso.cn/
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。