zoukankan      html  css  js  c++  java
  • cheerio数据抓取

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

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

    1 npm install cheerio

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

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

     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 });

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

    1 node print.js

    数据获取成功:

  • 相关阅读:
    WOJ 1055
    做人做事
    实现Runnable接口和扩展Thread使用场景
    利用Perf4j 对java项目进行性能监控
    android画笔错位问题的解决
    IE常见的CSS的BUG(二)
    激动啊,终于诞生了,编译了属于俺自己的 JDK
    图像处理特征不变算子系列之Moravec算子(一)
    对象的动态建立和释放
    用TinyXml2读取XML文件的一个简单Demo
  • 原文地址:https://www.cnblogs.com/dluf/p/3768485.html
Copyright © 2011-2022 走看看