NodeJs+Request+Cheerio 采集数据

目的:采集网站文章。

两个依赖项:

request :https://github.com/request/request

cheerio:https://github.com/cheeriojs/cheerio

package.json文件:

{
"name":"zqz",
"version":"1.0.1",
"private":false,
"dependencies":{
"request":"*",
"cheerio":"*"
}
}

cdm中执行:npm install 进行安装依赖的2个包。

app.js文件:

/**
* 数据采集
*/
//引入需要的包
var request = require('request');
var cheerio = require('cheerio'); //定义常量
var dolphin = 'http://cn.dolphin.com/blog'; //数据请求
function dataRequest(dataUrl) {
//发送请求
request({
url : dataUrl,
method : 'GET'
},function(err, red, body) {
//请求到body
if(err){
console.log(dataUrl);
console.error('[ERROR]Collection' + err);
return;
} if(dataUrl && dataUrl === dolphin){
dataPraseDolphin(body);
}
})
} /**
* 解析html
*/
function dataPraseDolphin(body) { var $ = cheerio.load(body); var atricles = $('#content').children('.status-publish'); for(var i = 0;i < atricles.length;i++){
var article = atricles[i]; var $a = $(article).find('.post-title .entry-title a');
var $p = $(article).find('.post-content p'); var $aVal = $($a).text();
var $pVal = $($p).text(); if($p)
{
console.info('--------------'+ (i+1) +' Chapter------------------');
console.info('标题:' + $aVal);
console.info('简介:' + $pVal);
console.info('时间:' + new Date)
console.info('---------------------------------------------------');
}
}
} //开始发送请求 并 采集数据
dataRequest(dolphin);

Sublime 中 ctrl+B 执行

结果:NodeJs+Request+Cheerio 采集数据

上一篇:swiper默认第二个且居中


下一篇:FFMPEG采集摄像头数据并切片为iPhone的HTTP Stream流