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

刷时间不加时长,是因为最近微信读书又缩紧限制了,需要更新或重新fork配置 !!!

项目介绍 📚

这个脚本主要是为了在微信读书的阅读挑战赛中刷时长保持天数。由于本人偶尔看书时未能及时签到,导致入场费打了水漂。网上找了一些,发现高赞的自动阅读需要挂阅读器模拟或者用ADB模拟,实现一点也不优雅。因此,我决定编写一个自动化脚本。通过对官网接口的抓包和JS逆向分析实现。

该脚本具备以下功能:

  • 阅读时长调节:默认计入排行榜和挑战赛,时长可调节,默认为60分钟。
  • 定时运行推送:可部署在GitHub Action/服务器上,支持每天定时运行并推送结果到微信。
  • Cookie自动更新:脚本能自动获取并更新Cookie,一次部署后面无需其它操作。
  • 轻量化设计:本脚本实现了轻量化的编写,部署服务器/GIthub action后到点运行,无需额外硬件。

操作步骤(v5.0) 🛠️

抓包准备

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

{
  "succ": 1,
  "synckey": 564589834
}

右键复制为Bash格式。

方法一: GitHub Action部署运行(GitHub运行)

  • Fork这个仓库,在仓库 Settings -> 左侧列表中的 Secrets and variables -> Actions,然后在右侧的 Repository secrets 中添加如下值:

    • WXREAD_CURL_BASH:上面抓read接口后转换为curl_bash的数据。
    • PUSH_METHOD:推送方法,3选1推送方式(pushplus、wxpusher、telegram)。
    • PUSHPLUS_TOKEN or WXPUSHER_SPT or TELEGRAM_BOT_TOKEN&TELEGRAM_CHAT_ID: 选择推送后填写对应token。
  • Variables 部分,最下方添加变量:

    • READ_NUM:设定每次阅读的目标次数。
  • 基本释义:

keyValue说明属性
WXREAD_CURL_BASHread 接口 curl_bash数据必填,必须提供有效指令secrets
READ_NUM阅读次数(每次 30 秒)可选,阅读时长,默认 20 分钟variables
PUSH_METHODpushplus/wxpusher/telegram可选,推送方式,3选1,默认不推送secrets
PUSHPLUS_TOKENPushPlus 的 tokenPUSH_METHOD=pushplus 时必填,获取地址secrets
WXPUSHER_SPTWxPusher 的tokenPUSH_METHOD=wxpusher 时必填,获取地址secrets
TELEGRAM_BOT_TOKEN
TELEGRAM_CHAT_ID
http_proxy/https_proxy(可选)
群组id以及机器人tokenPUSH_METHOD=telegram 时必填,配置文档secrets

重要:除了READ_NUM配置在varables,其它的都配置在secrets里面的;需要推送PUSH_METHOD是必填的。

视频教程

视频教程

方法二: 服务器运行(docker部署)

  • 在你的服务器上有Python运行环境即可,使用cron定义自动运行。
  • 或者通过docker运行,将抓到的bash命令在 Convert 转化为Python字典格式,复制需要的headers与cookies即可(data不需要)。

steps1:克隆这个项目:git clone https://github.com/findmover/wxread.git

steps2:配置config.py里的headers、cookies、READ_NUM、PUSH_METHOD以及对应推送方式token

steps3:进入目录使用镜像构建容器:
docker rm -f wxread && docker build -t wxread . && docker run -d --name wxread -v $(pwd)/logs:/app/logs --restart always wxread

steps4:测试:docker exec -it wxread python /app/main.py


Attention 📢

  1. 签到次数调整:只需签到完成挑战赛可以将num次数从120调整为2,每次num为30秒,200即100分钟。

  2. 解决阅读时间问题:对于issue中提出的“阅读时间没有增加”,“增加时间与刷的时间不对等”建议保留config.py中的【data】字段,默认阅读三体,其它书籍自行测试。

  3. GitHub Action部署/本地部署:主要配置config.py即可,Action部署使用环境变量,本地部署修改config.py里的阅读次数、headers、cookies即可。

  4. 推送:pushplus推送偶尔出问题,猜测是GitHub action环境问题,增加重试机制。并增加wxpusher的极简推送方式。


字段解释 🔍

字段示例值解释
appId"wbxxxxxxxxxxxxxxxxxxxxxxxx"应用的唯一标识符。
b"ce032b305a9bc1ce0b0dd2a"书籍或章节的唯一标识符。
c"0723244023c072b030ba601"内容的唯一标识符,可能是页面或具体段落。
ci60章节或部分的索引。
co336内容的具体位置或页码。
sm"[插图]威慑纪元61年,执剑人在一棵巨树"当前阅读的内容描述或摘要。
pr65页码或段落索引。
rt88阅读时长或阅读进度。
ts1727580815581时间戳,表示请求发送的具体时间(毫秒级)。
rn114随机数或请求编号,用于标识唯一的请求。
sg"bfdf7de2fe1673546ca079e2f02b79b937901ef789ed5ae16e7b43fb9e22e724"安全签名,用于验证请求的合法性和完整性。
ct1727580815时间戳,表示请求发送的具体时间(秒级)。
ps"xxxxxxxxxxxxxxxxxxxxxxxx"用户标识符或会话标识符,用于追踪用户或会话。
pc"xxxxxxxxxxxxxxxxxxxxxxxx"设备标识符或客户端标识符,用于标识用户的设备或客户端。
s"fadcb9de"校验和或哈希值,用于验证请求数据的完整性。
Python自动挂机脚本是使用Python编写的一个程序,可以用于自动执行特定的任务或操作,而无需人工干预。 使用Python编写自动挂机脚本可以帮我们提高工作效率,减轻重复繁琐的操作,节省时间和精力。 Python自动挂机脚本的应用范围非常广泛。例如,在网络游戏中,我们可以编写自动挂机脚本来完成一些重复性的任务,如打怪、练级、收集资源等。在网页数据爬取中,我们可以使用自动挂机脚本来定时获取特定网站的信息,并将数据保存到本地或进行进一步的分析。此外,在自动化测试中,我们可以借自动挂机脚本来模拟用户操作,自动化执行测试用例。 编写一个简单的Python自动挂机脚本通常包括以下步骤: 1. 导入必要的库和模块。 2. 连接到目标应用程序或游戏。 3. 设置自动挂机的条件和触发器,如时间间隔、特定关卡等。 4. 编写相应的代码来执行自动化任务,例如模拟鼠标点击、键盘输入等。 5. 循环执行自动化任务直到达到预设的条件或触发器。 6. 保存结果或输出报告,可选的可以将相关数据保存到本地文件或数据库中。 总而言之,Python自动挂机脚本是一种方便实用的工具,可以帮我们自动执行任务,提高工作效率。编写一个高效稳定的自动挂机脚本需要一定的编程经验和对目标应用程序的了解,同时需要遵守相关法律法规和道德规范。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值