用过“微信读书”的朋友都知道,如果我们想阅读全本的付费书籍,除了购买整本(使用书币)外,还可以使用无限卡。可无论是购买全书还是无限卡,归根结底都是要花银子的。

除此之外,还有一种方式——用阅读时长兑换书币。根据目前微信读书的兑换策略,阅读半个小时,即可兑换1枚赠币,每周最多可兑换10枚赠币。因此,理论上每周我们可以使用5个小时的时间,获得最多10元等价书币。

本篇文章博主就教大家一种方法,通过模拟书籍的手动翻页,快速免费获得书币的方法,该方法仅适用于Android平台。

首先要配置好Android SDK环境变量和Python环境,最关键的是可以正常使用adb命令。这一步就不再赘述了,这里简要说明一下模拟翻页的原理,注意看下面一行命令:

adb shell input swipe 1000 600 200 600

这一行指令包含两部分操作:

  1. adb shell:进入设备的Shell命令行;
  2. input swipe 1000 600 200 600:模拟屏幕滑动,从x=1000,y=600坐标处滑动到x=200,y=600坐标处。即从右向左滑屏,也就是翻页的触摸操作;

好了,理解了这行命令后,剩下的事情就好办多了。我们只需要间隔一段时间,循环执行这句话即可。即将下面两行命令放在循环中,循环的次数由书籍的未读页数决定。

 time.sleep(random.uniform(rv_t1,rv_t2))
run('adb shell input swipe 1000 600 200 600', shell=True)

为了尽量模拟人类阅读的真实性,这里的时间间隔是给定时间范围内的随机值。

最后,为了更方便地使用这个脚本,除了正序(即从右向左滑屏)外,还增加了倒序(即从左向右滑屏)和无尽模式(即正序结束后自动倒序,倒序结束后自动正序,循环往复)。完整的Python脚本如下:

 # encoding:utf-8

 from subprocess import run
import time
import random
import os def book(rv_sel, rv_page_num, rv_t1, rv_t2):
rv_sel = int(rv_sel)
if rv_sel == 1:
print('程序运行中')
for i in range(rv_page_num):
time.sleep(random.uniform(rv_t1,rv_t2))
run('adb shell input swipe 1000 600 200 600', shell=True)
n = i + 1
print('总计需翻阅 %d 页,已翻阅 %d 页,剩余 %d 页' % (rv_page_num, n, rv_page_num - n))
exit()
elif rv_sel == 2:
print('程序运行中')
for i in range(rv_page_num):
time.sleep(random.uniform(rv_t1,rv_t2))
run('adb shell input swipe 200 600 1000 600', shell=True)
n = i + 1
print('总计需翻阅 %d 页,已翻阅 %d 页,剩余 %d 页' % (rv_page_num, n, rv_page_num - n))
exit()
else:
print()
print('* ' * 8, '1.正循环-倒循环,无限循环', '* ' * 8)
print('* ' * 8, '2.倒循环-正循环,无限循环', '* ' * 8)
print()
loop = int(input('请选择循环方式:'))
print('程序运行中')
if loop == 1:
while 1:
for i in range(rv_page_num):
time.sleep(random.uniform(rv_t1,rv_t2))
run('adb shell input swipe 1000 600 200 600', shell=True)
n = i + 1
print('总计需翻阅 %d 页,已翻阅 %d 页,剩余 %d 页' % (rv_page_num, n, rv_page_num - n))
for i in range(rv_page_num):
time.sleep(random.uniform(rv_t1,rv_t2))
run('adb shell input swipe 200 600 1000 600', shell=True)
n = i + 1
print('总计需翻阅 %d 页,已翻阅 %d 页,剩余 %d 页' % (rv_page_num, n, rv_page_num - n))
else:
while 1:
for i in range(rv_page_num):
time.sleep(random.uniform(rv_t1,rv_t2))
run('adb shell input swipe 200 600 1000 600', shell=True)
n = i + 1
print('总计需翻阅 %d 页,已翻阅 %d 页,剩余 %d 页' % (rv_page_num, n, rv_page_num - n))
for i in range(rv_page_num):
time.sleep(random.uniform(rv_t1,rv_t2))
run('adb shell input swipe 1000 600 200 600', shell=True)
n = i + 1
print('总计需翻阅 %d 页,已翻阅 %d 页,剩余 %d 页' % (rv_page_num, n, rv_page_num - n)) def rand_time(rv_xh):
if int(rv_xh) == 1:
return 10,20
else:
while 1:
t1 = int(input('请输入最小等待时间:'))
t2 = int(input('请输入最大等待时间:'))
if t2 >= t1:
return t1,t2
break
else:
print('最小时间不得小于最大时间,请重新输入') print('* ' * 50,)
print('请选择翻页间隔时间:')
print('1.预设(10秒 - 20秒之间):')
print('2.自定义(大于0):',)
print('* ' * 50,)
while 1:
xh = input('请输入序号:')
if xh == '':
print('输入有误,请重新输入')
elif xh in str([1,2]):
t1,t2 = rand_time(xh)
break
else:
print('输入有误,请重新输入')
while 1:
print()
print('* ' * 8, '1.正序', '* ' * 8)
print('* ' * 8, '2.倒序', '* ' * 8)
print('* ' * 8, '3.无尽', '* ' * 8)
print()
sel = input('请选择翻书方式:')
if sel in str([1,2,3]):
page_num = int(input('请输入书籍总页数:'))
book(sel,page_num,t1,t2)
elif sel == '':
print('输入错误')
else:
print('输入错误')

