钟意博客

钟意博客

马上订阅 钟意博客 RSS 更新: https://blog.thatcoder.cn/atom.xml

微信读书自动阅读

2023年9月14日 20:00

前言

本文章实现需要服务器, 无可视化界面亦可。
使用的Cookie获取上一篇文章有介绍, 顺手写了这篇。

每日一问: 我为什么要实现这个功能???

机制分析

网页版状态下阅读, 每分钟左右会有一个read请求, 通过回执可以判断是否阅读成功。
具体参数我不想耗费时间去逆向, 但是可以通过模拟浏览阅读页面来等待read响应进行read重播,进而轻易实现自动阅读。

稳定性

服务器测试了24小时, 阅读时间也是相应增加24。

有趣的是, 经测试, 每次程序运行5min, 增加的时长可能是 5min、6min、8min、11min、13min 甚至是 21min。
但是总时长是稳定的, 也就是说会回归一天能拉满的时间24h。

实现代码

虽说是浏览器模拟事件, 到了python的表演时间, 但是我采用了JS去写, 辅佐包是 Playwright
总体是一次有趣的尝试。

准备事项

开始吧, 安装 Playwright

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 先创建一个文件夹
mkdir /server/auto/wxread && cd /server/auto/wxread

# 安装 playwright
npm install playwright
npx playwright install
# 下面这个可能需要点时间
# 因为有浏览器的下载
npx playwright install-deps

# 当然少不了 axios
npm install axios

# 好的, 一切准备就绪, 创建代码吧

代码

wxread.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
const { firefox } = require(...

剩余内容已隐藏

查看完整文章以阅读更多