node.js简单爬虫

发布时间:2019-06-18 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了node.js简单爬虫脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

这里假设你已经安装好node.js和npm,如果没有安装,请参阅其他教程安装。

  • 配置
    首先是来配置package.json文件,这里使用express,request和cheerio。

package.json如下:

{
  "name": "node-scrape",
  "version": "0.0.1",
  "description": "Scrape",
  "main": "server.js",
  "dependencies": {
    "express" : "latest",
    "request" : "latest",
    "cheerio" : "latest"
  }
}
  • npm 安装
    把package.json文件放到一个你自己定义的文件夹(nodejs_scrape)下,然后在命令行下执行

cd nodejs_scrape
npm install
  • 抓取内容
    在nodejs_scrape目录下新建一个server.js文件,先定义如下变量的和方法

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

app.get('/',function (req,res) {
    //抓取内容的方法
});

app.listen('8081'); //使用8081端口

console.log('Magic happens on port 8081');

exports = module.exports = app;

下面我们就来完善get方法的内容
首先定义要抓取的url,这里以segmentfault为例

url  = 'https://segmentfault.com/news';

页面如下面所示,点击F12查看,我们就提取最简单的 class="mr10" 这个标签

node.js简单爬虫

抓取内容的方法如下

 request(url, function (err,res,html) {
        if (!err){ 
            var $ = cheerio.load(html);

            var title;

            $('.mr10').filter(function () {
                var data = $(this);

                title = data.text(); //获取标签的内容

                console.log('title is ' + title); //控制台打印
            });
        }
    });

server.js完整代码如下

/**
 * Created by Administrator on 2017/3/1.
 */
var express = require('express');
var fs = require('fs');
var request = require('request');
var cheerio = require('cheerio');
var app = express();

app.get('/',function (req,res) {

    //all scrape magic will happen here

    url  = 'https://segmentfault.com/news';

    request(url, function (err,res,html) {
        if (!err){
            var $ = cheerio.load(html);

            var title;

            $('.mr10').filter(function () {
                var data = $(this);

                title = data.text();

                console.log('title is ' + title);
                
            });
        }
    });

});

app.listen('8081');

console.log('Magic happens on port 8081');

exports = module.exports = app;
  • 运行
    在nodejs_scrape目录下运行 node server ,可以看到如下所示

node.js简单爬虫

在浏览器运行http://127.0.0.1:8081/,可以看到抓取的内容如下:

node.js简单爬虫

这样我们就完成了一个简单到不能再简单的node.js爬虫。

脚本宝典总结

以上是脚本宝典为你收集整理的node.js简单爬虫全部内容,希望文章能够帮你解决node.js简单爬虫所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: