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爬虫。

    原文作者:Mofei
    原文地址: https://segmentfault.com/a/1190000008530636
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