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是不行的,因此今天了解到有专门的解决方案 ...
随机推荐
- Java 读书笔记 (四) 常量
常量在程序运行时不能被修改. 在Java中使用final 关键字来修饰常量 ,声明方式和变量类似: final double PI=3.1415927 常量名也可以用小写,但为了便于识别,通常使用大写 ...
- Dubbo中编码和解码的解析
(这里做的解析不是很详细,等到走完整个流程再来解析)Dubbo中编解码的工作由Codec2接口的实现来处理,回想一下第一次接触到Codec2相关的内容是在服务端暴露服务的时候,根据具体的协议去暴露服务 ...
- 单机部署-consul
在本机开发环境中,直接通过以下命令可以启动一个单机consul服务器: ./consul agent -server -data-dir=/tmp/consul -bootstrap -adverti ...
- java线程同步小结
1.线程同步的目的是为了防止多个线程同时访问一个资源时对资源的破坏 2.线程同步方法是通过锁来实现,每个对象都有切仅有一个锁,这个锁与一个特定的对象关联,线程一旦获取了对象锁,其他访问该对象的线程就无 ...
- Android 7.0 存储系统—Vold与MountService分析(二)(转 Android 9.0 分析)
Android的存储系统(二) 回顾:前贴主要分析了Android存储系统的架构和原理图,简要的介绍了整个从Kernel-->Vold-->上层MountService之间的数据传输流程, ...
- 这年头做开源项目,被冷嘲热讽,FreeSql 0.0.4
FreeSql 项目大概在20天前想着要做的,今天发布0.0.4在群里被一位大神讽刺. 这位无名氏哥们的观点,先声明这不是找安慰的文章,更加不是报复打击的目的. 1 所以这个比EF好在哪里 2 毕竟E ...
- HTML阻止iframe跳转页面并使用iframe在页面内嵌微信网页版
昨天看到这篇文章[置顶]开源组件NanUI一周年 - 使用HTML/CSS/JS来构建.Net Winform应用程序界面 就想弄一个winform结合html5的一个小东西,突有兴致,想在里面嵌套一 ...
- 骁龙735处理器细节曝光:7nm工艺加持,支持5G
骁龙700系列是高通公司的中高端芯片组系列,该系列包括10nm骁龙710和骁龙712 SoC:以及8nm骁龙730和骁龙730G SoC.最新消息显示,高通公司正在开发一款新的7nm芯片组,将被称为骁 ...
- Flutter 异常处理之图片篇
背景 说到异常处理,你可能直接会认为不就是 try-catch 的事情,至于写一篇文章单独来说明吗? 如果你是这么想的,那么本篇说不定会给你惊喜哦~ 而且本篇聚焦在图片的异常处理. 场景 学以致用,有 ...
- SQL Server的Linked Server支持使用SEQUENCE吗?
SQL Server的Linked Server支持使用SEQUENCE吗? SQL Server 2012开始支持序列(SEQUENCE),今天遇到有个同事咨询,能否在LINKED SERVER ...