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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容