手记

Nodejs爬取新闻列表

爬取地址

https://www.thepaper.cn/

使用到的库

  • superagent (页面数据下载)

  • cheerio (页面数据解析)

代码

app.js

// 引入依赖const superagent = require('superagent'); // superagent是nodejs里一个非常方便的客户端请求代码模块const cheerio = require('cheerio'); // 可以理解为一个Node.js版本的Jquery// 爬取地址const url = 'https://www.thepaper.cn/';// 读取页面数据superagent.get(url).end((err, res) => {  if (err) throw Error(err);  let postlist = getFilterHtml(res.text);  // 存入数据库操作...})// 过滤数据function getFilterHtml(html) {  let $ = cheerio.load(html); // 使用cheerio
  let postList = []; // 存放新闻列表的数组

  // F12分析后的节点数据,用Jquery的语法进行过滤、摘取
  $('#listContent .news_li').each((index, item) => {    let elem = $(item);    let post = {      icon: elem.find('.tiptitleImg img').attr('src'),      title: elem.find('h2 a').text(),      intro: elem.find('p').text(),      link: elem.find('h2 a').attr('href'),      target: elem.find('.pdtt_trbs a').text(),      hot: elem.find('.pdtt_trbs .trbszan').text()
    }
    postList.push(post);
  })  return postList;
}



作者:daydreammoon
链接:https://www.jianshu.com/p/2cf813594bb2


0人推荐
随时随地看视频
慕课网APP