nodejs 简单爬虫(一)

package.json:
{
  "name": "crawler",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www"
  },
  "dependencies": {
    "express": "~4.9.0",
    "body-parser": "~1.8.1",
    "cookie-parser": "~1.3.3",
    "morgan": "~1.3.0",
    "serve-favicon": "~2.1.3",
    "debug": "~2.0.0",
    "ejs": "~0.8.5",
    "cheerio": "~0.18.0",
    "request": "~2.51.0"
  }
}

关于cheerio

这里准备爬一下https://cnodejs.org/

要爬的东西是这样的


<a class="topic_title" href="/topic/5493e6c59b158a790e21dc5e" title="新手请教node.js不断回调会吃光内存吗?">
      新手请教node.js不断回调会吃光内存吗?
    </a>

routes/index.js

var express = require('express');
var router = express.Router();
var request = require('request');
var cheerio = require('cheerio')

/* GET home page. */
router.get('/', function(req, res) {
  //res.render('index', { title: 'Express' });
  request.get({
    url:'https://cnodejs.org/'
  }, function (err, response, body) {
    if(err) {console.log(err);}
    var $ = cheerio.load(body);
    var items = [];
    console.log(body);
    $('a.topic_title').each(function(idx, element) {
      var $element = $(element);
      items.push({
        title: $element.attr('title'),
        href: $element.attr('href')
      });
    });
    res.send(items);
  });
});

module.exports = router;
访问一下看看爬到的东西



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值