下面开始连接真机,然后启动App,随便打开一本书,最后打开命令行,运行这个Python脚本吧!提醒一下:不要忘了去兑换书币,否则这些努力就白费了。

最后,请广大读者在经济允许的情况下购买正版书籍,支持作者和出版社。

打python&adb组合拳,实现微信读书永久免费读的更多相关文章

  1. Navi.Soft31.产品.微信聊天(永久免费)

    1系统简介 1.1功能简述 微信确实是一款优秀的社交的软件,被越来越多的人使用.它的电脑版最新版本是2.6,更新也比较及时,只是它有一个功能差强人意,就是同一台电脑只能运行一个微信号,不知道为何这样设 ...

  2. Python实现微信读书辅助工具

    [TOC] ##项目来源 这个有意思的项目是我从GitHub上找来的,起因是在不久前微信读书突然就设置了非会员书架数目上限,我总想做点什么来表达我的不满,想到可否用爬虫来获取某一本书的内容, 但是我技 ...

  3. Python + Appium 自动化操作微信入门看这一篇就够了

    简介 Appium 是一个开源的自动化测试工具,支持 Android.iOS 平台上的原生应用,支持 Java.Python.PHP 等多种语言. Appium 封装了 Selenium,能够为用户提 ...

  4. 【腾讯Bugly干货分享】微信读书iOS性能优化

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/578c93ca9644bd524bfcabe8 “8小时内拼工作,8小时外拼成长 ...

  5. 微信读书 iOS 性能优化总结

    微信读书作为一款阅读类的新产品,目前还处于快速迭代,不断尝试的过程中,性能问题也在业务的不断累积中逐渐体现出来.最近的 1.3.0 版本发布后,关于性能问题的用户反馈逐渐增多,为此,团队开始做一些针对 ...

  6. 微信读书App来了 小伙伴们快去占榜吧

    微信读书App正式上线了,iOS版和Android版同时推出.届时将会出现像微信运动一样的霸榜小伙伴.资料显示,阅文集团成立于2014年1月,是腾讯文学和盛大文学联合成立的新公司.阅文集团成立后,会对 ...

  7. 【python】10分钟教你用python下载和拼接微信好友头像图片

    前言 相信微信大家是用得再多也不过了.那么,对于python+微信,又能玩出什么新的花样呢?下面小编就给大家带来一个好玩的东西.用python下载所有的微信好友的头像,然后拼接成一张大图.这样,大家就 ...

  8. python与shell通过微信企业号发送消息

    python与shell通过微信企业号发送信息,脚本来源于网络,做好搬运工,哈哈,相应的参考链接放在末位 shell版本: #!/bin/bash # CropID="xxxx" ...

  9. Chrome插件安利!可以一键导出微信读书笔记|支持Markdown等三种格式

    众所周知,微信读书App 是一款非常优秀的阅读类App ,周围也有不少人在用.虽然工作比较忙.但是也没少在上面看书做笔记. 美中不足的是,目前微信读书虽然支持笔记导出,但是提供的是将笔记复制到剪切板, ...

随机推荐

  1. Spring Boot(一) Hello World

    一.Spring Boot之我见     Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从 ...

  2. 07-SQLServer数据库中的系统数据库

    一.总结 首先要明确SQLServer的系统数据库一共有5个:Master.Model.Msdb.Tempdb.Resource. 1.Master数据库 (1)master数据库记录了所有系统级别的 ...

  3. servlet request、response的中文乱码问题

    一.request 1.get请求 get请求的参数是在请求行中的,浏览器使用utf-8进行编码,数据的编码一般为UTF-8,而url请求行的默认编码为ISO-8859-1,一般来说有以下方式可以解决 ...

  4. Elasticsearch(10) --- 内置分词器、中文分词器

    Elasticsearch(10) --- 内置分词器.中文分词器 这篇博客主要讲:分词器概念.ES内置分词器.ES中文分词器. 一.分词器概念 1.Analysis 和 Analyzer Analy ...

  5. PacMan 04——道具生成吃下道具怪物的移动

    版权申明: 本文原创首发于以下网站: 博客园『优梦创客』的空间:https://www.cnblogs.com/raymondking123 优梦创客的官方博客:https://91make.top ...

  6. Android Studio [页面的跳转和传值]

    AActivity.java package com.xdw.a122.jump; import android.app.Activity; import android.content.Compon ...

  7. 深入理解 DeepSea 和 Salt 部署工具 - Storage6

    学习 SUSE Storage 系列文章 (1)SUSE Storage6 实验环境搭建详细步骤 - Win10 + VMware WorkStation (2)SUSE Linux Enterpri ...

  8. ES6学习总结之Set和Map数据结构的理解

    前言 当我们需要存储一些数据的时候,首先想到的是定义一个变量用来存储,之后我们可能学了数组,发现数组比变量可以存储更多的数据,接着可能有其它的存储数据的方法等等,然而我今天需要介绍的是在ES6中比较常 ...

  9. Windows Error的错误代码

    时不时会用到,记录下 0操作成功完成. 1功能错误. 2系统找不到指定的文件. 3系统找不到指定的路径. 4系统无法打开文件. 5拒绝访问. 6句柄无效. 7存储控制块被损坏. 8存储空间不足,无法处 ...

  10. spring源码分析系列2:Bean与BeanDefinition关系

    接口表示一种能力,实现了一个接口,即拥有一种能力. BeanDefinition与Bean的关系, 就好比类与对象的关系. 类在spring的数据结构就是BeanDefinition.根据BeanDe ...