nodejs爬虫系统

王朝学院·作者佚名  2016-05-22
窄屏简体版  字體: 小  |  中  |  大  |  超大  

nodejs爬虫系统

其中exPRess是服务端框架request相当于前端的Ajax请求cheerio相当于jq

开始首先我们先新建一个 crawler目录执行npm install express -g命令 和 npm install express-generator -g命令接着cd crawler进入crawler目录 执行npm install request --save-dev和 npm install cheerio --save-dev 然后在我们的目录下建立express项目 直接命令行执行expressOK 我们的项目目录变成这个样子:接下来我们首先安装下项目的依赖,执行npm install就OK那这样我们的前期工作就做好了。接着我们打开app.js我们来修改他。如下: 1 var express = require('express'); 2 var app = express(); 3 4 app.get('/', function(req, res) { 5 res.send('hello express'); 6 }); 7 8 app.listen(3000, function() { 9 console.log('listening on 3000');10 });

终端执行supervisor app.js(注:supervisor是nodejs中监控进程用的。比如我们修改了app.js 那么supervisor就会自动去重启这个文件,不需要我们手动去node app.js,用户可以通过npm install supervisor -g来安装。这个也是我们在nodejs开发中常用到的一个工具)OK。我们打开127.0.0.1:3000看到页面上输出了 hello express。 一切正常就下来我们看下request。我们去到npm 里面 request的官网https://www.npmjs.com/package/request看到关于他的使用,我们把它趴下来:修改我们的app.js 1 var express = require('express'); 2 var app = express(); 3 var request = require('request'); 4 5 app.get('/', function(req, res) { 6 request('http://www.cnblogs.com/galenyip', function (error, response, body) { 7 if (!error && response.statusCode == 200) { 8 console.log(body);// Show the HTML for the Google homepage. 9 res.send('hello express');10 }11 });12 });13 14 app.listen(3000, function() {15 console.log('listening on 3000');16 });

地址修改成我的博客地址吧。来爬爬我这个博客

OK,刷新我们的页面。等一会,会看到终端打印出了html相关信息。

接着,

我们用上 cheerio

在app.js中 我们就入 var cherrio = require('cherrio');

1 var express = require('express'); 2 var app = express(); 3 var request = require('request'); 4 var cheerio = require('cheerio'); 5 6 app.get('/', function(req, res) { 7 request('http://www.cnblogs.com/galenyip', function (error, response, body) { 8 if (!error && response.statusCode == 200) { 9 $ = cheerio.load(body); //拿到body,作为选择器10 }11 });12 });13 14 app.listen(3000, function() {15 console.log('listening on 3000');16 });

同时,我们可以看到 cheerio.load(body)就是我们拿到的页面,把它作为总的选择器。

之后的,我们就可以像操作jq一样操作这个页面了。

具体的api可以到官网:

https://www.npmjs.com/package/cheerio

它的api跟jq很像,那这个就不做介绍了

其实,我们的整个爬虫就差不多了。

剩下的就是看客们根据自己的需要,去抓取页面的dom,筛选等等等等。。。。

好了。

大体就这么多了。

有不懂的,或者纰漏的,大家可以在评论里面交流拍砖。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航