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

用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('写入出错');
            }
          });

    }
 });
}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值