用node 开发简易爬虫

一、需要的模块

我们用node开发爬虫,使用express、request、cheerio这些成熟的框架和模块,快速把结构搭建起来

二、安装模块

下面我们正式开始安装模块,这里我们不介绍怎么安装express

1、用express创建spider目录

express spider

2、模块初始化

npm install

3、安装需要模块request,cheerio

npm install request --save-dev cheerio --save-dev

4、全局安装supervisor(如果已经安装supervisor 的可以跳过此步骤)

sudo npm install -g supervisor  

5、改写app.js最基本的语句即可

var express = require('express');
var app = express();
app.get('/', function (req, res) {
  res.send('hello world')
}); 
app.listen(3000); 

6、执行进程监听

supervisor start app.js

这个时候页面能正常访问了

7、我们选一个网易时尚页面去爬http://fashion.sina.com.cn/

var express = require('express');
var app = express();
var request = require('request');
var cheerio = require('cheerio');

app.get('/', function (req, res) {
    request('http://fashion.sina.com.cn/', function (error, response, body) {
        if (!error && response.statusCode == 200) {
            console.log(body)
            res.send('hello world')
        }
});
 app.listen(3000);

 

这个时候我们就能把这个网页的页面都打印出来

8、选热点新闻把内容爬下来,我们可以利用cheerio来获取节点

var express = require('express');
var app = express();
var request = require('request');
var cheerio = require('cheerio');

app.get('/', function (req, res) {
  
  request('http://fashion.sina.com.cn/', function (error, response, body) {
    if (!error && response.statusCode == 200) {
      $ = cheerio.load(body); //当前$是一个拿到前端选择器
      var arr = [];
      for(var i = 0;i<$('.blk00_c').length;i++){
        arr.push({
          img:$($('.blk00_c img')[i]).attr('src'),
          tag:$($('.blk00_c h4 a')[i]).text(),
          title:$($('.blk00_c h5 a')[i]).text(),
          content:$($('.blk00_c p')[i]).text(),
        });
      }
      res.json({
        hots:arr
      });
       // Show the HTML for the Google homepage. 
    }
  });
  
});
 app.listen(3000);

 

效果如下

以上只是一个简单的小例子

 

转载于:https://www.cnblogs.com/tongyq/p/5124406.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值