AJAX는 Youku 앨범(JavaScript 코드)_javascript 기술에서 모든 비디오와 정보를 비동기식으로 수집합니다.

WBOY
풀어 주다: 2016-05-16 18:15:53
원래의
1253명이 탐색했습니다.

개인적으로 VB.NET은 .NET 환경에서 수집을 수행하는데 그에 따른 네트워크 연결 및 정규 매칭이 너무 많이 소모되기 때문에 불만족스럽습니다. 그리고 최종 애플리케이션이 비디오 수집 및 제출에 있어서 JS의 AJAX 정규식 방식을 사용하는 것을 고려했습니다. 이 목표를 달성하기 위해.
JS와 정규식을 체계적으로 공부해본 적이 없어서 생각보다 시간이 오래 걸려서 밤새 고생한 끝에 다음과 같은 코드를 만들었습니다. =..=

코드 복사 코드는 다음과 같습니다.

<--
Ye Wenxiang의 원본, 재인쇄를 위해 이 정보를 보관해 주세요. 정말 감사합니다!
블로그: http://clso.cnblogs.com
홈페이지: http://cleclso.cn
QQ:315514678 E-mail:clso#qq.com
기술 교류를 환영합니다!
-->



JavaScipt AJAX 및 정규식 테스트<BR><스크립트 유형= " text/javascript" 언어="javascript"> <br>함수 wrt(s){ <br>subret.value = s "n" subret.value; <br>//subret.value = "n" s; <br>} <br>var objRequest; //XML 요청 객체 정의<br>var previd = "",nowid =0,listid = "",iscancel=false; //기타 변수<br>function getlid() { <br>var listid = weburl.value.match(/playlist_show/.*(?=id_(d )).*.html$/i) <br>if(!listid){ <br>return null; 🎜>} else { <br>return listid[1]; <br>} <br>} <br>function retweb(){ <br>if(objRequest.readyState == 4 && objRequest.status == 200) { <br>// 콜백 받기<br>var webstr = objRequest.responseText <br>vid = webstr.match(/vars videoIds*=s*"(d )"s*;/)[1]; vtitle = webstr.match(/<title>(. ) - (. ) - 비디오 - Youku 비디오 - 온라인 보기 ( - )?/)[2]
wrt(nowid ": " vtitle "=" vid);
if(previd == vid) return;
previd = vid;
nowid = 1
// 새 주기 시작
if(iscancel) return ;
tstart();
} else {
//alert("콜백 실패! ");
return;//"오류: " 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);
}



<몸>



< ; br/>
<입력 유형=버튼 값="앨범 추출 시작" onclick="if(iscancel)iscancel=false;tstart();"
<입력 유형=버튼 값 = "텍스트 지우기" 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/
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!