鉴于目前会常用到爬虫来采集一些数据以支持和解决问题,开贴记录验证出来的好用的methods、tools、problems 和 solutions。

之前有个需求抓b站的数据,由于当时并不会从手机app抓包,而且时间较紧急,没有工夫来细细研究,就只能尽量从网页端来对数据进行爬虫。所幸,大部分的数据网页端都很完备。现在有空了,来研究一下如何从手机客户端的B站app进行抓包。٩(•̤̀ᵕ•̤́๑)

APP数据抓取:

50%的app,通过抓包软件就可以分析出抓取参数并抓取到信息。

30%的app,可能需要适当的反编译,分析出加密算法并抓取到信息。

10%的app,可能加固,需要脱壳,然后反编译,分析出加密算法并抓取到信息。

10%的app,通过各式各样的签名,证书,设备绑定等方法,隐藏加密算法。

总的来说,没有不能抓取的app,只是时间成本的问题。

抓包

抓包有代码经验或APP开发的同学都很容易理解,其实很多APP,走的都是webservice通讯协议的方式,并且由于是公开数据,而且大部分是无加密的。所以只要对网络端口进行监测,对APP进行模拟操作,即可知道APP里面的数据是如何获取的。我们只需要写代码模拟其请求,无论POST还是GET,即可得到该请求所返回的信息。再通过对返回的信息结构化解析,即可得到我们想要的数据。

HOOK技术

HOOK技术是一种走操作系统内核的技术,由于安卓系统是开源的,所以可以借助一些框架修改内核,从而实现你要的功能。HOOK的形式,我们走的是Xposed框架。Xposed是一款可以在不修改任何其他开发者开发的应用(包括系统服务)的情况下,改变程序运行的一个开源框架服务。基于它可以制作出许多功能强大的模块,以此来达到应用程序按照你的意愿运行的目的。如果把安卓手机看做一座城堡,那Xposed可以让你拥有一个上帝视角,城里的运作细节尽收你眼底,还能让你插一手改变城堡的运作规律。什么意思呢?简单的说就是你可以通过他,自动化的控制你的APP。如果将我们的APP开在模拟器上,我们可以通过编码,通过他告诉APP这一步干什么,下一步干什么。你把它理解成类似按健精灵或游戏打怪外挂就可以了。而他每走一步,APP与服务端交互的数据,均可获取下来。这种方式广泛用于一些成熟的APP。比如某信采集。

模拟点击

通过程序模拟人的行为对APP的界面进行点击、滑动等操作,同时可以获取APP的Activity页面上的大部分控件上的文本信息(有一些可能获取不到,Uiautomator本身就获取不到)

————————————————
原文链接:https://blog.csdn.net/zzq900503/article/details/94736168

工具准备:

博主当前常用的进行手机app抓包的工具有fiddler和appium。

【Fiddler安装配置】手机APP端爬虫抓包

1. 下载安装Fiddler。https://www.telerik.com/download/fiddler

2. Fiddler进行配置,Tools - Options,根据提示下载安装证书。配置完关闭fiddler,重新打开即可生效。

a. Decrypt HTTPS traffic 下的下拉框可自己筛选需要监听的HTTPS类别

b.监听端口Fiddler listens on port可以自己设置,默认为8888

3. 手机和PC务必同处一个局域网。电脑cmd使用ipconfig命令查看网络ip配置,记录IPv4的ip地址。

4. 将手机上WiFi进行设置,手动配置代理,ip地址 = 电脑IPv4地址,端口 = fiddler的监听端口8890(如步骤2里设置)

  

5. 手机浏览器上地址栏输入ip地址+端口,如此案例中为http://10.0.150.246:8890,在手机上下载安装FiddlerRoot certificate证书。(根据手机提示信任该证书)

6. 点开手机端app,在fiddler上监听查看,验证ok,配置步骤完成。

常见问题:

1. 根据步骤全部配置好之后,ios手机上不了网,打不开任何页面,显示连接服务器不安全

解决办法:iOS 10.3升级之后,安装的证书默认是不启用的,需要手动去开启。【设置 –> 通用 –> 关于本机 –> 证书信息设置】打开Fiddler的证书开关就行了。

2. 打开Fiddler之后,可以抓到手机app的包,但是全是中文乱码

方法1:勾选Decode或单击黄色长条“Click to decode”进行尝试。

方法2:修改注册表,无论网页charset是gb2312还是utf8均能正常解析: 1. windows桌面搜索“注册表” ;2. HKEY_CURRENT_USER\Software\Microsoft\Fiddler2;3. 右键新建,字符串值,名称为HeaderEncoding,值输入GBK。保存后,重启Fiddler。

