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页面中的药品基础数据:
1 var http = require('http'); 2 var cheerio = require('cheerio'); 3 var fs = require('fs'); 4 var url = 'http://yp.120ask.com/detail/13369.html' 5 //解析获取的页面用cheerio进行解析 6 function filterDrugDecri(html){ 7 var $ = cheerio.load(html); 8 var drugDecri=$('.drugDecri').text() 9 return drugDecri; 10 } 11 //输出内容到drugDecri.text文件 12 function printDrugDecriInfo(drugDecri){ 13 fs.appendFile("drugDecri"+ '.txt', drugDecri, 'utf-8', function (err) { 14 if (err) { 15 console.log(err); 16 } 17 }); 18 } 19 //请求连接获取数据 20 http.get(url,function(res){ 21 var html=''; 22 res.on('data',function(data){ 23 html +=data 24 }) 25 26 res.on('end', function() { 27 var drugDecri = filterDrugDecri(html) 28 printDrugDecriInfo(drugDecri)
console.log("数据加载完毕") 29 }); 30 }).on('error', function() { 31 console.log("获取数据出错!") 32 });
三、执行文件
文件位置为:D:java odecariwer.js
在cmd中进入该文件目录中执行:node cariwer
数据加载完毕。生成drugDecri.txt文件
四、转载注明出处,谢谢。