最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题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关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)_javascript技巧

来源:动视网 责编:小采 时间:2020-11-27 20:55:52
文档

AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)_javascript技巧

AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)_javascript技巧:个人觉得不甚满意,因为VB.NET在.NET环境下执行采集,产生的网络连接与正则匹配消耗太大,而我最终的应用是在视频采集提交上,所以就考虑用JS的AJAX+正则表达式来完成这个目标。 以前一直没有系统地学习JS和正则,所以花费的时间比预想的要长,折腾了一个晚上
推荐度:
导读AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)_javascript技巧:个人觉得不甚满意,因为VB.NET在.NET环境下执行采集,产生的网络连接与正则匹配消耗太大,而我最终的应用是在视频采集提交上,所以就考虑用JS的AJAX+正则表达式来完成这个目标。 以前一直没有系统地学习JS和正则,所以花费的时间比预想的要长,折腾了一个晚上


个人觉得不甚满意,因为VB.NET在.NET环境下执行采集,产生的网络连接与正则匹配消耗太大,而我最终的应用是在视频采集提交上,所以就考虑用JS的AJAX+正则表达式来完成这个目标。
以前一直没有系统地学习JS和正则,所以花费的时间比预想的要长,折腾了一个晚上,糊弄出了下面的代码。=..=
代码如下:
夜闻香原创,转载请保留此信息,万分感谢!
博客: http://clso.cnblogs.com
主页: http://cleclso.cn
QQ:315514678 E-mail:clso#qq.com
欢迎技术交流!
-->



