文章目录
第二十八章 移动端数据的爬取
1. 移动端背景
随着数字计数的发展,数据不仅仅存在于pc端,移动端数据的发展也是非常的快!对于做数据分析、移动画像、市调研来说,如果你仅仅参考pc端的数据是远远不够的。这个时候,移动端的数据就显得尤为重要了。互联网的发展史是:pc端>移动端>大数据,大数据后面可能是AI人工智能。目前仍然处在大数据的阶段。在2000年后兴起了智能手机,也经历了3G,4G到现在的5G计数历程。移动端极大地改变了人们的生活,人们可以一天不看电脑,但是如果一天不看手机很少人能够做到。移动端的数据有什么作用,第一是数据分析。比如房价,可以参考相关app的数据,对目前房价有一个大概的评估。第二,用户画像,现代人手机上网远远大于电脑上网的数量了,可以通过app获取用户的使用数据,统计后,可以根据用户的倾向精准投放商品。例如在某宝,当你首了某个商品后,后台会给你推荐类似商品,往往都是你喜欢的。第三、统计系统。比如哪个地区哪个商品比较畅销,可以通过App数据来统计。第四、商业竞争。目前市场上充斥着各种软件,比如很多的打车平台,很难某个平台一家独大。不同数据之间有参考价值,可以利于决策。不仅了解对手,也要了解自己。从而更好的把握合适的条件。
学习各块技术的原因:
- 面试:具体会问什么问题因人而异,但是我们必须要对这块有所了解。简历上也写上当今比较热门的技术,如TF。
- 技术提升:会使用工具如(filddler)抓取数据。
2. Uiautomator介绍
Uiautomator是谷歌提供的一个用来做安卓自动化测试的一个Java库。
- 是android的
- 是Java库,作用是用来测试用户界面(view)基于accessibility service(是一个服务)
Android的四大组件 - activity单独的屏幕(窗口),多个窗口之间是通过intent来切换。(android开发语言Kothn只开发安卓的)
- service用于在后台完成指定操作
- 内容提供者:共享一些数据,如通讯录,存储空间等。
- 广播:背景灯,震动,播放的声音等。
ui的缺点: - 只能用Java语言
- 逻辑可能需要打包(jar包或apk文件)才可以实现
如果能够用python实现,能够用电脑控制手机那就太好了。有牛人做了一件事情,就是他们在手机上运行一个叫http rpc服务,将Uiautomator的功能集成进来,将attporc接口封装成一个python库,由此Uiautomator2就出现了。 - 编辑语言是python
- 自带UI控件识别工具weditor
- 使用简单 pip install Uiautomator2
安装要求:安卓4.4版本以上
python版本:3.6以上 (社区反馈3.8.0不支持, 但是3.8.2支持)
3. u2的执行流程
在PC端来编写脚本(相当于发送HTTP请求到移动设备的server端)
移动设备通过wifi或usb接收到了PC上发来的HTTP请求,执行定制的操作
在移动设备上安装atx-agent(守护进程),随后atx-agent启动ui2服务(默认7912端口)进行监听
4. adb的安装和使用
Adb 又称Android调试桥,用于通过电脑端与模拟器或者是设备之间的交互的一个工具。
Adb client 命令行程序‘adb’用于从shell或脚本中运行adb命令
Adb server adb server 是运行在PC的的一个后台程序
Adbd 程序adbd作为一个后台进程在Android设备或模拟器系统中运行
当adb安装成功以后,会在后台启动一个adb server 程序,与移动设备上的adbd程序相对应,adbd是在安卓系统后台中启动的一个程序。这时我们可以根据adb client输入一些adb命令。
adb可以做什么:
- 可以安装和卸载apk文件
- 移动设备和PC端的一个文件传输
- 查看设备上的应用信息
4.1 模拟器的安装
adb的安装
可以安装一个模拟器,当你安装好一个模拟器,adb这个工具就自动安装好了。下面我们以夜神模拟器为例来安装。自己可以去网上搜索下载,这里分享一下我的百度网盘链接:链接:https://pan.baidu.com/s/1bq3N7hD4Gv5681q7KbSGXg
提取码:mhdx
双击点开exe文件,弹出的两个请求选择阻止。
然后选确定,然后选接受协议,点立即安装
半分钟后安装完成,点击安装完成立即使用。
安装完成后,可以将窗口关闭。
右键桌面“夜神模拟器”图标,选择属性。可以看到文件所安装的位置,我的安装在D盘。