App数据抓取(基础篇)
文章目录
- 简介
- 环境搭建
- 夜神模拟器
- fiddler
- mitmproxy
- Packet Capture
- Appium
- Docker
- 小结
简介
- 虽然App的反爬机制没有Web端那么复杂,但需要Java开发基础、Android开发经验哈app内部加密算法相关的知识
- 涉及到的内容包括:
- 为了熟悉流程,打造数据获取通路,主要掌握的内容简化为以下几部分
- 夜神模拟器的使用
- Fiddler抓包工具的使用
- appium实现自动化控制app应用
- Docker环境实现多任务
- 先从一款简单的App应用入手,后面实现并行的抓取抖音、快手和今日头条的数据
- 涉及到的内容包括:
环境搭建
- Android模拟器的使用
- 可以直接使用你的手机,但是安全起见,使用模拟器也方便调试
- 常见开发模拟器的对比:
- 抓包软件的安装
- 这里主要使用fiddler和mitmproxy
- 常见抓包软件的对比:
- Docker的安装
夜神模拟器
- 官网下载
- 安装过程很简单,按照指引即可
- 安装完成后会默认创建一个平板的模拟器
- 在设置中开启ROOT
- 也可在手机与网络中选择机型
- 夜神为有些而生,可以多开几个:
- 2核就要开启VT(CPU虚拟化,教程自己找)
- 在设置中开启ROOT
- 安装我们要爬取的应用
- 如果直接在模拟器中搜索不到,可以在网上下载好apk,直接拖进去即可
- 在模拟器的安装目录中,进入
/bin
目录,打开cmd窗口- 执行
> ./adb.exe devices -l
命令,查看正在连接的设备(手机)
- 这就是夜神为我们买的手机;也可以使用此程序安装应用
- 将安装包放在bin目录下,执行
> ./adb.exe install xxx
- 以上便是常见的三种安装app方式
- 将安装包放在bin目录下,执行
- 执行
- 还有个模拟器叫Genymotion,不用,就先不说了!
fiddler
- 一个Web调试平台,可以监控和修改数据流
- 类似nginx实现负载均衡、转发请求
- 更类似wireshark,就是一款抓包工具
- 官网下载
- 大致看一下界面:
- 大致看一下界面:
- 配置fiddler,在Tools中打开Option
- 由于要作为中间人捕获流量,需要使用证书,同意即可!也可以设置要捕获流量的来源,可以是浏览器或远程客户端(移动端)
- 配置个不冲突的端口号,同意远程连接
- OK,配置好之后在谷歌浏览器上添加插件
SwitchyOmega
,设置代理
- 配置为本地即可,要点击应用选项哦,然后选择使用刚配置的代理:
- 相当于让请求经过本地的fiddler,没啥
- 重启我们的fiddler,然后浏览器访问网页,即可抓包!
- 捕获的数据可能需要Decode
- 由于要作为中间人捕获流量,需要使用证书,同意即可!也可以设置要捕获流量的来源,可以是浏览器或远程客户端(移动端)
mitmproxy
- MITM(man in the middle attack)中间人攻击
- mitmproxy即用于中间人攻击的代理
- 和fiddler的作用原理类似:
- 和fiddler代理一样能拦截修改转发返回请求,区别在哪呢?
- 可以载入自定义python脚本
- 安装:基于python的Linux操作系统
- 如果在Windows系统中还需要visual C++ 14.0,直接打开cmd:
pip install mitmproxy
- 查看版本发现,与Linux交互一般使用
mitmdump
- 在Linux中也是类似的
- 如果在Windows系统中还需要visual C++ 14.0,直接打开cmd:
- 接下来的操作都在Linux终端(我用vmware虚拟机)
- 输入
mitmproxy
启动,默认监听8080端口 - 查看虚拟机IP,在浏览器中配置SwitchyOmega
- 配置mitmproxy的证书
- 访问这个网站
mitm.it
(要先配置代理),然后下载对应平台的证书并安装
- 访问这个网站
- 与Windows交互一般使用
mitmweb
,会弹出一个网页;也可以使用mitmdump -w test.txt
将抓到的包保存在文件中
- 输入
Packet Capture
- 是一款免Root的APP,运行在安卓平台上,用来抓取App流量
- 同样是使用中间人技术对SSL进行解密
- 下载安装包,打开模拟器安装
Appium
- 自动化测试开源工具,用于自动调用App功能,配合抓包工具使用,获取数据
- 本质是封装了标准的Selenium类库(Web端测试工具)
- 支持多平台、多语言
- 采用CS模式,客户端只要能发送请求即可,屏蔽了语言特性
- 工作原理:
- 因为支持多语言,所以有多个客户端
- 客户端将要执行的脚本发送给服务器解析,最后传递给真机执行
- 下载Appium服务端并安装
- 官网,可能需要科学上网,下载对应版本!
- 也可通过node安装,不推荐
- 客户端我们使用python,所以可通过pip直接安装
Docker
- 和虚拟机相比:
- 虚拟机需要将操作系统的内核安装部署,才能运行
- 而Docker采用容器的思想,不需要硬件虚拟,能更高效的利用系统资源
- 同时也保证了运行环境的一致性,便于测试和迁移
- 一次配置,到处运行;即所谓的持续交付和部署
- 不用太纠结,用了就知道有多好了!赶紧安装
- 官网
- 之前有两种:Docker-for-Windows和Docker-Toolbox,但是后者deprecated
- Windows版本需要专业版或企业版才可,也要打开Windows的虚拟机Hyper-V
- 这玩意儿对模拟器和VMware等有影响,详情
- 所以咱直接打开虚拟机在Ubuntu上搞,详情
- 安装之后在桌面有个quickstart,用来初始化Docker
- 初始化完成后会进入Docker终端
docker version
查看版本docker run hello-world
运行一个简单程序docker run -it ubuntu bash
下载并进入Ubuntu交互界面docker images
查看下载的镜像,docker rmi hello-world
删除镜像
小结
- 基础环境的搭建先到这里,后续先深入学习抓包工具的使用
App数据抓取(基础篇)相关推荐
- Python爬虫实战:手机APP数据抓取分析!谁说不能爬取app数据的?
大多数手机APP里面返回的是json格式数据,或者一堆加密过的数据 .这里以超级课程表APP为例,使用python抓取超级课程表里用户发的话题.主要是练习python爬取app的一些方式和技巧. 1. ...
- 爬虫_app 4 app数据抓取入门
一.python实现app数据抓取需求 1.分析豆果美食数据包 2.通过python多线程-线程池抓取数据 3.通过使用代理ip隐藏爬虫 4.将数据保存到 mongodb 中 handle_mongo ...
- python爬取app播放的视频,Python爬虫工程师必学——App数据抓取实战视频教程
爬虫分为几大方向,WEB网页数据抓取.APP数据抓取.软件系统数据抓取.本课程主要为同学讲解如何用python实现App数据抓取,课程从开发环境搭建,App爬虫必备利器详解,项目实战,到最后的多App ...
- 22.网络爬虫—APP数据抓取详讲
网络爬虫-APP数据抓取详讲 Fiddler 工作原理 安装完成Fiddler后的配置 前提条件 工具配置 手机数据抓取 Fiddler手机端配置 手机端操作 实战演示 后记 前言:
- Python爬虫入门实战之猫眼电影数据抓取(理论篇)
前言 本文可能篇幅较长,但是绝对干货满满,提供了大量的学习资源和途径.达到让读者独立自主的编写基础网络爬虫的目标,这也是本文的主旨,输出有价值能够真正帮助到读者的知识,即授人以鱼不如授人以渔,让我们直 ...
- python编程理论篇_Python爬虫入门实战之猫眼电影数据抓取(理论篇)
前言 本文可能篇幅较长,但是绝对干货满满,提供了大量的学习资源和途径.达到让读者独立自主的编写基础网络爬虫的目标,这也是本文的主旨,输出有价值能够真正帮助到读者的知识,即授人以鱼不如授人以渔,让我们直 ...
- python爬虫入门实战争胜法_Python爬虫入门实战之猫眼电影数据抓取(理论篇)
前言 本文可能篇幅较长,但是绝对干货满满,提供了大量的学习资源和途径.达到让读者独立自主的编写基础网络爬虫的目标,这也是本文的主旨,输出有价值能够真正帮助到读者的知识,即授人以鱼不如授人以渔,让我们直 ...
- python爬虫之app数据抓取_Python爬虫入门教程 29-100 手机APP数据抓取 pyspider
1. 手机APP数据----写在前面 继续练习pyspider的使用,最近搜索了一些这个框架的一些使用技巧,发现文档竟然挺难理解的,不过使用起来暂时没有障碍,估摸着,要在写个5篇左右关于这个框架的教程 ...
- 爬虫教程( 3 ) --- 手机 APP 数据抓取
1. Fiddler 设置 这是使用 fiddler 进行手机 app 的抓包,也可以使用 Charles,burpSuite 等... 电脑安装 Fiddler, 手机 和 安装 fiddler 的 ...
最新文章
- ASP.NET Core appsettings.json文件(9)《从零开始学ASP.NET CORE MVC》:
- 那么温暖http合约,入门。
- mysql log stats_MySQL慢查询之pt-query-digest分析慢查询日志
- CleanMyMac教程轻松解决各种使用难题
- 自动输入命令执行_Ubuntu命令行操作-命令简介
- SQL查询语句精华总结
- Office 2007打开提示:The setup controller ..
- 毒液组学-多组学关联分析大全
- 梨花众创 - PacketView工业控制协议分析系统 简介
- TFN系列超声波探伤仪为什么在众多品牌竞争中脱颖而出
- chromium浏览器定制 | 高匿名爬虫随机指纹
- PS快捷键大全,记住这些就够了!
- 今日头条启动很快,你觉得可能是做了哪些优化?
- ubuntu启动报错kernel panic
- 速卖通,国际站卖家如何更高效进行测评
- linux grant命令,linux指令集
- “导师制”新型教学模式的探索
- 医院管理php,医院管理系统接入php短信接口的应用
- STC15系列单片机头文件STC15.H在哪?
- Beam,zec之后的又一尝试
热门文章
- java编写一个简单的模拟抽奖程序
- macbook系统占用硬盘大_mac系统占用磁盘80g相关阅读-mac系统占用磁盘80g文章阅读-123文学网...
- ACM封榜滚榜技术记录(qduoj)
- kali开启服务器传文件,FileZilla的使用方法及kali系统ftp服务的安装
- OpenCV小游戏-《跑跑卡丁车》项目实践-1
- perfect scrollbar插件无限上拉bug,以及export default (imported as xxx) was not found in xxx报错
- 格式化的硬盘数据恢复
- 微信小程序/uni-app生成海报功能@令狐张豪
- 搜狗浏览器扩展插件开发制作详细流程记录
- SpringCloud——Eureka注册中心搭建