爱发电赞助名单生成脚本

栏目: ASP.NET · 发布时间: 5年前

内容简介:自从bmclapi赞助开始用起爱发电,就一直在手动维护赞助名单,随着名单越来越长,每次维护名单的时候都要手动添加然后人肉去重。问了一下官方,也暂时没有打算做webhook。每次手动维护名单实在好烦,于是花几分钟研究了一下赞助名单接口,又花了几分钟糊了个脚本,来自动生成赞助名单的markdown。以下代码只要打开爱发电的网页,登陆后打开开发者工具,粘贴执行即可得到对应的赞助名单

自从bmclapi赞助开始用起爱发电,就一直在手动维护赞助名单,随着名单越来越长,每次维护名单的时候都要手动添加然后人肉去重。问了一下官方,也暂时没有打算做webhook。

每次手动维护名单实在好烦,于是花几分钟研究了一下赞助名单接口,又花了几分钟糊了个脚本,来自动生成赞助名单的markdown。

以下代码只要打开爱发电的网页,登陆后打开开发者工具,粘贴执行即可得到对应的赞助名单

!async function(){const s="https://afdian.net/api/my/sponsored-bill?type=old",t=[];let a=s;for(;;){console.log(t.length);const n=await fetch(a,{method:"get"}),e=await n.json();for(const s of e.data.list)t.unshift({name:s.user.name,url:s.user.url_slug?`https://afdian.net/@${s.user.url_slug}`:`https://afdian.net/u/${s.user.user_id}`});if(a=`${s}&pay_success_sn=${e.data.list[e.data.list.length-1].pay_success_sn}`,0===e.data.has_more)break}const n=t.map(s=>`- [${s.name}](${s.url})`).join("\n");console.log(n)}();

附上typescript源码

interface Response {
  ec: number
  em: string
  data: {
    has_more: 0 | 1
    list: Array<{
      pay_success_sn: number,
      user: {
        name: string,
        user_id: string,
        url_slug: string,
      }
    }>
  }
}

interface Result {
  name: string
  url: string
}

(async function main() {
  const defaultUrl = 'https://afdian.net/api/my/sponsored-bill?type=old'
  const list: Result[] = []

  let url = defaultUrl
  while (true) {
    console.log(list.length)
    const res = await fetch(url, {
      method: 'get',
    })
    const body = await res.json() as Response
    for (const trade of body.data.list) {
      list.unshift({
        name: trade.user.name,
        url: trade.user.url_slug ? `https://afdian.net/@${trade.user.url_slug}` : `https://afdian.net/u/${trade.user.user_id}`
      })
    }
    url = `${defaultUrl}&pay_success_sn=${body.data.list[body.data.list.length - 1].pay_success_sn}`
    if (body.data.has_more === 0) break
  }
  const data = list.map((e) => `- [${e.name}](${e.url})`).join('\n')
  console.log(data)
})()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Beginning XML with DOM and Ajax

Beginning XML with DOM and Ajax

Sas Jacobs / Apress / 2006-06-05 / USD 39.99

Don't waste time on 1,000-page tomes full of syntax; this book is all you need to get ahead in XML development. Renowned web developer Sas Jacobs presents an essential guide to XML. Beginning XML with......一起来看看 《Beginning XML with DOM and Ajax》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

SHA 加密
SHA 加密

SHA 加密工具