这是我参与8月更文挑战的第31天,活动详情查看:8月更文挑战。
统计
日更,不再见! 统计走一遍。
需求:
- 过滤出参与8月更文的文章
- 生成markdown的列表,显示更文日期和点赞数
- 统计总点赞数,评论数,收藏数,阅读数
- 统计累计提升的掘力值
效果演示
我的8月更文统计结果:截止2021-08-30 23:47
---------
文章数: 30
点赞数: 5004
阅读数: 144208
收藏数: 3586
评论数: 716
---------
掘力值:5004 + 1442 = 6446
如果需要平均值,自行修改代码即可。
源代码
源码地址: 8月更文统计和汇总
怎么使用,复制到控制台,修改USER_ID
和MAX_COUNT
执行即可,
MAX_COUNT
如果你属于日更,一日一文,默认值31即可,如果一日多文,上调到一个安全数即可。
; (async function () {
// 用户ID
const USER_ID = "131597122679661";
// 需要查询的最大文章数量
const MAX_COUNT = 31
.........其他代码
})();
思路 + 核心代码
- 获取文章文章列表
文章列表不包含正文,还不能是否参与8月征文
多次获取,直到没有文章,或者已经达到设置的获取上限
async function loopGetArticles(userId, count) {
let results = [];
let cursor = 0;
let res = {
err_no: 0,
has_more: true,
cursor: 0
}
do {
res = await getArticles(userId, cursor);
cursor = +res.cursor;
results.push(...(res.data.map(art => art.article_id)));
await delay(undefined, 16);
} while (res.has_more && cursor < count)
return results;
}
- 获取文章内容,获得文章内容,通过标题和正文双层判断是否参与8月征文
是否参与8月征文
function is8MArticle(art) {
return art.title.endsWith("8月更文挑战") ||
art.mark_content.slice(0, 200).indexOf("https://juejin.cn/post/6987962113788493831") >=0
}
- 生成markdown的列表
function generateMD(articleInfos) {
return articleInfos.map(art => `* ${art.date} [${art.title}](https://juejin.cn/post/${art.id}) - ${art.diggCount}赞`).join('\n');
}
- 统计总赞数
function getTotals(articleInfos) {
return articleInfos.reduce((total, cur) => {
total.diggCount += cur.diggCount;
total.viewCount += cur.viewCount;
total.collectCount += cur.collectCount;
total.commentCount += cur.commentCount;
return total;
}, {
diggCount: 0,
viewCount: 0,
collectCount: 0,
commentCount: 0
})
}
我的8月更文列表
欢迎阅读! 欢迎关注! 欢迎一起交流!
- 08-30 跨浏览器窗口通讯 ,7种方式,你还知道几种呢? - 261赞
- 08-29 30 second of code 15个有意思的代码段 - 72赞
- 08-28 数值千分位,6种方法和性能对比,值得一看 - 73赞
- 08-27 中高级前端? 这些一元运算符,你真的搞清楚了吗 - 138赞
- 08-26 贝塞尔曲线在前端,走近她,然后爱上她 - 134赞
- 08-25 前端9种图片格式基础知识, 你应该知道的 - 268赞
- 08-24 call, call.call, call.call.call, 你也许还不懂这疯狂的call - 159赞
- 08-23 我的掘金前端周刊 8月16日-8月22日 - 54赞
- 08-22 chrome地址栏命令和快捷键,强大到天际,你知道多少! - 142赞
- 08-21 最轻量级前端模板Micro-Templating, 源码解析 - 60赞
- 08-20 【利器篇】35+精选chrome插件,含15+前端插件,总有一款值得你停留 - 526赞
- 08-19 【玩转掘金】掘金可视化智能抽奖,支持暂停和继续, 插件版 - 81赞
- 08-18 【玩转掘金】 我的赞,我的💗,都给了谁,有你吗? - 90赞
- 08-17 【利器篇】前端40+精选VSCode插件,总有几个你未拥有! - 990赞
- 08-16 我的掘金前端周刊 第八周 8月9日-8月15日 - 65赞
- 08-15 【SSD系列】雪花飘,购物抛物线,进度条等四个案列,带入走进 CSS transition - 86赞
- 08-14 【SSD系列】DOM0, DOM1, DOM2, DOM3, DOM4,知多少 - 84赞
- 08-13 【玩转掘金】掘金签约作者,战力参数分析,数据篇 - 68赞
- 08-12 【SSD】掘金的抽奖,“拆穿她“,然后实现一个,顺便封装一个库 - 142赞
- 08-11 【SSD系列】五分钟,100余行代码,纯web技术一起实现摄像头和麦克风视频录制,并带历史记录功能 - 172赞
- 08-10 【SSD系列】没了jquery, vue, react,你还会DOM节点的增删改查吗? - 147赞
- 08-09 我的掘金前端周刊 第七周 8月2日-8月8日 - 88赞
- 08-08 【SSD系列】图片作为背景的闪白问题,6种基础方案, 不会不知道吧 - 140赞
- 08-07 【SSD系列】网页内容生成图片,这18般武艺你会几种呢? - 114赞
- 08-06 【SSD系列】共享桌面,3分钟自己实现一个吧,还能听见麦克风声音哦 - 191赞
- 08-05 【SSD系列】视频自定义字幕,中英文,彩色的,你也可以,不会不知道吧 - 129赞
- 08-04 【SSD系列】都说柯里化,反柯里化 , 不会不知道吧 - 88赞
- 08-03 【SSD系列】傻傻的,3行代码一个订阅发布中心,不会不知道吧 |8月更文挑战 - 259赞
- 08-02 我的掘金前端周刊 第六周 7月26日-8月1日 | 8月更文挑战 - 90赞
- 08-01 【SSD系列】傻傻的,连JavaScript,ECMAScript和ECMA-262都分不清楚 | 8月更文挑战 - 96赞
写在最后
如果你觉得不错,你的一赞一评就是我前行的最大动力。
技术交流群请到 这里来。 或者添加我的微信 dirge-cloud,一起学习。