node.js 开发简易的小爬虫
最近公司开发一款医药类的软件,所以需要一些药品的基础数据,所以本人就用node.js写一个简易的小爬虫,并写记录这个Demo以供大家参考。
一、开发前的准备:
1,开发前肯定是需要安装node.js的,这个我就不多罗嗦了,网上有的是教程。
下载地址:https://nodejs.org/en/download/。
一直下一步的傻瓜式安装就可以了
在cmd中检查Node.js版本,npm的版本
2.开发前必要的资源安装:
npm install cheerio(用来解析获取的页面)
二、话不多说,代码供上
举例获取连接http://yp.120ask.com/detail/13369.html页面中的药品基础数据:
var http = require('http');
var cheerio = require('cheerio');
var fs = require('fs');
var url = 'http://yp.120ask.com/detail/13369.html'
//解析获取的页面用cheerio进行解析
function filterDrugDecri(html){
var $ = cheerio.load(html);
var drugDecri=$('.drugDecri').text()
return drugDecri;
}
//输出内容到drugDecri.text文件
function printDrugDecriInfo(drugDecri){
fs.appendFile("drugDecri"+ '.txt', drugDecri, 'utf-8', function (err) {
if (err) {
console.log(err);
}
});
}
//请求连接获取数据
http.get(url,function(res){
var html='';
res.on('data',function(data){
html +=data
}) res.on('end', function() {
var drugDecri = filterDrugDecri(html)
printDrugDecriInfo(drugDecri)
console.log("数据加载完毕")
});
}).on('error', function() {
console.log("获取数据出错!")
});
三、执行文件
文件位置为:D:java\node\cariwer.js
在cmd中进入该文件目录中执行:node cariwer
数据加载完毕。生成drugDecri.txt文件
四、转载注明出处,谢谢。