JavaScipt AJAX & 正则表达式 test

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>/)[2]; <BR>wrt(nowid + ":" + vtitle + "=" + vid); <BR>if(previd == vid) return; <BR>previd = vid; <BR>nowid += 1; <BR>// 开始新循环 <BR>if(iscancel) return; <BR>tstart(); <BR>} else { <BR>//alert("回调失败!"); <BR>return;//"error: " + objRequest.statusText; <BR>} <BR>} <BR>function getweb(u){ <BR>objRequest = new XMLHttpRequest(); //new ActiveXObject("Msxml2.XMLHTTP"); //IE5&6初始化XMLHTTP对象 <BR>objRequest.onreadystatechange = retweb; //异步回调方法 <BR>objRequest.open("GET",u,true); <BR>objRequest.send(null); <BR>} <BR>function tstart(){ <BR>if(listid==""){ <BR>listid=getlid(); <BR>} <BR>url = "http://v.youku.com/v_playlist/f" + listid + "o1p" + nowid + ".html"; <BR>getweb(url); <BR>} <p></ script> <BR></head> <BR><body> <BR><input type="text" id="weburl" value="http://www.youku.com/playlist_show/id_23507.html" style="width:0" /><br /> <BR><textarea id="subret" readonly="readonly" style="width:0; height:360;">#star</textarea> <BR><br/> <BR><input type=button value="开始提取专辑" onclick="if(iscancel)iscancel=false;tstart();" /> <BR><input type=button value="清除文本" onclick="subret.value='';nowid =0;preid='';listid='';" /> <BR><input type=button value="暂停" onclick="iscancel=true;" /> <BR></body> <BR></html> <BR> <BR>思路基本跟上次的一样,所以就不多赘述了。 <BR>用VB.NET一个页面的采集时间一般在1秒钟左右,而这个代码依靠客户端脚本,每个页面采集在0.3~0.5秒左右,依据用户的电脑配置而不同。 <BR>个人用IE7测试通过,但代码比较随意,所以兼容性不是很好。如果你需要使用,请自行修改代码。 <BR>夜闻香原创,转载请保留此信息 <BR>博客: http://clso.cnblogs.com/ <BR>主页: http://www.cleclso.cn/ </p><p><script type="text/javascript" src="https://jss.51dongshi.net/pcwz/dysph.js"></script></div> <div class="downbox clearfix"> <div class="ico"><img src="https://js.51dongshi.net/tpl/pc2/images/document.png" alt="文档"></div> <div class="txt"> <h4>AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)_javascript技巧</h4> <div class="co">AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)_javascript技巧:个人觉得不甚满意,因为VB.NET在.NET环境下执行采集,产生的网络连接与正则匹配消耗太大,而我最终的应用是在视频采集提交上,所以就考虑用JS的AJAX+正则表达式来完成这个目标。 以前一直没有系统地学习JS和正则,所以花费的时间比预想的要长,折腾了一个晚上</div> <div class="tj"><b>推荐度:</b><div class="tj_stars_list"><i class="tj_stars tj_05"></i></div></div> </div> <div class="btn"> <a href="javascript:;" class="html2word" data-model="article" data-id="absghv" title="文档下载"> <b>点击下载本文</b> <span>文档为doc格式</span> </a> </div> </div> <script>keji_detail_ga('article_content_bottom');</script> <div class="tvideo_tag"> 标签: <a href="/tlist-150/">视频</a> <a href="/tlist-10211/">优酷</a> <a href="/tlist-10212/">优酷视频</a> </div> <div class="tvideo_box tvideo_box_tab"> <div class="hd"> <ul><li class="on">热门焦点</li><script>keji_detail_ga('hot_jiaodian_tab_title');</script></ul> </div> <div class="bd"> <ul class="ult_jpic clearfix"> <script>get_hot_jiaodian_content('wz_hot_jiaodian',33,'hot',1);</script> </ul> </div> </div> </div> <!--中间文章 end--> <!--右侧专题 star--> <div class="ult_zt"> <script>keji_detail_ga('article_right_top');</script> <div class="ult_ztbox"> <h4>最新推荐</h4> <ul class="tvideo_r_a clearfix"> <script>get_detail_right('wz_right_new',33,'')</script> </ul> </div> <script>keji_detail_ga('article_right_middle');</script> <div class="ult_ztbox"> <h4>猜你喜欢</h4> <ul class="telist_rb clearfix"> <script>get_detail_right('wz_right_love',33,'')</script> </ul> </div> <script>keji_detail_ga('article_right_new_bottom');</script> <div class="ult_ztbox"> <h4>热门推荐</h4> <ul class="tvideo_r_b clearfix"> <script>get_detail_right('wz_right_hot',33,'')</script> </ul> </div> <script>keji_detail_ga('article_right_bottom');</script> </div> <!--右侧专题 end--> <div style="display:none"><a href="https://www.51dongshi.net/wzztf/ab/absghv/">专题</a> </div> </div> </div> <script src="https://js.51dongshi.net/plug/qrcode/qrcode.min.js"></script> <script src="https://js.51dongshi.net/js/share.js" charset="UTF-8"></script> <script type="text/javascript" src="https://js.51dongshi.net/tpl/pc2/js/waypoints.min.js"></script> <script type="text/javascript" src="https://js.51dongshi.net/tpl/pc2/js/icon_step.js"></script> <style> #qrcode{padding: 15px;background: #fff;} </style> <div id="qrcode" style="display: none"></div> <script>new QRCode(document.getElementById("qrcode"), "https://m.51dongshi.net/eedfabsghv.html");</script> <iframe src="https://hits.51dongshi.net/?biao=ho_article&id=963457" border="0" frameborder="0" style="width: 0px; height: 0px"></iframe> <script src="https://js.51dongshi.net/js/shHighlighter.js"></script> <link rel="stylesheet" href="https://jss.51dongshi.net/js/fffz/css/box.css"> <script id="fffz" data-domain="//www.51dongshi.net/index" src="https://js.51dongshi.net/js/fffz/fffz.js"></script> <script type="text/javascript" src="https://jss.51dongshi.net/pcwz/tj.js"></script> <div style="display:none"><script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?4b1ebb0298b66c8a109db070c4878833"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </div> <!--foot star--> <div class="footer"> <div class="m_box"> <div class="footer_in"> <a href="#" target="_blank">产品服务</a> <a href="#" target="_blank">发展历程</a> <a href="#" target="_blank">企业资讯</a> <a href="#" target="_blank">企业文化</a> <a href="#" target="_blank">关于我们</a> <a href="#" target="_blank">加入我们</a> <a href="#" target="_blank">联系我们</a> <a href="#" target="_blank">网站导航</a> <a href="#" target="_blank">网站律师</a> </div> <ul class="ftrlist"> <li> <a rel="nofollow" href="https://www.itrust.org.cn" target="_blank"> <img src="https://js.51dongshi.net/tpl/pc2/images/footer_logo01.gif" alt="中国互联网协会"></a> </li> <li> <a rel="nofollow" href="https://www.12377.cn/" target="_blank"> <img src="https://js.51dongshi.net/tpl/pc2/images/12377logo.png" alt="中国互联网举报中心"></a> </li> <li> <a rel="nofollow" href="http://www.cyberpolice.cn/" target="_blank"> <img src="https://js.51dongshi.net/tpl/pc2/images/footer_logo05.gif" alt="网络110报警服务"></a> </li> <li> <a rel="nofollow" href="http://www.creditchina.gov.cn/" target="_blank"> <img src="https://js.51dongshi.net/tpl/pc2/images/creditchina.gif" alt="信用中国"></a> </li> <li class="last"> <a rel="nofollow" href="http://www.shdf.gov.cn/shdf/channels/740.html" target="_blank"> <img src="https://js.51dongshi.net/tpl/pc2/images/footer_logo11.png" alt="中国扫黄打非网"><p>中国扫黄打非网</p> </a> </li> </ul> <div class="footer_co"> <a href="/" class="footlogo"><img src="https://js.51dongshi.net/tpl/pc2/images/logo.png" alt="动视"></a> <p>Copyright © 2019-2025 <a href="/" target="_blank">51dongshi.net</a> 版权所有</p> <p> <a rel="nofollow" target="_blank" href="https://beian.miit.gov.cn/">赣ICP备2023002352号-34</a> </p> <p>违法及侵权请联系:TEL:177 7030 7066 E-MAIL:11247931@qq.com 本站由北京市万商天勤律师事务所王兴未律师提供法律服务</p> </div> </div> </div> <!--foot end--> <a href="#0" class="cd-top">Top</a> <script type="text/javascript"> $(function(){ var _line=parseInt($(window).height()/3); $(window).scroll(function(){ if ($(window).scrollTop()>100) { $('.edu_top').css({'position':'fixed','top':'0','z-index':'99'}) }else{ $('.edu_top').css({'position':'relative','top':'0'}) } }) }) </script> <script type="text/javascript" src="https://jss.51dongshi.net/ga/all.js"></script> </body> </html>