Nodejs爬取新闻列表

作者: 聪明的汤姆 | 来源:发表于2018-07-12 11:12 被阅读1次

    爬取地址

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

    相关文章

      网友评论

        本文标题:Nodejs爬取新闻列表

        本文链接:https://www.haomeiwen.com/subject/qzulpftx.html