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;
}

最后

本文到此结束,希望以上内容对你有些许帮助,如若喜欢请记得点个关注

image

微信公众号「前端宇宙情报局」,将不定时更新最新、实用的前端技巧/技术性文章,欢迎关注,一起学习

你可能感兴趣的:(Nodejs爬取新闻列表)