【JS】【掘金】看看你所有粉丝的掘友值排行榜

本文介绍了一种方法来获取并排序掘金社区中关注者的掘友值。通过JavaScript代码,用户可以获取自己的及关注者的掘友值,并进行排序展示。此过程涉及API调用、数据解析以及简单的延迟策略,为用户提供了自定义排行榜的功能。
摘要由CSDN通过智能技术生成

前言

掘金新鲜出炉的掘友值、掘友等级玩法~ 你会玩了吗? 没有排行榜? 那咱们就简单做一个,看看和自己的的粉丝们掘友值分数排行吧!
  基于这篇改造:《【JS】【掘金】获取关注了里不在关注者里的人》

效果展示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xmAgkWv0-1657681619361)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/f87bd3f89d1c41adbf883b2b09c5ab89~tplv-k3u1fbpfcp-watermark.image?)]

操作流程

复制完整代码到浏览器的控制台进行输出即可。
(注:如果出现已经有命名,① 可以尝试修改方法名、变量名。② 清空一下浏览器的缓存)

【代码分享】


    // 你的aid
    var aid = "2608";
    // 你的uuid
    var uuid = "7004672915649250827";
    // 你的user_id
    var user_id = "2840793779295133";
    // 需要加这个参数(获取掘友值)
    var need_badge = 1;
    // 不能给掘金太大压力,我们定义个sleep函数,0.2秒请求一次就好
    const sleep = async() => new Promise(resolve => setTimeout(resolve, 200));
    // 只记录掘友值相关
    var userJscoreMap = new Map();
    // 先添加自己的
    getUserGrowthInfo(user_id);
    // 收集所有的
    async function getUserGrowthInfo(user_id) {
        const res2 = await fetch("https://api.juejin.cn/user_api/v1/user/get?user_id=" + user_id + "&need_badge=" + need_badge, {
            "headers": {
                "content-type": "application/json",
            },
            "referrer": "https://juejin.cn/",
            "referrerPolicy": "strict-origin-when-cross-origin",
            "body": null,
            "method": "GET",
            "mode": "cors",
            "credentials": "include"
        });
        const data = await res2.json();
        var user_growth_info = data.data.user_growth_info;
        // uuid显示
        // userJscoreMap.set(user_id, user_growth_info.jscore);
        // 用户名显示
        userJscoreMap.set(data.data.user_name, user_growth_info.jscore);
        await sleep();
    }

    // 获取你的关注们保存到followees。
    const getFollowees = async() => {
        console.log('开始读取你的关注啦');
        for (let i = 0; i < 100; i++) {
            const res = await fetch("https://api.juejin.cn/user_api/v1/follow/followees?aid=" + aid + "&uuid=" + uuid + "&user_id=" + user_id + "&cursor=" + i * 20 + "&limit=20", {
                "headers": {
                    "content-type": "application/json",
                },
                "referrer": "https://juejin.cn/",
                "referrerPolicy": "strict-origin-when-cross-origin",
                "body": null,
                "method": "GET",
                "mode": "cors",
                "credentials": "include"
            });
            const data = await res.json();
            const result = data.data.data;
            result.forEach(fan => {
                getUserGrowthInfo(fan.user_id);
            });
            // 如果该页数量少于20,说明是最后一页,结束循环
            if (result.length < 20) break;
            // 不能给掘金太大压力,我们0.2秒请求一次就好
            await sleep();
        }
        console.log('读取完毕你的关注啦');
    }
    await getFollowees();
    // 掘友值数组
    var jscoreArray = Array.from(userJscoreMap);
    // value值从大到小排序
    jscoreArray.sort(function(a, b) {
        return b[1] - a[1]
    })
    console.log("排序后:", jscoreArray);

文章小尾巴

文章写作、模板、文章小尾巴可参考:《写作“小心思”》

  感谢你看到最后,最后再说两点~
  ①如果你持有不同的看法,欢迎你在文章下方进行留言、评论。
  ②如果对你有帮助,或者你认可的话,欢迎给个小点赞,支持一下~
  我是南方者,一个热爱计算机更热爱祖国的南方人。

  (文章内容仅供学习参考,如有侵权,非常抱歉,请立即联系作者删除。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南方者

你的鼓励将驱动我的开源

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值