Node实现简单爬虫

1、新建一个项目

  • 新建一个文件夹
  • 安装依赖 cnpm i --save PACKAGE_NAME
  • 写应用逻辑

2、核心逻辑
实现爬虫需要用到三个依赖,分别是expresssuperagentcheerio
superagent是个http方面的库,可以发起get或post请求
cheerio可理解为Node.js版的jQuery,用来从网页中以css selector取数据,使用方式跟 jquery 一样的。
在这里插入图片描述

完整的代码如下

var express = require('express');
var superagent = require('superagent');
var charset = require("superagent-charset");
var cheerio = require('cheerio');

charset(superagent);

var app = express();
app.get('/', function (req, res, next) {
  // 用 superagent 去抓取 https://blog.csdn.net/ 的内容
  superagent.get('https://blog.csdn.net/')
    .end(function (err, sres) {
      // 常规的错误处理
      if (err) {
        return next(err);
      }
      // sres.text 里面存储着网页的 html 内容,将它传给 cheerio.load 之后
      // 就可以得到一个实现了 jquery 接口的变量,我们习惯性地将它命名为 `$`
      var $ = cheerio.load(sres.text);
      var items = [];
      $('.clearfix .list_con  .title h2 a').each(function (idx, element) {
        var $element = $(element);
        items.push({
          title: $element.text().trim(),
          href: $element.attr('href')
        });
      });

      res.send(items);
    });
});

app.listen(3001, function () {
    console.log('app is listenling at port 3001');
});

结果:
在这里插入图片描述

superagent教程
cheerio教程

猜你喜欢

转载自blog.csdn.net/qq_32682137/article/details/82767038
今日推荐