用node.js爬一下优酷
来源:互联网 发布:电商发展数据统计 编辑:程序博客网 时间:2024/06/05 04:34
初学node,爬一下优酷的视频,写的比较粗糙
var http = require('http');var cheerio = require("cheerio");var url = "http://www.youku.com/";var all = [];http.get(url,function(res){ var html = ""; res.on("data" , function (chunk) { html +=chunk; }); res.on("end" , function(){ fenxi(html); all.forEach(function(e){ console.log(" 【 "+e.title+" "+e.link+" 】"+"\n"); }); console.log(all.length); }).on("error",function(){ console.log("获取错误"); });});//利用 cheerio 分析HTML文件。下面边看文档变写。。。毕竟菜function fenxi(html){//首先你需要加载HTML。这一步对jQuery来说是必须的,since jQuery operates on the one, baked-in DOM。通过Cheerio,我们需要把HTML document 传进去。 var $ = cheerio.load(html);//分析源码发现每一块视频包在class为yk-row的div里 var $bigs = $(".yk-row"); //console.log($bigs.length);//遍历每一个大块,得到小子块 $bigs.each(function(i){ var $big= $(this); //开始寻找大块里的中块 var $middles = $big.children(); //console.log("middle: "+$middles.length); //遍历每一个中块,在中块里找到每一个视频的a元素 }) $middles.each(function (j) { var $middle = $(this); var $views = $middle.children(); //console.log($views.length); $views.each(function (k) { var $view = $(this); var title = $view.find("a").attr("title"); var href = $view.find("a").attr("href"); var each ={ title : title, link : href }; all.push(each); }) })}轮播图部分的还爬不出来。。。
阅读全文
1 0
- 用node.js爬一下优酷
- 用 Node.js
- 为什么要用node.js
- 用 Node.js 實現一個 Singleton
- 用 Node JS 看糗百段子
- 为什么要用 Node.js
- 为什么要用 Node.js
- 为什么要用 Node.js
- 为什么要用 Node.js
- 用Node.js发送邮件
- 为什么要用 Node.js
- 为什么要用 Node.js
- 为什么要用 Node.js?
- 为什么要用 Node.js
- 为什么要用 Node.js
- 用Node.js发送邮件
- 用node.js搭建服务器
- 为什么要用Node.js?
- JS constructor探讨(一):为什么要设置prototype.constructor?
- GridView的简单使用
- linux 文本处理命令
- tp5文档自动生类
- UML-类图
- 用node.js爬一下优酷
- 并查集_感染者
- mt6735电池电量计算
- 【python】python的中文编码问题
- dtd定义属性
- 树梅派samba的共享文件的搭建及问题解决
- 线性表的顺序表示和实现
- (196)材质操作指南
- JAVA变量