码迷,mamicode.com
首页 > 其他好文 > 详细

cheerio数据抓取

时间:2014-06-05 19:16:34      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:c   style   class   blog   code   java   

    很多语言都能写个爬虫抓取数据,js自然也可以,使用cheerio可以支持css检索,较快捷的获取需要的数据。首先,先把node.js给安装了。可到官网下载。安装好node.js后,使用npm安装cheerio。

    我这里使用的是win7,可以在 node.js command prompt 里输入

bubuko.com,布布扣
1 npm install cheerio
bubuko.com,布布扣

要注意的是,到项目所在的目录下执行。

     接着就可以开发了,使用node.js http模块并引入cheerio模块,使用get方式获取待抓取的网页内容,具体的解析可以参考https://github.com/cheeriojs/cheerio;

bubuko.com,布布扣
 1 var url = "http://www.baidu.com/s?rtt=2&tn=baiduwb&rn=20&cl=2&wd=%BA%A3%D4%F4%CD%F5"
 2 var http = require("http");
 3 // Utility function that downloads a URL and invokes
 4 // callback with the data.
 5 function download(url, callback) {
 6     http.get(url, function(res) {
 7         var data = "";
 8         res.on(‘data‘, function(chunk) {
 9             data += chunk;
10         });
11         res.on("end", function() {
12             callback(data);
13         });
14     }).on("error", function() {
15         callback(null);
16     });
17 }
18 var cheerio = require("cheerio");
19 download(url, function(data) {
20     if (data) {
21         var $ = cheerio.load(data);
22         //id为weibo里的所有li,每个li里的段落p的内容 
23         $(‘#weibo‘).find(‘li‘).each(function(i, elem) {
24             console.log($(this).find(‘p‘).text());
25             console.log(" ");
26         })
27     }
28     else
29         console.log("error");
30 });
bubuko.com,布布扣

保存为print.js,运行命令执行print.js

bubuko.com,布布扣
1 node print.js
bubuko.com,布布扣

数据获取成功:

bubuko.com,布布扣

cheerio数据抓取,布布扣,bubuko.com

cheerio数据抓取

标签:c   style   class   blog   code   java   

原文地址:http://www.cnblogs.com/dluf/p/3768485.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!