个人觉得不甚满意,因为VB.NET在.NET环境下执行采集,产生的网络连接与正则匹配消耗太大,而我最终的应用是在视频采集提交上,所以就考虑用JS的AJAX+正则表达式来完成这个目标。
以前一直没有系统地学习JS和正则,所以花费的时间比预想的要长,折腾了一个晚上,糊弄出了下面的代码。=..=
复制代码 代码如下:
<!--
夜闻香原创,转载请保留此信息,万分感谢!
博客: http://clso.cnblogs.com
主页: http://cleclso.cn
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" id="weburl" value="http://www.youku.com/playlist_show/id_2350764.html" style="width:640" /><br />
<textarea id="subret" readonly="readonly" style="width:640; height:360;">#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测试通过,但代码比较随意,所以兼容性不是很好。如果你需要使用,请自行修改代码。
夜闻香原创,转载请保留此信息
博客: http://clso.cnblogs.com/
主页: http://www.cleclso.cn/
相关推荐:
ChatGPT的梯子:突破网络壁垒,畅享智能对话的全新体验,ai的音标1001ai的音标
seo矩阵运营中心是什么,seo矩阵运营中心是什么意思啊 ,北京ai特效
SEO中的别类词:提升排名,轻松超越竞争对手,ai插画生肖
ChatGPT进不去怎么办?解决方案与技巧,轻松畅享智能对话,ai va
seo网站排名关键词优化,seo网站关键词优化怎么做 ,ai回廊
AI搜索写文章是什么意思?人工智能赋能内容创作的未来,高德地图 ai
SEO关键词的选择步骤:让你的网站在搜索引擎中脱颖而出,ai书法化
SEO运维:提升网站排名的核心战略,邢台网站建设优化建站
SEO快速提升:让你的网站排名瞬间飙升的秘诀,网站建设的发展目标
AI缩写文档:革新文档管理与自动化的未来,ai聊天中文
AI做文章:引领智能创作的未来
ChatGPT怎么找梯子:突破网络限制,轻松访问AI助手的终极指南,鬼灭之刃人物AI还原
ChatGPT页面无法翻阅?带你深度了解背后的原因与解决方案,pdf怎么转换ai文字
目前国内最好的AI人工智能软件:未来新篇章
什么是seo模型,seo模块总结 ,ai技术授课
seo要寻找什么资源,怎么找seo ,ai插画描边
AI代谢文章:从灵感到成果的创作革命
ChatGPT登录界面都不显示了?可能是这些原因导致的!,上海小学ai智能课
SEO做好,企业网站流量翻倍的关键,seo白帽技术有哪些
ChatGPT维护-智能时代的数字助手,如何让你的工作更高效,ai智能救援
SEO攻略:搜索引擎优化,快速提升网站排名,网站推广网站优化费用
SEO差价如何用SEO优化帮助企业实现成本与效益的完美平衡,盐城seo收费贵吗
360ai答题-赋能教育,开启智能学习新纪元,ai 果汁
SEO优化知识全解析:提升网站排名的秘密武器,ai出错合集
SEO提高:如何通过精准优化让网站流量翻倍,优化排名seo加盟费用
为什么网站要做seo,网站做seo的目的是什么 ,ai初选
AI撰写率:让创作变得更高效,助力内容产业腾飞,人力ai
zblog站群,zblog怎么样 ,欧卡2ai汽车如何使用
用AI写一篇文章,如何提升你的写作效率与创意
“标题制造机”:颠覆内容创作的秘密武器,助你轻松打造吸引力十足的标题,景区线上推广用哪些网站
ChatGPT服务异常:为何影响到你的工作和生活?如何有效解决?,ai怎么保持圆角不变
SEO快速优化技术:助力网站流量暴增,轻松登顶搜索引擎,铜陵ai全网通推广软件
什么是seo艺术,什么是seo seo有何价值 ,ai写作生成器 推荐
SEO快速提升SEO排名的有效策略:让你的网页飞跃搜索引擎,ai调色食物
ChatGPT与讯飞:AI语音与智能对话的完美融合,ai直角变圆角
SEO立刻:快速提升网站排名,带你走在搜索引擎前沿,网站建设怎么推广好做
ChatGPT不能打开EL?揭秘这一困扰背后的真相与解决方案,ai被动房
OpenAI账号申诉怎么办?全方位解析解决方案,ai写作免费公众号下载
seo网站需要做什么,seo都需要做什么 ,ai怎么做喷漆效果
SEO优化工具优势:提升网站排名,带来流量和转化的秘密武器,ai圆形造字
seo线索收集是什么,seo线索收集是什么意思 ,ai生活ai童童
用AI创作的文章算原创吗?深度背后的逻辑与意义
GPT哪个模型是最新的?AI语言生成的未来,ai回头
SEO词的魔力:如何通过关键词优化打破流量瓶颈,免费网站建设高端
seo软文用什么论坛,seo软文是什么意思 ,爱字幕的AI变脸不见了
seo配置是什么,seo设置是什么 ,ai图标制作教程
SEO关键词利器:如何借助精准关键词提升网站流量与排名,ai绘画客户
360AI写作怎样?助力创作的新风尚,ai到访
SEO分类:从基础到进阶,全面解析SEO优化的关键要素,新建设网站排名
SEO王:掌控搜索引擎优化的至高法则,助力企业飞速腾飞,网站动作优化在哪里下载