IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 使用爬虫爬取移动端数据 -> 正文阅读

[Python知识库]使用爬虫爬取移动端数据

1:移动端的前导知识

1.1:移动端数据爬取数据的背景介绍

  • PC端 --> 移动端 --> 大数据 --> 人工智能

1.2:移动端数据的作用

  • 1:用于数据分析
  • 2:用于用户画像:也就是根据用户的需求来推送更加具有针对性的数据,给该客户
  • 3:用于统计系统
  • 4:商业竞争

1.3:课外拓展

  • 安卓系统是使用java语言来开发的一个系统

2:Uiautomator介绍

  • Uiautomator简称为ua

2.1:ua是什么

  • 是谷歌用来提供给安卓用来做自动化测试的一个java库,类似用PC端中的selenium,所以说ua是一个用于移动端自动化的一个Java库

2.2:Uiautomator能够做什么

  • 1:ua:是一个测试框架
  • 2:创建一个或多个设备针对我们的应用进行自动化性能的UI测试用例(UI:用户界面)

2.3:AccessibilityService

  • AccessibilityService服务是安卓系统中的一个辅助服务,继承于Service类,可以对手机中的第三方app进行测试

3:安卓系统中的四大组件

  • 这四大组件分别为
  • 1:Activity --> 管理屏幕
  • 2:Service --> 操作后台的应用程序
  • 3:content provider --> 内容的提供者
  • 4:broadcast reveiver --> 广播

3.1:Activity

  • 是一个单独的一个屏幕,Activity的值通过intent跳转,来实现不同的屏幕变换

3.2:Service

  • 是一个服务的组件
  • 在后台完成用户的指定操作

3.3:content provider

  • 是一个内容提供者,通过提供的内容跟来实现操作数据的目的

3.4:broadcast reveiver

  • 是一个广播的服务,比如手机的震动、播放、闪光灯等等

4:UA的介绍

4.1:UA的一个缺点

  • 写业务的逻辑只能通过Java这个编程语言来开发,来实现
  • jar包和apk文件上传到移动设备才可以实现我们想要的要求
    • jar包:想当于python中的一个个模块
    • apk文件:在第三方下载的APP文件都是一个apk文件

4.2:U2的诞生

  • U2是一个python中的一个模块
  • 基于人们想在python中编写python的代码,U2就诞生了
  • 所以说U2可以说是UA的升级版本
  • U2可以在PC中执行移动端

4.3:学习U2的好处

  • 降低了学习的成本
  • 环境搭建简单 —— pip install uiautomator2
  • 专门的控件识别工具 — weditor

5:adb介绍

  • adb是一个模拟工具
  • 当一个电脑(PC)安装完一个模拟器的时候就安装好了一个adb工具

5.1:U2的安装

  • 在电脑的运行终端执行代码:pip install uiautomator2

5.2:模拟器的安装

  • 需要在网上找一个模拟器,安装到电脑上
  • 注意:要把adb的路径添加到path环境变量中去

5.3:AP安装中出现的文件

  • 安卓调试桥:android
  • 命令行:adb client,用来执行adb命令,可以在命令行中书写代码
  • PC的后台程序:adb server,是一个在PC中的一个后台程序
  • adbd:是作为一个后台进程,在移动设备中进行的

6:U2的运行流程

  • 主要是说明PC端和移动端(手机端)之间的关系
1:初始化U2
2:连接wifi,USB
PC
移动端
  • 在连接到移动端之后在移动端中会出现四个文件分别管理移动端的屏幕显示、连接被人的sdk和守护进程

7:在命令行中操作模拟器

  • 需要注意的是,一定要把adb的路径配置到环境变量中去

安装应用

  • 要求:
    • 1:需要有一个apk的一个文件,这个apk的文件就是一个安卓系统中的一个软件
    • 2:需要知道这个apk文件的路径所在
  • 安装的步骤
    • 1:在电脑的运行终端中输入代码
adb install C:\Users\19214\Desktop\106_2a65b5b89a76f0f1e28b51fe6461f077.apk
- 注意:当中的“C:\Users\19214\Desktop\106_2a65b5b89a76f0f1e28b51fe6461f077.apk”为文件的路径,所以说要知道文件的路径

卸载应用

  • 要求:
    • 1:需要知道包名
  • 获得包名的方法
    • 1:使用代码adb shell pm list packages来找包名,但是这个方法不容易找到
    • 2:使用代码D:\YsReason\App\106_2a65b5b89a76f0f1e28b51fe6461f077.apk来获取一个apk文件的详细数据其中就包括这个软件的包名
      获取一个软件的详细信息
  • 卸载的方法
    • 输入代码adb uninstall com.tal.kaoyan即可卸载这个软件
    • 注意:“ com.tal.kaoyan”是这个软件的包名

8:U2的快速入门

8.1:初始化U2

  • 代码python -m uiautomator2 init
  • 需要在命令行中执行这个命令,在pycharm中的Terminal中也可以初始化

8.2:连接U2

  • 可以通过WiFi来来连接,也可以使用USB来来连接

通过WIFI来连接

  • 需要知道手机的IP
  • 获取手机WIFI的IP的方法:设置 - WLAN - 右上角三点 - 高级 - 最下面的就是IP地址了
  • 连接方法:
import uiautomator2 as u2

d = u2.connect_wifi('172.17.100.15')
print(d.info)
  • 这个方法有的时候会失败,但是不用着急,因为我们通常是使用USB来连接的

通过USB来连接

  • 需要知道手机的设备号:在终端运行这个代码可以知道手机的设备号
adb devices
  • 连接方法
# 导包
import uiautomator2 as u2

# 通过WIFI来连接
# d = u2.connect_wifi('172.17.100.15')
# print(d.info)

# 通过USB来连接
d = u2.connect_usb('127.0.0.1:62001')
print(d.info)

下载软件

  • 需要知道apk文件的路径
  • 需要连接到adb
  • 代码
# 导包
import uiautomator2 as u2

# 通过WIFI来连接
# d = u2.connect_wifi('172.17.100.15')
# print(d.info)

# 通过USB来连接
d = u2.connect_usb('127.0.0.1:62001')
# print(d.info)

# 通过路径下载软件
d.app_install(data=r'D:\YsReason\App\106_2a65b5b89a76f0f1e28b51fe6461f077.apk')

卸载软件

  • 需要知道包名
  • 需要连接到adb
  • 代码
# 导包
import uiautomator2 as u2

# 通过WIFI来连接
# d = u2.connect_wifi('172.17.100.15')
# print(d.info)

# 通过USB来连接
d = u2.connect_usb('127.0.0.1:62001')
# print(d.info)

# 通过路径下载软甲
# d.app_install(data=r'D:\YsReason\App\106_2a65b5b89a76f0f1e28b51fe6461f077.apk')

# 卸载软件
d.app_uninstall('com.tal.kaoyan')		# 参数为apk包的名字
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-22 14:07:30  更:2021-07-22 14:09:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/7 3:27:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码