Node.js 实现一个小爬虫

2,002 阅读1分钟

分析

我们将用最简单的代码实现一个简单的小爬虫。本示例采用ES6写法。首先我们要安装第三方cheerio模块,在项目目录使用npm install cheerio --save 命令即可。在文件中我们需要引入如下模块:

模块名 作用
cheerio 类似jQuery,方便对DOM内容操作
https 针对https协议,http模块用法类似

代码实现

// 引入模块
const https = require('https');
const cheerio = require('cheerio');
// 爬取目标网站URL
let url = 'https://microzz.com';
// 使用get方法访问
https.get(url, res => {
  let html = '';
  
  // 监听data事件获取html源码
  res.on('data', data => {
    html += data;
  });
 // 监听end事件,同时把获取到的数据传给filterData方法进行过滤
  res.on('end', () => {
    let titles = filterData(html);
    console.log(titles);
  });
}).on('error', e => {
  console.log(e.message);
});
// 使用cheerio模块对内容进行筛选过滤
function filterData(html) {
  let $ = cheerio.load(html);
  let oTitles = $('.post-title-link');
  let titles = '';
  oTitles.each( (index, item) => {
    let title = $(item).text();
    let end = index == (oTitles.length - 1) ? '' : '\n';
    titles += '【' + (index+1) + '】' + title + end;
  });
  return titles;
}

至此一个简单的爬取 microzz.com 文章内容标题的小爬虫就完成啦😄

最后更新时间:
转载请注明出处:microzz.com/2017/02/14/…