微博超话自动签到脚本

微博超话自动签到脚本

脚本介绍

最后一次考托之前,群里一位小伙伴说想搞一个微博超话的签到脚本,当时准备考试加上不知道怎么处理 Cookie,这个脚本一直处于停滞的状态,前几天 QuantumultX 更新了定时脚本以及持久化存储的 API, 野比大佬完成了京东签到的脚本,于是我在此基础上修改了部分的代码,完成了微博超话签到的脚本。该签到脚本总体来说是两个脚本联动的作用,一个脚本捕捉http请求中的 Cookie,也就是微博超话签到的 Cookie,并用持久化存储的 API 进行保存,再利用另外一个定时脚本读取对应的 Cookie,利用get方法对指定的签到url进行操作,最终实现了超话的签到。在前期的测试阶段,我以为不同的超话对应了不同的请求,所以对应的cookie也就不一样了,在后来的测试阶段发现,这些超话可以共用一个cookie,所以代码逻辑也就没有之前那么复杂了。

这个脚本的完成,要感谢 nana asuka , Just wanna be with you, 野比 , Info, 灰灰的帮助,如果大家觉得这个项目对你有帮助,不妨 Star一下我的 Repo(最近在申请美国的研究生,有些学校还是挺看重这个的) 谢谢大家了。

Check in for Surge

  • 配置获取cookie脚本
    get_cookie_surge.js 保存在 Surge/Scripts 下面,在配置文件中添加如下代码

    [Script]
    http-request https:\/\/weibo\.com\/p\/aj\/general\/button\?ajwvr=6&api=http:\/\/i\.huati\.weibo\.com\/aj\/super\/checkin max-size=0,script-path=get_cookie_surge.js
    
    [MITM]
    hostname = weibo.com

    或者直接利用云端 js

    [Script]
    http-request https:\/\/weibo\.com\/p\/aj\/general\/button\?ajwvr=6&api=http:\/\/i\.huati\.weibo\.com\/aj\/super\/checkin max-size=0,script-path=https://raw.githubusercontent.com/NavePnow/Profiles/master/Scripts/weibo/get_cookie_surge.js
    
    [MITM]
    hostname = weibo.com
  • 获取超话id

    1. 同样在配置文件中加上如下代码 (其作用是强制手机浏览器访问电脑端超话页面)

      [Header Rewrite]
      ^https?://weibo\.com/p/[0-9] header-replace User-Agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.2 Safari/605.1.15"
    2. 打开微博应用,在我的->超话社区中选择需要操作的社区,点击右上角的三个点,复制对应的链接

    3. 将复制的链接粘贴到浏览器中打开,例如 https://weibo.com/p/1008080c5fb650788fe5c7577f0b6ec4a34038, 1008080c5fb650788fe5c7577f0b6ec4a34038 就是我们需要的超话id

      • 如果页面还是移动端排版,请检查 Rewrite 是否生效,
      • 如果没有显示签到按钮,请点击 发帖按钮 进行微博账号的登录
  • 获取 Cookie
    打开超话网页,例如 https://weibo.com/p/1008080c5fb650788fe5c7577f0b6ec4a34038,点击 签到/已签到 按钮,Surge 会弹出通知,提示获取 Cookie 成功。(多超话签到不需要获取多个Cookie,只需要记住每个超话的id即可)

  • 配置签到脚本

    1. checkin_surge.js 保存在 Surge/Scripts 下面,打开脚本,修改部分内容

      const accounts = [
          ["title", "id"]
      ]

      超话信息的填写要严谨按照代码示例的格式填写,内容顺序依次为 超话名称、超话id,2个内容用双引号””括起来,且不需要urlencode,直接原文显示,注意不同超话间用逗号隔开。
      示例:

      const accounts = [
          ["IU", "100808d4151ccebfbae55e8f7c0f68f6d18e4d"],
          ["SWITCH", "1008084239f063a3d4fb9d38a0182be6e39e76"],
          ["林允儿", "1008080c5fb650788fe5c7577f0b6ec4a34038"],
          ["泰妍", "100808377e60b6bf5ffc9cdc603cc93b75c663"],
          ["Apple", "1008089f6290f4436e5a2351f12e03b6433c3c"]
      ]
    2. 进入 配置文件 的文本编辑模式,在配置文件中添加如下代码

      [Script]
      cron "00 12 * * *" script-path=checkin_surge.js

      以上实例为 每天中午12:00 运行存放于 本地的 checkin_surge.js 脚本,自定义触发时间配置使用的是 crontab 样式,api可参考 Scripting 的介绍

