免责声明:本脚本是使用cookie方式获取数据,并非51啦官方推荐方式,因此本脚本仅用于开发学习,请勿用于生产环境。

一,配置环境变量(青龙面板->环境变量)

  1. 登录51啦(https://www.51.la/)统计,获取cookie:51SESSIONID
  2. 在青龙面板新建环境变量 LA_SESSIONID,值设为上一步获取的cookie值

二、创建脚本(青龙面板->脚本管理)

  1. 新建空脚本,文件名写 51laCount.js
  2. 复制下面代码粘贴保存:
(async function() {
    const {default: got} = await import('got');
    const post = async (api, form) => {
        const options = {
            headers: {
                Cookie: `51SESSIONID=${process.env.LA_SESSIONID}`
            }
        }
        form && (options.form = form);
        const res = await got.post('https://v6.51.la' + api, options).json();
        return res.data || res.bean;
    }
    const {sendNotify} = require('./sendNotify');
    
    const title = '51LA概况数据';
    try {
        const list = await post('/api/site/list');
        list.sort((a, b) => a.comId - b.comId);
        const sites = [];
        let content = '';
        list.forEach((site, i) => {
            content += `#### ${site.name}\n`;
            content += `||IP|UV|PV\n-|-|-|-\n`;
            content += `今日|${site.todayIp}|${site.todayUv}|${site.todayPv}\n`;
            content += `predict_${i}`;
            content += `昨日|${site.yesterdayIp}|${site.yesterdayUv}|${site.yesterdayPv}\n`;
            sites.push(post('/api/report/overview/title', {comId: site.comId}));
        });
        const predict_list = await Promise.all(sites);
        predict_list.forEach((site, i) => {
            content = content.replace(`predict_${i}`, `预计|${site.predictIp}|${site.predictUv}|${site.predictPv}\n`);
        });
        sendNotify(title, content, {type: 'markdown'}, '');
        console.log('51laCount任务执行成功!');
    } catch(e) {
        const content = '数据获取失败!' + e.message;
        sendNotify('51LA概况数据', content);
        console.error(content);
    }
})();

三、新建定时任务(青龙面板->定时任务)

  1. 新建任务,名称填写 51la概况数据,命令/脚本填写 node 51laCount.js,定时规则填写 0 8,12,20,23 * * *,其中 8,12,20,23 代表每天8、12、20、23点各推送一次,你也可以改为其他时间推送。

关键词:青龙面板51啦通知
所属分类:代码片段
本文地址:https://me.i-i.me/article/71.html




评论提示: 点击头像可以回复评论

提交取消回复
[face]@
[uname]  [add_time]
[content]
[reply]
加载更多评论