想开发网页爬虫,发现被反爬了?想对 App 抓包,发现数据被加密了?不要担心,使用 Airtest 开发 App 爬虫,只要人眼能看到,你就能抓到,最快只需要 2 分钟,兼容 Unity3D、Cocos2dx-*、Android 原生 App、iOS App、Windows Mobile ……
Airtest 是网易开发的手机 UI 界面自动化测试工具,它原本的目的是通过所见即所得,截图点击等等功能,简化手机 App 图形界面测试代码编写工作。
爬虫开发本着天下工具为我所用,能让我获取数据的工具都能用来开发爬虫这一信念,决定使用 Airtest 来开发手机 App 爬虫。

支持无线控制。
我的书除了实体书以外,也可以在微信阅读上查看
1 xrazor 2019-01-19 19:11:35 +08:00 有意思 |
![]() | 2 itskingname OP @xrazor 而且不需要连接 USB 线。 |
![]() | 3 111111111111 2019-01-19 19:37:32 +08:00 via Android 有点意思 |
![]() | 4 dengtongcai 2019-01-19 19:45:57 +08:00 via iPhone 因吹丝挺 |
![]() | 5 YingJie 2019-01-19 19:53:15 +08:00 厉害了,直接手机爬虫? |
6 itskingname OP @YingJie 对。 |
![]() | 7 Yarnus 2019-01-19 19:59:55 +08:00 via iPhone 666 老哥强 我以前也试过 appium 配合 autojs 用安卓手机爬微信公众号文章 但是效果没你这个好 |
![]() | 8 ranleng 2019-01-19 20:04:18 +08:00 via Android 有意思 |
9 blueorange 2019-01-19 20:17:52 +08:00 ubuntu 1804 运行不起来? |
![]() | 10 itskingname OP @blueorange 官方是支持 Ubuntu 的。我自己在 macOS 和 Windows 做过测试,但是没有在 ubuntu 上测试。 |
![]() | 11 dapang1221 2019-01-19 20:21:37 +08:00 惊了,这是什么东西,最骚的是那个 touch()的参数是个图标 |
![]() | 12 MASAILA 2019-01-19 21:07:03 +08:00 via iPhone 有意思 研究一下 |
13 newmind 2019-01-19 21:40:12 +08:00 via Android 堪称手机版的 selenium |
![]() | 14 ctro15547 2019-01-19 21:44:48 +08:00 uiautomator2、appium 都能做,只抓 UI 数据有局限性,效率低。最近在考虑做这方面的拓展,怎么用 app 爬数据比较效率,还没啥头绪。。 |
![]() | 15 itskingname OP @newmind 关键是这 Airtest 也支持 Selenium |
![]() | 16 itskingname OP @ctro15547 实际上很简单,再配合 mitmproxy 抓包即可。我的书上有详细案例。 |
![]() | 17 itskingname OP @dapang1221 高级神器。 |
![]() | 18 d5 2019-01-19 22:11:52 +08:00 这工具,十分美滋滋,前途无量 |
![]() | 19 d5 2019-01-19 22:12:16 +08:00 难以言表的激动,相见恨晚 |
![]() | 20 itskingname OP @d5 如果对你有帮助,请关注我的公众号,并转发公众号这篇文章,让更多人看到 |
![]() | 21 akira 2019-01-19 22:37:00 +08:00 这个扩展一下不就是群控了么 |
![]() | 23 itskingname OP ![]() @d5 我的书上写了如何做更稳定的群控。 |
24 Fulcrum 2019-01-19 23:05:36 +08:00 via Android 和 Auto.js 有什么不一样的地方吗 |
![]() | 25 itskingname OP @Fulcrum 兼容 Unity3D、Cocos2dx-*、Android 原生 App、iOS App、Windows Mobile,支持图像识别,自动生成代码。 |
![]() | 27 colincat 2019-01-20 00:35:15 +08:00 via iPhone 手机其实检测更容易,设备 id 投毒了解一下 |
![]() | 28 lance7in 2019-01-20 02:02:44 +08:00 试了试 按图片识别的动作, 慢到无法忍受 不过这个功能很赞 资瓷 |
29 omph 2019-01-20 07:42:25 +08:00 神器啊,不过网易也太低调了,都不推广的嘛 |
![]() | 30 itskingname OP @lance7in 所以那个功能我都是一笔带过 |
![]() | 31 itskingname OP @omph 网易内部还挺多这种好用不推广的工具 |
![]() | 32 justin2018 2019-01-20 08:35:00 +08:00 哈哈 谢谢楼主分享了 hohohoho~~~ |
![]() | 33 itskingname OP @justin2018 好用请关注微信并转发~ |
![]() | 34 itskingname OP @lance7in 基于 pillow 做的识别 |
35 cz208209 2019-01-20 09:06:42 +08:00 这个抢红包快吗 |
![]() | 36 pango 2019-01-20 10:16:59 +08:00 哈哈,我的一堆旧手机有用武之地了 |
![]() | 37 itskingname OP @laucie 很快,而且我还在我的读者群搞了这个开发抢红包程序的比赛。 |
![]() | 38 BadReese 2019-01-20 10:41:58 +08:00 真是不错 |
![]() | 39 justin2018 2019-01-20 11:09:47 +08:00 @itskingname Python 爬虫开发 从入门到实战 ISBN 9787115490995 这本书么 |
![]() | 40 itskingname OP |
41 cz208209 2019-01-20 11:46:40 +08:00 @itskingname 申请进群,机器人没有反应 |
![]() | 42 locoz 2019-01-20 12:05:28 +08:00 via Android 之前从熊博那里知道了这玩意后就试了一下做群控的效果,写起来是很爽,但是有些骚操作目前还是做不出来,要等后面更新,如果现在要用的话只能是另外写一个 android 原生 app 去搞。 他们还有个叫 airlab 的云测试服务,就是把你的 airtest 代码丢到他们的手机机房里跑,不过他们也没有很优雅的方式解决群控最恶心的温度控制和网络接入问题,还是直接拿空调和定制机柜怼的。 |
![]() | 43 itskingname OP @laucie 麻烦再申请一次,备注来自 Airtest |
44 itskingname OP @locoz 网络接入我目前是购买的电磁屏蔽箱和无线 AP,每 15 台手机一组。 |
![]() | 45 locoz 2019-01-20 13:06:57 +08:00 via Android @itskingname #44 他们也是这种方案,其实我觉得这种方式还不够优雅,比较麻烦 |
![]() | 48 itskingname OP @locoz 那就买 Sim 卡。无线控制用 Sim 卡也可以实现,不是非要 WiFi。 |
![]() | 49 itskingname OP @Vegetable 不用考虑,肯定可以。因为我已经这样用了很久了。 |
![]() | 50 itskingname OP @kingcc 我都不知道我引用了这个东西 |
![]() | 51 JCZ2MKb5S8ZX9pq 2019-01-20 14:13:19 +08:00 借楼问一句,有啥办法能直接获取使用 app 时 fiddler 得到的数据? 如果可以的话,配合虚拟操作,直接拿 json 呗。 |
![]() | 52 sea516 2019-01-20 14:20:19 +08:00 用了一下 感觉还不错 |
![]() | 53 locoz 2019-01-20 14:23:41 +08:00 @itskingname #48 我当然知道 SIM 卡能实现,说得好像流量不要钱一样 ![]() |
![]() | 54 itskingname OP ![]() @JCZ2MkKb5S8ZX9pq 当然可以,我的书上就写了这种方法。请看上面我贴的书的二维码。 |
![]() | 55 itskingname OP @locoz 用国外的卡啊~ |
![]() | 56 itskingname OP @JCZ2MkKb5S8ZX9pq 第九章,基于 mitmproxy |
![]() | 57 applehater 2019-01-20 18:23:40 +08:00 @locoz 手机机柜?网络的话可以用 USB 网卡吗 |
![]() | 58 locoz 2019-01-20 18:32:01 +08:00 via Android @itskingname #55 有渠道吗,介绍一下 |
![]() | 59 locoz 2019-01-20 18:34:27 +08:00 via Android @applehater #57 目前没看到用 USB 网卡的。。 |
![]() | 60 itskingname OP @locoz 有渠道,但是不能介绍。 |
![]() | 61 huruwo 2019-01-20 21:46:54 +08:00 via Android 游戏可以吗 |
![]() | 62 itskingname OP @huruwo unity 开发的游戏和 coco 开发的游戏都可以 |
![]() | 63 thursday 2019-01-20 22:21:48 +08:00 @itskingname 基于 pillow 做的识别 有类似的开源项目吗 。 判断一个图片 是否包含另外一个图片 |
![]() | 64 huruwo 2019-01-20 22:35:25 +08:00 via Android @itskingname 嗯 看到了 |
![]() | 65 huruwo 2019-01-20 22:37:56 +08:00 via Android 我现在就是从事 app 爬虫工作 一个人操作 500 多台手机 不知道你这个和其他测试框架有什么比有什么优势呢 比如 appium 这种 |
![]() | 67 itskingname OP @thursday Python 的 pillow 这个库本身就有这个功能 |
![]() | 68 itskingname OP @huruwo 实际上他们底层的原理都是差不多的。Airtest 好在对开发友好,能图像识别,并且不用插 USB 线就能控制手机。 |
![]() | 69 fireapp 2019-01-20 23:29:42 +08:00 via iPhone 其实简单的直接可以 adb shell 算点坐标能达到同样效果,14 年的时候就这么干过 |
![]() | 70 itskingname OP @fireapp 点坐标最麻烦的问题在于不同分辨率的代码不通用。 |
![]() | 71 huruwo 2019-01-20 23:36:29 +08:00 via Android @itskingname 试用了 感觉很好 但是图像识别速度确实捉急 我再继续使用下 一周后再分享个心得体会 |
![]() | 72 itskingname OP @huruwo 好 |
![]() | 73 huruwo 2019-01-20 23:49:10 +08:00 via Android @fireapp 简单的坐标不适合复杂的操作 比如突然出现的弹窗 点击特定的文字 图标 但是位置不固定 等等 |
74 liyuanzao 2019-01-21 02:13:27 +08:00 支持校友,同时买一本书学习下,因为也经常在清洗和抓取数据。学习了一下你的博客,很有启发,。 @itskingname |
![]() | 75 TaoQAQ 2019-01-21 09:04:13 +08:00 AutoJs 了解一下 |
![]() | 76 soulmine 2019-01-21 09:51:23 +08:00 appium 了解一下 首先你不可能要 大批量或者爬几个月的时候 爬东西挂台真机 第二 挂台虚拟机也不现实 第三 这东西不像 chromeless 有 aws 的 serverless 可用性挺 emmmm 的 |
![]() | 77 itskingname OP @TaoQAQ autojs 支持 Unity3D、Cocos2dx-*、Android 原生 App、iOS App、Windows Mobile 吗?能不插 USB 线远程控制吗? |
![]() | 78 itskingname OP @soulmine Appium 不好用。 |
![]() | 79 nicoljiang PRO 是 微信读书不适合写技术类书籍么?上面代码全是 < > |
![]() | 80 itskingname OP @nicoljiang 有点奇怪,我手机上看着完全正常啊,iOS12.1.2 |
![]() | 81 nicoljiang PRO @itskingname 可能微信小程序的问题吧 |
![]() | 83 d5 2019-01-21 14:43:09 +08:00 @itskingname 已经在微信阅读加入书架~ |
![]() | 84 itskingname OP @d5 感谢感谢 |
![]() | 85 HarryQu 2019-01-21 18:46:06 +08:00 via Android android 小程序 微信读书看不到图片 , 代码格式也乱了。 下载微信读书 app 可以正常阅读 |
![]() | 86 itskingname OP @HarryQu 小程序还真是不可靠啊 |
87 honglongmen 2019-01-22 04:30:19 +08:00 战略性马克. |
88 honglongmen 2019-01-22 04:36:27 +08:00 https://www.kingname.info/2018/10/13/use-docker-swarm/ 原来之前那篇帖子是你写的? |
![]() | 89 itskingname OP @honglongmen 正是本人。 |
![]() | 90 Leigg 2019-01-22 13:04:31 +08:00 via iPhone 牛逼!这个周末试试 |
91 leon0918 2019-01-22 14:54:05 +08:00 马可 动手试试 |
![]() | 92 guanhui07 2019-01-22 17:02:24 +08:00 厉害 |
![]() | 93 MuscleOf2016 2019-01-24 10:23:44 +08:00 貌似模拟器不怎么支持 麻烦。 |
![]() | 94 itskingname OP @MuscleOf2016 模拟器也是能支持的啊。亲测有效。 |
![]() | 95 MuscleOf2016 2019-01-24 11:24:15 +08:00 @itskingname geny 的模拟器吗,噗,昨天试了几次都不可以,刚准备截报错信息的可以了,有毒。 |
![]() | 96 nsky 2019-01-25 21:33:26 +08:00 via Android 不错 |
97 haoxuexiaoyao 2019-02-21 12:12:40 +08:00 这个书的视频网上有么 @itskingname |
![]() | 98 itskingname OP @haoxuexiaoyao 你扫描书里面的二维码就可以看到视频。 |
![]() | 99 1130335361 2019-02-22 14:48:11 +08:00 如果只要爬第 10 页的数据,那就要下拉十次? |
![]() | 100 itskingname OP @1130335361 对。就是这样的。人怎么操作,这个程序就怎么操作。 |