node.js实现简单的网络爬虫程序

来源:互联网 发布:git mac客户端 编辑:程序博客网 时间:2024/04/30 17:34

用node.js实现简单的网络爬虫程序
目标:抓取新浪网站带有中国关键字的链接
ps:在这之前要安装request cheerio模块
代码如下:
var request=require(‘request’);
//引入操作dom的模块
var cheerio=require(‘cheerio’);

//引入文件模块
var fs=require(‘fs’);

//定义一个匹配关键字连接的正则表达式
var pattern=/中国/;

//定义要爬的网站首页
var firstUrl=’http://www.sina.com‘;

//发起请求
request({url:firstUrl},function(err,response,body){
if(err)
{
console.log(‘读取出错’);
}
else
{
console.log(‘读取网页成功’);

 //用cheerio模块加载所读的内容 var $=cheerio.load(response.body.toString()); var arr = $('a').toArray(); var hrefs = []; var href = {}; arr.forEach(function(a){  //此处进行关键字的匹配,匹配到则返回true,否则返回false  if(pattern.test($(a).text().trim())){    href.href = $(a).attr('href');    href.text = $(a).text().trim();    hrefs.push(href);    console.log(hrefs);        //将爬取的数据写入文件         fs.appendFile('href.txt',href.text+'\n'+href.href+'\n\n','utf8',function(err)          {            if(err)            {              console.log('写入出错');            }          });    } });}

})
第一次写博客,写的不好请见谅

0 0
原创粉丝点击