微信读书刷时长助你成为霸榜“大佬”

开发这个脚本主要是为了挑战赛刷时长以及天数,由于本人偶尔看书有时来不及签到导致入场费打了水漂。网上找了一些相关代码,发现高赞的自动阅读需要挂电脑或者用ADB模拟,实现一点也不优雅。于是抓了一下官网接口,分析了官网的源码JS逆向了一部分代码,编写了Python挂机脚本兼有自动更新Cookie与推送到微信的功能。只需要一次部署,长时间挂机。
本脚本已上传github:https://github.com/findmover/wxread

脚本介绍

针对微信读书阅读挑战赛编写的脚本:

  1. 能进行刷阅读时长,且时长默认计入排行榜、挑战赛等。(指定200分钟)
  2. 可部署服务器每天定时运行脚本并推送到微信。
  3. 一次抓包,长时间使用。对于Cookie更新问题给出了自动获取Cookie更新值的解决方案。
  4. 比较市面上的ADB调试器、自动阅读器,本脚本实现了轻量化编写,部署服务器即可运行,无需更多环境条件。
  5. 脚本JS逆向分析各接口请求,分析各字段的拼接方式,并对字段进行加密、计算处理使得服务器能够成功响应({'succ': 1, 'synckey': 2060028311},表示数据字段正常)。

操作步骤

1、脚本逻辑还是比较简单的,运行main.py即可,依赖自行安装。大部分代码不需要改动,在微信阅读官网 微信读书 (qq.com) 搜索【三体】点开阅读点击下一页进行抓包,抓到read接口 https://weread.qq.com/web/book/read,如果返回格式正常(如:

json复制代码{
  "succ": 1,
  "synckey": 564589834
}

右键复制为Bash格式,然后在 Convert curl commands to Python (curlconverter.com) 转化为Python脚本,只复制前面的Header与Cookie字段替换到main.py即可。对于renewhttps://weread.qq.com/web/login/renewal)自动更新Cookie的接口,可以沿用main.py中的大部分字段,或者自己抓取,需要一段时间才能抓到更新cookie的值(大于一小时)。

2、服务器运行,在你的服务器上有Python运行环境即可,使用cron定义自动运行指定即可。(如:

bash


复制代码
0 2 * * * /www/server/pyporject_evn/wxread_venv/bin/python3 /root/wxread/main.py >> /root/wxread/logs/$(date +\%y-\%m.\%d)_sout.log 2>&1

意思为:【在每天两点时刻使用python所在位置编译器运行某个路径下的main.py脚本,同时将输出按每天的日期格式输出到对应日志中】可供参考)。

3、Pushplus推送,更改你的Token即可。

截图展示

1、运行结果

在这里插入图片描述

2、接口抓取

在这里插入图片描述

3、JS逆向

在这里插入图片描述

3、显示成效(测试8天全部正常运行)

在这里插入图片描述

4、服务器自动运行指令

在这里插入图片描述

5、完成推送

在这里插入图片描述

字段解释

  • appId: "wbxxxxxxxxxxxxxxxxxxxxxxxx"

    • 应用的唯一标识符。
  • b: "ce032b305a9bc1ce0b0dd2a"

    • 书籍或章节的唯一标识符。
  • c: "0723244023c072b030ba601"

    • 内容的唯一标识符,可能是页面或具体段落。
  • ci: 60

    • 章节或部分的索引。
  • co: 336

    • 内容的具体位置或页码。
  • sm: "[插图]威慑纪元61年,执剑人在一棵巨树"

    • 当前阅读的内容描述或摘要。
  • pr: 65

    • 页码或段落索引。
  • rt: 88

    • 阅读时长或阅读进度。
  • ts: 1727580815581

    • 时间戳,表示请求发送的具体时间(毫秒级)。
  • rn: 114

    • 随机数或请求编号,用于标识唯一的请求。
  • sg: "bfdf7de2fe1673546ca079e2f02b79b937901ef789ed5ae16e7b43fb9e22e724"

    • 安全签名,用于验证请求的合法性和完整性。
  • ct: 1727580815

    • 时间戳,表示请求发送的具体时间(秒级)。
  • ps: "xxxxxxxxxxxxxxxxxxxxxxxx"

    • 用户标识符或会话标识符,用于追踪用户或会话。
  • pc: "xxxxxxxxxxxxxxxxxxxxxxxx"

    • 设备标识符或客户端标识符,用于标识用户的设备或客户端。
  • s: "fadcb9de"

    • 校验和或哈希值,用于验证请求数据的完整性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值