Python爬虫入门教程 49-100 Appium安装+操作51JOB_APP(模拟手机操作之一)手机APP爬虫
爬前准备工作
在开始安装Appium之前,你要先知道Appium是做什么的?Appium 是一个自动化测试开源工具,看到没,做测试用的,它有点类似Selenium,可以自动操作APP实现一系列的操作。
标记重点,可以使用python对Appium编写脚本,实现对App的抓取。
今天就给你写一个100%叫你可以运行起来的入门实例。
下载地址
用稳定的最新版本即可。
https://github.com/appium/appium-desktop/releases/tag/v1.10.0
下载之后,双击exe安装即可
出现如下界面,表示安装成功,先不要进行其他的操作,点击下面的 Edit Configurations
注意,在弹出的窗口中,需要配置的ANDROID_HOME和JAVA_HOME 这两个路径都需要安装Android Studio才可以配置好。接下来就去下载安装它吧。
Android Studio的下载、安装与配置
这个是开发Android应用的IDE软件,比较大,安装过程中可能容易出现问题,多百度,多搜狗,多谷歌,多BIng。
在这之前,我建议你先把JAVA的SDK安装上。
下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
安装的目标是实现在CMD窗口,输入java,出现如下效果,记住,你如果没有实现这个步骤,尽量不要往下操作。
百度关键字为:JAVA环境的安装,最难的地方是需要你配置JAVA_HOME环境变量
下载地址:http://www.android-studio.org/index.php 下载安装,没啥好说的,遇到错误,解决就好了,出现如下界面表示安装成功,记住,这个页面不要动,你还有操作要完成。
打开页面之后,4.0以后的所有SDK都勾选上吧,好了,这样子配置的就差不多了。
尝试连接夜神模拟器
重要步骤来了哦~我们要使用Appium操作夜神模拟器里面的APP。
这个地方,你需要确定一下夜神模拟器的adb 和 Android_Studio的adb版本是否一致!
默认环境下,使用 adb version 即可查看到Android SDK的版本为 1.0.40
C:\Users\你的用户名>adb version
Android Debug Bridge version 1.0.40
Version 4986621
Installed as C:\Users\你的用户名\AppData\Local\Android\Sdk\platform-tools\adb.exe
进入夜神模拟器安装路径 ,输入adb version 查看到版本也是1.0.40 注意下面的路径已经改变了
D:\Program Files\Nox\bin
λ adb version
Android Debug Bridge version 1.0.40
Version 4986621
Installed as D:\Program Files\Nox\bin\adb.exe
如果两个版本不一致,你需要进行如下的修改
一般出现的错误如下
adb server version(31) doesn’t match this client (36);killing…
解决办法:
- a、关掉夜神模拟器。同时去任务管理器里看下,adb.exe以及nox_adb.exe这2个进程有没有在运行?有的话就结束掉。
- b、找到SDK的目录和夜神模拟器的目录,将SDK目录(C:\Users\你的用户名\AppData\Local\Android\Sdk\platform-tools)下的adb.exe文件,复制到夜神模拟器的目录(D:\Program Files\Nox\bin\)下,将夜神模拟器目录下原本的adb.exe和nox_adb.exe修改文件名为adb_bak.exe和nox_adb_bak.exe,将从SDK目录复制过来的adb.exe放在夜神目录下,同时复制一份改名为nox_adb.exe。
配置上述内容完毕之后,就可以开始测试了。
启动夜神模拟器设备
打开CMD,进入命令窗口,进入到夜神模拟器根目录。
下面的命令在运行之后,请确保夜神模拟器软件出于**关闭**状态
D:\Program Files\Nox\bin
λ nox_adb.exe connect 127.0.0.1:62001
already connected to 127.0.0.1:62001
出现 already connected to 127.0.0.1:62001
这个地方扩展一下
各模拟器adb连接端口
| 模拟器名称 | 端口号 |
|---|---|
| 夜神安卓模拟器 | 62001 |
| 雷电安卓模拟器 | 5555 |
| 网易MuMu(安卓模拟器) | 7555 |
| 逍遥安卓模拟器 | 21503 |
| BlueStacks(蓝叠安卓模拟器) | 5555 |
| 天天安卓模拟器 | 5037 |
| 安卓模拟器大师 | 54001 |
| Genymotion | 5555 |
可以打开夜神模拟器了
命令行输入下面的命令,查看是否有设备连接
D:\Program Files\Nox\bin
λ adb devices
List of devices attached
* daemon not running; starting now at tcp:5037
* daemon started successfully
127.0.0.1:62001 device
启动Appium
到现在为止,一些关键的配置都进行完毕了,你需要打开Appium了
点击右上角的查找,出现配置页面
我们需要配置如下内容,appPackage 和 appActivity 获取方式参照图片之后
{
"platformName": "Android", # 声明是ios还是Android系统
"platformVersion":"4.4.2", # Android内核版本号,可以在夜神模拟器设置中查看
"deviceName": "OPPO R11", # 这个地方我们可以写 127.0.0.1:62001
"appPackage": "com.taobao.taobao", # apk的包名
"appActivity": "com.taobao.tao.welcome.Welcome" # apk的launcherActivity
}
获取apk包名和launcherActivity
将下载好的APK包,放置到夜神模拟器根目录
aapt dump badging 51job.apk
得到我们的两个参数,完美~
配置Appium
按照上述参数配置完毕之后,我们就可以进行一些基本操作了。
点击start session 可以看到夜神模拟器已经完美的运行起来了,哈哈哈
最后提醒
- 你需要熟悉android的一些环境变量的配置
- 有可能你安装java的环境会失败,百度一下文章很多的,解决方案也很多的
- 下载android SDK的时候,卡住了,一般是网络原因
- 夜神模拟器启动不了,注意查看adb version的相关配置
- 夜神模拟器卡死,重新模拟器就好了
Python爬虫入门教程 49-100 Appium安装+操作51JOB_APP(模拟手机操作之一)手机APP爬虫的更多相关文章
- Python爬虫入门教程 1-100 CentOS环境安装
简介 你好,当你打开这个文档的时候,我知道,你想要的是什么! Python爬虫,如何快速的学会Python爬虫,是你最期待的事情,可是这个事情应该没有想象中的那么容易,况且你的编程底子还不一定好,这套 ...
- Python爬虫入门教程 44-100 Charles的安装与使用-手机APP爬虫部分
1. 第二款抓包工具Charles安装与使用 Charles和Fiddler一样,也是一款抓包工具,比Fiddler界面更加清晰,支持多平台 1.1 官方网址 https://www.charlesp ...
- Python爬虫入门教程 43-100 百思不得姐APP数据-手机APP爬虫部分
1. Python爬虫入门教程 爬取背景 2019年1月10日深夜,打开了百思不得姐APP,想了一下是否可以爬呢?不自觉的安装到了夜神模拟器里面.这个APP还是比较有名和有意思的. 下面是百思不得姐的 ...
- Python爬虫入门教程 48-100 使用mitmdump抓取手机惠农APP-手机APP爬虫部分
1. 爬取前的分析 mitmdump是mitmproxy的命令行接口,比Fiddler.Charles等工具方便的地方是它可以对接Python脚本. 有了它我们可以不用手动截获和分析HTTP请求和响应 ...
- Python爬虫入门教程 37-100 云沃客项目外包网数据爬虫 scrapy
爬前叨叨 2019年开始了,今年计划写一整年的博客呢~,第一篇博客写一下 一个外包网站的爬虫,万一你从这个外包网站弄点外快呢,呵呵哒 数据分析 官方网址为 https://www.clouderwor ...
- Python爬虫入门教程 36-100 酷安网全站应用爬虫 scrapy
爬前叨叨 2018年就要结束了,还有4天,就要开始写2019年的教程了,没啥感动的,一年就这么过去了,今天要爬取一个网站叫做酷安,是一个应用商店,大家可以尝试从手机APP爬取,不过爬取APP的博客,我 ...
- 2019-03-22 Python Scrapy 入门教程 笔记
Python Scrapy 入门教程 入门教程笔记: # 创建mySpider scrapy startproject mySpider # 创建itcast.py cd C:\Users\theDa ...
- Python基础入门教程
Python基础入门教程 Python基础教程 Python 简介 Python环境搭建 Python 基础语法 Python 变量类型 Python 运算符 Python 条件语句 Python 循 ...
- Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE
Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE Windows平台下安装Arduino IDE Windows操作系统下可以使用安装向导和压缩包形式安装.下面详细讲解这 ...
- 孤荷凌寒自学python第八十五天配置selenium并进行模拟浏览器操作1
孤荷凌寒自学python第八十五天配置selenium并进行模拟浏览器操作1 (完整学习过程屏幕记录视频地址在文末) 要模拟进行浏览器操作,只用requests是不行的,因此今天了解到有专门的解决方案 ...
随机推荐
- Python eval 函数妙用
eval 功能:将字符串str当成有效的表达式来求值并返回计算结果. 语法: eval(source, globals, locals) -> value 参数: source:一个Python ...
- mac升级后idea提示Can't start git
试了官网的解决方案,还是不行,然后到Stack Overflow上面,找到了下面这个方法,完美解决. 在命令行中运行: xcode-select --install 安装软件就可以了.
- STL--multiset用法
multiset: multiset<int>s; 定义正向迭代器与正向遍历: multiset<int>::iterator it; for(it=s.begin();it! ...
- Dubbo原理和源码解析之服务引用
一.框架设计 在官方<Dubbo 开发指南>框架设计部分,给出了引用服务时序图: 另外,在官方<Dubbo 用户指南>集群容错部分,给出了服务引用的各功能组件关系图: 本文将根 ...
- 这可能是史上最好的 Java8 新特性 Stream 流教程
本文翻译自 https://winterbe.com/posts/2014/07/31/java8-stream-tutorial-examples/ 作者: @Winterbe 欢迎关注个人微信公众 ...
- 一个C#程序员学习微信小程序的笔记
客户端打开小程序的时候,就将代码包下载到本地进行解析,首先找到了根目录的 app.json ,知道了小程序的所有页面. 在这个Index页面就是我们的首页,客户端在启动的时候,将首页的代码装载进来,通 ...
- 将AE开发的专题图制作功能发布为WPS
AE开发可以定制化实现ArcGIS的地理处理功能,并实际运用于其他方面的工作,有时候我们还希望将AE开发的功能发布为网络地理信息处理服务(WPS),从而能在Web端更自由便利地调用所需要的地学处理算法 ...
- 【RecyclerView优化】
1.局部刷新 (1)避免整个列表的数据更新,只更新受影响的布局.例如,加载更多时,不使用notifyDataSetChanged(),而是使用notifyItemRangeInserted(range ...
- 《HelloGitHub》第 34 期
公告 新年快乐!大家的年终奖都发了啥? <HelloGitHub>第 34 期 兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣.入门级的开源 ...
- len(x) 击败 x.len(),从内置函数看 Python 的设计思想
内置函数是 Python 的一大特色,用极简的语法实现很多常用的操作. 它们预先定义在内置命名空间中,开箱即用,所见即所得.Python 被公认是一种新手友好型的语言,这种说法能够成立,内置函数在其中 ...