【Appium】

(未完,待补充)

【爬虫进行时】手机客户端app爬虫抓包(Fiddler)相关推荐

  1. python爬虫抖音_Python 爬虫——抖音App视频抓包

    APP抓包 前面我们了解了一些关于 Python 爬虫的知识,不过都是基于 PC 端浏览器网页中的内容进行爬取.现在手机 App 用的越来越多,而且很多也没有网页端,比如抖音就没有网页版,那么上面的视 ...

  2. python爬虫抖音招聘_Python爬虫:抖音App视频抓包

    APP抓包 对于 App 来说应用内的通信过程和网页是类似的,都是向后台发送请求,获取数据.在浏览器中我们打开调试工具就可以看到具体的请求内容,在 App 中我们无法直接看到.所以我们就要通过抓包工具 ...

  3. 使用fiddler对手机APP进行抓包

    在做手机或移动端APP的接口测试时,需要从开发人员那里获取接口文档,接口文档应该包括完整的功能接口.接口请求方式.接口请求URL.接口请求参数.接口返回参数.如果当前项目没有接口文档,则可以使用fid ...

  4. Python 爬虫,推荐一款简单的抓包工具(续)

    点击上方"AirPython",选择"加为星标" 第一时间关注 Python 原创干货! 1. 前言 上篇文章发布之后,有小伙伴后台私信我,说文章只涉及到手机端 ...

  5. 网络爬虫系列(一):chrome抓包分析

    网络爬虫系列(一):chrom抓包分析 1.测试环境 2.网页分析 (1) 网页源代码分析 (2) 网络抓包分析 1.测试环境 浏览器:chrome浏览器 网页分析工具 :开发者工具 2.网页分析 ( ...

  6. appium 九宫格解锁招商银行手机客户端app

    之前研究了一段时间的appium for native app 相应的总结如下:                                            appium测试环境搭建 :ht ...

  7. 对小米手机app进行抓包

    工具: Fiddler 小米手机(MIUI 8.5) Win10操作系统 参照 https://my.oschina.net/jhao104/blog/605963  安装Fiddler, 设置Fid ...

  8. Android App 防止抓包

    这篇文章谈谈如何防止 App 被抓包 首先我们要知道常用的抓包方式有 Charles 和 Fiddler.他们通过在手机网络中添加代理的方式,拿到 App 的请求. 如果是 Https 连接的话,我们 ...

  9. 五、小程序|App抓包-Drony配合Burp实现App定向抓包

    小程序|App抓包 Drony配合Burp实现App定向抓包 一.建议google市场下载安装包 下载并安装到安卓手机上,繁体版 https://apps.evozi.com/apk-download ...

最新文章

  1. 洛谷 P4151 BZOJ 2115 [WC2011]最大XOR和路径
  2. java paintComponent的一些解读
  3. 用php程序能消除水印吗,php——水印
  4. Servlet异常和错误处理示例教程
  5. C语言中总是从main函数开始执行函数吗?
  6. 密码学原理与实践第三版pdf_云计算原理与实践PDF电子书下载
  7. Apache Shiro SessionManager配置详解.
  8. 第 0001 天:聊聊成长型思维模式者
  9. [深度学习]什么叫激活函数
  10. 精确的力量:完美SNES仿真器的一个3GHz追求
  11. 简单聊一下const
  12. excel 数据透视表完成分类汇总
  13. 计算机编程php网页源码水果网上销售系统mysql数据库web结构html布局
  14. 单片机:红外遥控实验(内含红外遥控介绍+硬件原理+软件编程+配置环境)
  15. Keystore was tampered with or password was incorrect
  16. 《非暴力沟通》读后感
  17. 使用ftp服务上传文件时553报错的解决(绝对有用)
  18. JS逐页转pdf文件为图片格式
  19. 办公族如何防治鼠标手?
  20. EF Power Tool 参数错误 HRESULT:0x80070057 (E_INVALIDARG)) 解决办法

热门文章

  1. 技术人员如何看待新技术?
  2. Win10开始菜单打不开
  3. 司美格鲁肽进入临床竞速期,减肥“神药”生于偶然、火于乱象?
  4. 使用 Microsoft RDC for Mac 在 Mac 和 Windows 间传文件
  5. 一位十万粉博主的运营之路
  6. 东南大学提出条件自监督小样本学习方法,显著提升小样本分类准确率
  7. char码值对应列表大全
  8. Python 简单的人名对话
  9. java opencv 实现换脸
  10. 数据库管理工具的使用