哪个男孩不想用Python来控制手机呢?简简单单,只需要把手机连接上数据线(甚至可以不用),运行程序,手机就开始自动完成你想要做的工作。比方说,每日打卡,智能刷抖音等等。

为什么要用Python控制手机?

使用Python控制手机,能够帮助我们完成一些机械化的任务,比如每日打卡,定时回复等等,另一方面,借助Python在人工智能方面有很多强大的库,调用起来也很方便,凭借Python高效的编码效率,方便我们智能化操作。

案例之智能刷抖音

抖音本来就是看着玩的,为什么要用Python帮我们刷呢?别急,用Python帮我们刷抖音,是为了让我们玩的更快乐。众所周知,抖音的算法是让你越看越喜欢。

举个例子

张三喜欢看美女类视频,只要我们刷到视频的时候截图,并且分析图片中人脸的颜值,穿着情况等,我们就能判断她是否大致符合张三的品味,如果符合,我们就点赞并关注。用不了多久,张三手机里的抖音就都是美女视频了。 另外,今日头条也是类似原理。我们就是要让机器人代替完成这个让程序知道我们喜欢哪一类视频的工作。

在Github确有这样的一个项目,收获了6.9K的 star。

appium python 链接手机自动化 python自动控制手机_公众号

特性:

自动翻页、颜值检测、人脸识别、自动点赞、自动关注、随机防 Ban、自动评论

项目地址:

https://github.com/wangshub/Douyin-Bot 原理较为简单就大致如上所述。

方案的选择与实现

编写语言以及用到的库:

编码语言我们首选Python,人脸识别库方面我们可以用face_recognition这种流行开源模块,也可以用商业公司的免费API,这里推荐商业公司的免费API,对于个人来说完全足够,也方便调用。此外time模块与sys模块也必不可少。

ADB还是pyton-adb?

adb是谷歌官方为安卓打造的调试工具,python-adb是一位由谷歌工程师但是非谷歌官方打造的一个包含ADB和Fastboot协议的纯Python实现,使用libusb1进行USB通信。
考虑到易用性与实用性,我们选择谷歌官方的ADB。

实战之ADB的安装与简单使用

手机上的准备工作

手机进入设置,关于手机那里多次点击版本号码以进入开发者模式,我们点开指针位置打开,这样我们点击哪里,该位置的x与y轴得值就会出现在右上角,方便我们调试使用。

appium python 链接手机自动化 python自动控制手机_公众号_02

ADB的下载与环境变量的配置

可以访问https://adbshell.com/downloads进行下载:

appium python 链接手机自动化 python自动控制手机_Python_03

也可以在公众号后台回复adb来获取下载地址。 如图所示,提供了ADB工具,ADB驱动以及APK安装工具,我们下载第一个即可。 然后解压得到如下文件:

appium python 链接手机自动化 python自动控制手机_Python_04

我们可以将其配置为环境变量,也可以直接在该目录下编写Python程序。

win7以及win10,可以直接在目录输入cmd,

appium python 链接手机自动化 python自动控制手机_公众号_05

然后执行adb shell命令: 会提示 是否允许USB调试,我们选择 确定,也可以打钩再确定,方便后续调试。

appium python 链接手机自动化 python自动控制手机_Python_06

ADB相关命令介绍:

1.模拟键盘输入:
adb shell input keyboard text "abc"2.模拟点击屏幕指定位置(后面的两个数字,就是坐标值)
adb shell input tap 500 5003.模拟滑动
从(500,800)滑动到(500,300)
adb shell input swipe 500 800 500 3004.截屏操作(很有用)
使用screencap 命令,对安卓设备的当前屏幕进行截屏,示例: adb shell screencap -p /sdcard/01.png 然后将截屏的图片下载到本地电脑,示例:
adb pull /sdcard/01.png

appium python 链接手机自动化 python自动控制手机_人脸识别_07

这样我们就能在程序目录发现一个 01.png的文件,方便程序调用,做识别与定位等工作。

Python实现

刚才我们执行命令都是通过cmd来执行的,换用python也很简单,只需要使用Python自带的模块OS,来操作就可以。