Check in for QuantumultX

  • 配置获取cookie脚本
    get_cookie_qx.js保存在 QuantumultX/Scripts 下面,在配置文件中添加如下代码

    [rewrite_local]
    https:\/\/weibo\.com\/p\/aj\/general\/button\?ajwvr=6&api=http:\/\/i\.huati\.weibo\.com\/aj\/super\/checkin url script-response-body get_cookie_qx.js
    
    [mitm]
    hostname = weibo.com
  • 获取超话id

    1. 同样在配置文件中加上如下代码 (其作用是强制手机浏览器访问电脑端超话页面)

      [rewrite_local]
      ^https?://weibo\.com/p/[0-9] url request-header (\r\n)User-Agent:.+(\r\n) request-header $1User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.2 Safari/605.1.15
    2. 打开微博应用,在我的->超话社区中选择需要操作的社区,点击右上角的三个点,复制对应的链接

    3. 将复制的链接粘贴到浏览器中打开,例如 https://weibo.com/p/1008080c5fb650788fe5c7577f0b6ec4a34038, 1008080c5fb650788fe5c7577f0b6ec4a34038 就是我们需要的超话id

      • 如果页面还是移动端排版,请检查 Rewrite 是否生效,
      • 如果没有显示签到按钮,请点击 发帖按钮 进行微博账号的登录
  • 获取 Cookie
    打开超话网页,例如 https://weibo.com/p/1008080c5fb650788fe5c7577f0b6ec4a34038,点击 签到/已签到 按钮,QuantumultX 会弹出通知,提示获取 Cookie 成功。(多超话签到不需要获取多个Cookie,只需要记住每个超话的id即可)

  • 配置签到脚本

    1. checkin_qx.js 保存在 QuantumultX/Scripts 下面,打开脚本,修改部分内容

      var accounts = [
          ["title", "id"]
      ]

      超话信息的填写要严谨按照代码示例的格式填写,内容顺序依次为 超话名称、超话id,2个内容用双引号””括起来,且不需要urlencode,直接原文显示,注意不同超话间用逗号隔开。
      示例:

      var accounts = [

      ["IU", "100808d4151ccebfbae55e8f7c0f68f6d18e4d"],
      ["SWITCH", "1008084239f063a3d4fb9d38a0182be6e39e76"],
      ["林允儿", "1008080c5fb650788fe5c7577f0b6ec4a34038"],
      ["泰妍", "100808377e60b6bf5ffc9cdc603cc93b75c663"],
      ["Apple", "1008089f6290f4436e5a2351f12e03b6433c3c"]

      ]

    2. 进入 配置文件 的文本编辑模式,在配置文件中添加如下代码

      [task_local]
      00 12 * * * checkin_qx.js

      以上实例为 每天中午12:00 运行存放于 本地的 checkin_qx.js 脚本,自定义触发时间配置使用的是 crontab 样式,api可参考 Scripting 的介绍

问题

由于 Cookie 时效性问题,不能保证每次签到都成功,如果提示签到失败,请重新获取 Cookie,获取方法: 打开任意一个超话链接,例如 https://weibo.com/p/1008080c5fb650788fe5c7577f0b6ec4a34038, 点击 签到/已签到 按钮,脚本提示写入 Cookie 成功。

  • 反馈

    💡 如果大家运行不了脚本或者运行出错,反馈的时候一定要带上报错的截图,有能力的同学在代码里面添加console.log(),并附上 Surge/QuantumultX log的对应截图,感谢大家。

脚本下载

👉 Check in

关于作者

Telegram: Leped_Bot

GitHub: NavePnow


# Recommend Posts
 1.1/1/2019 - 12/31/2019
 2.1/1/2019 - 12/31/2019
 3.82 年生的金智英
 4.Hexo主题折腾日记(二) 添加豆瓣和聊天插件
 5.Hexo主题折腾日记(一) 从cactus到icarus

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×