用node.js爬取自己所有博客的名字,评论数,阅读数和发布时间

代码如下:

//引入https和cheerio模块
const https = require('https')
var cheerio = require('cheerio');
//定义自己的博客请求地址
const url = 'https://blog.csdn.net/weixin_45991188'
//调用https.get()去请求
https.get(url,(res) =>{
    let raw = ''
    //监听res data事件,可能会响应多次
    res.on('data',(chunk)=>{
        raw += chunk
    })
    //监听res end事件,响应传输完触发
    res.on('end',()=>{
        findMenu(raw);
    })
})
function findMenu(htmlstr){
    const b = cheerio.load(htmlstr)//获取整个页面的html
    var result = []//设置一个空数组
    //遍历.article-item-box的每个元素,为每个匹配元素规定要运行的函数
    b('.article-item-box').each(function(i, item) {
    var $h4 = b(item).find('h4').text().trim()//获取到博客标题
    var $date = b(item).find('.date').text().trim()//获取博客时间
    var $readnum = b(item).find('.read-num').text().trim()//获取博客的阅读数和评论数
    result.push($h4)//把的得到的值添加到result这个空数组
    result.push(`发布时间: ${$date}`)
    result.push($readnum)
    })
    //最后打印出整个数组
    console.log(result)
}

然后我们在终端进入当前文件输入node index.js
效果如下:
在这里插入图片描述
cheerio 第三方模块
链接
简单理解为是使用在服务器端的 jquery。保留了 jquery 选择器的相关功能,去掉了 DOM 操作功能。

  1. 安装模块
    cnpm i cheerio -D

  2. 引入
    const cheerio = require('cheerio')

  3. 装载
    const b = cheerio.load('<h2 class="title">Hello world</h2>')

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值