让前端飞Web 前端开发

Nodejs爬取新闻列表

2018-07-12  本文已影响1人  聪明的汤姆

爬取地址

https://www.thepaper.cn/

使用到的库

代码

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;
}
如果您喜欢这篇文章,那么记得动动你们的👋,给个like或者关注我哦👍。
上一篇下一篇

猜你喜欢

热点阅读