爬虫 第八讲 移动端数据抓取

爬虫 第八讲 移动端数据抓取

一、移动端环境搭建

(一)、移动端数据简介

1.移动端爬取数据的背景

随机互联网的发展,数据不仅仅只是存在于PC端。移动端的数据在这几年的占比以及势头发展趋势呈现几何倍数的增长。对于做数据分析、用户画像、市场调研来说仅仅参考PC端的数据是远远不够的。那么于此同时移动的数据就显得尤为的重要。

2.获取移动端数据的作用?

• 数据分析
• 用户画像
• 商业竞争
• 统计系统

3.UIAutomator的介绍

UIAutomator是google提供的用来做安卓自动化测试的一个java库

4.UIAutomator的缺陷

• 测试脚本只能用Java语言开发
• 测试脚本要打包成jar包或者apk包上传到设备上才能实现

5.UIAutomato2的优势

• UI自动化编写采用Python,学习成本低
• UI控件识别有专门的工具 weditor
• 环境搭建简单
• UI自动化脚本运行稳定

项目地址https://github.com/openatx/uiautomator2

6.UIAutomator2的执行流程

• 在PC端来编写脚本(相当于发送HTTP请求到移动设备的server端)
• 移动设备通过wifi或usb接收到了PC上发来的HTTP请求,执行定制的操作
• 在移动设备上安装atx-agent(守护进程),随后atx-agent启动ui2服务(默认7912端口)进行监听

(二)、adb的简介和u2的基本操作

1.adb的安装与使用

Adb又称Android调试桥,用于通过电脑端与模拟器或者是设备之间的交互的一个工具
Adb client 命令行程序‘adb’用于从shell或脚本中运行adb命令
Adb server adb server 是运行在PC的的一个后台程序
Adbd 程序adbd作为一个后台进程在Android设备或模拟器系统中运行

2.adb有什么作用?

• 安装卸载apk文件
• 移动设备和PC之间拷贝文件
• 查看设备上安装的应用信息
• 文件管理
• 按键操作

3.adb如何使用?

把adb的bin目录添加到环境变量当中
在这里插入图片描述

adb devices 查看链接的移动设备
adb kill-server 关闭链接的移动设备
adb install apk文件路径  安装app应用
adb shell pm list packages 查看应用包名
adb uninstall 应用包名 卸载应用
4.UIAutomator2快速入门
python -m uiautomator2 init  初始化移动设备

Uiautomator-server: 就是谷歌原生的 uiautomator

Atx-agent: uiautomator的守护进程

minicapminitouch 中2个包是atx-agent增加远程控制功能的依赖

5.UIAutomator2控制移动设备
u2.connect_wifi('172.17.100.15')  通过wifi
u2.connect_usb('127.0.0.1:62025') 通过usb(手机序列号)
u2.connect_adb_wifi('172.17.100.15:5555') 通过adb wifi
6.UIAutomato2启动手机app
使用aapt工具进入这个路径输入
aapt dump badging apk的文件名

找到包名
d.app_start('包名')

停止
d.app_stop('包名')
7.UIAutomator2自动化工具基本操作
d.service('uiautomator').running() uiautomator运行状态

d.service('uiautomator').start() 启动uiautomator

d.service('uiautomator').stop() 停止uiautomator

d.app_install(data='apk地址') 安装app

d.app_current() 获取当前前台app的信息

d.app_stop('包名') 停止当前app

d.app_clear('包名') 清除缓存

d.app_uninstall('包名') 卸载app

d.app_list() 获取所有app的信息

d.app_stop_all() 停止所有app

d.app_uninstall_all() 卸载所有app

(三)、weditor的基本操作

1.什么是Activity?

Activity是Android系统中的四大组件之一,可以用于显示View。Activity是一个与用户交互的系统模块

An activity is a single, focused thing that the user can do. Almost all activities interact with the user, so the Activity class takes care of creating a window for you in which you can place your UI with setContentView(View).

2.Activity的控件

• TextView 显示文字
• EditText 输入框
• ImageView 显示图片
• Button 按钮
• CheckBox 复选框
• RadioButton 单选按钮

3.weditor的使用

安装

pip install weditor -i https://pypi.douban.com/simple
在命令行输入 weditor
4.weditor的界面包括

• 移动设备选择区
• 控件属性区域
• 代码展示区
• 层级关系和结果展示区域

(四)、UiSelector和控件定位

定位方式
1 UiSelector

代表的是一种搜索标准,可以在当前展示的页面中查询和获取特定的元素的句柄handle

2 Xpath

1.Andrid基本布局
  • 线性布局 linearLayout 特点:有2种排列空间的方式 水平 垂直
  • 相对布局 RelativelLayout 特点:以某个元素作为参照物
  • 帧布局 FrameLayout 特点:View都会放到左上角
  • 网格布局 TableLayout 特点:继承了线性布局,使用较少
  • 绝对布局 AbsoluteLayout 特点:按坐标布局,缺点不同分辨率会有影响,几乎不用
2.控件的属性
indexint索引0
instanceint实例5
classSting类名android.widget.TextView
packageSting包名com.tl.kaoyan
checkboolean控件勾选状态false/true
enable/clickableboolean控件可点击false/true
focused/focusableboolean焦点false/true
Scrollableboolean滚动条false/true
Long-clickableboolean长按false/true
selectedboolean选择状态false/true
3.文本定位的方式

Text 全文本匹配
textContains 文本包含
textMatches 正则表达式
textStartsWith 起始文本

4.ClassName定位的方式

className classNmae的值
classNameMatches 正则表达式匹配 classNmae的值

5.资源id进行定位

resourcdId 资源id

6.混合定位的方式

文本定位 资源id ClassName等可以配合使用来进行定位

7.坐标点定位法

坐标点定位法分为2种方式 一种是通过原始的坐标点来呈现。一种是通过%号的方式来呈现

8.xpath定位的方式

d.xpath(‘xpath语句’)

二、fiddler抓包工具的使用

(一)、fiddler抓包工具

1.什么是fiddler?

Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯
官网 https://www.telerik.com/fiddler

在这里插入图片描述
fiddler功能很强大
• 支持IE、Chrome、FireFox等等浏览器
• 可以在phone、pad等移动设备进行连接

2.fiddler的安装

在这里插入图片描述
选择安装路径
在这里插入图片描述
点击Install
在这里插入图片描述

3.SwitchyOmega插件的安装

https://www.cnblogs.com/nicole-zhang/p/11955881.html

4.会话列表

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

(二)、fiddler 配置移动端数据包

1.夜神模拟器配置

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.fiddler 配置

在这里插入图片描述
(现在打开我们模拟器的浏览器)
在这里插入图片描述
在这里插入图片描述
提示有证书问题,我们来安装证书,点击继续

在这里插入图片描述
在这里输入我们的ip地址
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(点击这个选项)
在这里插入图片描述
(如果设置密码的就已经可以了,如果没有设置密码会弹出选项让我们来设置密码)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
弹出这个吐司证明安装成功了

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值