这里假定你已装置好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″ 这个标签
抓取内容的要领以下
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 ,能够看到以下所示
在浏览器运转http://127.0.0.1:8081/
,能够看到抓取的内容以下:
如许我们就完成了一个简朴到不能再简朴的node.js爬虫。