免责声明:本脚本是使用cookie方式获取数据,并非51啦官方推荐方式,因此本脚本仅用于开发学习,请勿用于生产环境。
一,配置环境变量(青龙面板->环境变量)
- 登录51啦(https://www.51.la/)统计,获取cookie:51SESSIONID
- 在青龙面板新建环境变量
LA_SESSIONID,值设为上一步获取的cookie值
二、创建脚本(青龙面板->脚本管理)
- 新建空脚本,文件名写
51laCount.js - 复制下面代码粘贴保存:
(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);
}
})();
三、新建定时任务(青龙面板->定时任务)
- 新建任务,名称填写
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
评论