使用python让微信读书自动翻页

微信读书目前是朋友圈最流行的一款读书app,但是很遗憾微信读书没有自动翻页模式,不过这可难不倒程序员,写个程序让它自动翻页不久好了。

而且微信读书有这样一个激励政策:“每阅读30分钟可兑1赠币,每周最多可兑10赠币。听书超过2小时部分不支持兑换。”我常常每个月读书时间不超过五个小时,甚至不超过1个小时(深刻反省),微信读书有这么好的激励机制,应当利用起来,不光增加了自己的阅读量和知识储备,还有赠币可以赚,何不每周多读书呢?

下面教你如何使用python让微信读书自动翻页,下载安装网易的mumu安卓模拟器,安装后在里面安装微信读书。然后下载adb,解压后在文件夹下运行如下代码,或者将该目录添加进系统环境变量。

from uiautomator import device as d
import time
import random
import os
import sys

# adb连接mumu所在端口
def adb_connect():
    adb_response = os.popen("adb connect 127.0.0.1:7555")
    return adb_response.read()

# 从右向左翻页
def next_page():
    d.swipe(1000, 500, 30, 500)


# 阅读模式:停留时间在函数中设定
def read_book_human_mode(cur_page, max_page, total_time=300):
    print("开始阅读(有人模式)")
    d.screen.on()
    reading_time = 0
    while True:
        next_page()
        cur_page += 1
        if cur_page >= max_page:  # 超过最大页数停止
            break
        sleep_time = random.randint(10, 15)
        time.sleep(sleep_time)
        reading_time += sleep_time
        if reading_time / 60 > total_time:  # 超过最大时间停止
            break
        print("第" + str(cur_page) + "页" + "阅读" + str(sleep_time) + "s, 累计" +
              str(round(reading_time / 60, 2)) + "min")

# 无人模式:平均每页停留1min
def read_book_nobody_mode(cur_page, max_page):
    print("开始阅读(无人模式)")
    d.screen.on()
    reading_time = 0
    while True:
        sleep_time = random.randint(30, 50)
        time.sleep(sleep_time)
        reading_time += sleep_time
        print("第" + str(cur_page) + "页" + "阅读" + str(sleep_time) + "s, 累计" +
              str(round(reading_time / 60, 2)) + "min")
        next_page()
        time.sleep(60 - sleep_time)
        cur_page += 1
        if cur_page >= max_page:  # 超过最大页数停止
            break


if __name__ == '__main__':
    print(adb_connect())
    read_book_human_mode(int(sys.argv[1]), int(sys.argv[2]))
    # read_book_nobody_mode(int(sys.argv[1]), int(sys.argv[2]))
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容