python 手机app数据爬取

今天向大家介绍app爬取。

一:爬取主要流程简述

1.APP的爬取比Web爬取更加容易,反爬虫没有那么强,且大部分数据是以JSON形式传输的,解析简单。

2.在APP中想要查看请求与响应(类似浏览器的开发者工具监听到的各个网络请求和响应),就需要借助抓包软件。

3.在抓取之前,需要设置代理将手机处于抓包软件的监听下,就可以用同一网络进行监听,获得所有的网络和请求。

4.如果是有规则的,就只需要分析即可;如果没有规律,就可以用另一个工具mitmdump对接Python脚本直接处理Response。

5.抓取肯定不能由人手动完成,还需要做到自动化,还要对App进行自动化控制,可以用库Appium。


二:抓包工具Charles

1.Charles的使用

   Charles是一个网络抓包工具,比Fiddler功能更强大,可以进行分析移动App的数据包,获取所有的网络请求和网络内容

2.安装

(1)安装链接

   官网:https://www.charlesproxy.com

(2)须知

   charles是收费软件,但可以免费试用30天。试用期过了,还可以试用,不过每次试用不能超过30分钟,启动有10秒的延迟,但大部分还可以使用。

(3)安装后

在这里插入图片描述

3.证书配置

(1)证书配置说明

   现在很多网页都在向HTTPS(超文本传输协议的加密版,即HTTP加入SSL层),经过SSL加密更加安全,真实,大部分都由CA机构颁发安全签章(12306不是CA机构颁发,但不被信任)。现在应用HTTPS协议的App通信数据都会是加密的,常规的截包方法是无法识别请求内部的数据的。
   要抓取APP端的数据,要在PC和手机端都安装证书。

(2)windows系统安装证书配置

   打开Charles,点击Help->SSL Proxying->Install Charles Root Certificate,进入证书的安装页面:
在这里插入图片描述
   点击安装证书,就会打开证书安装向导,然后点击下一步,此时需要选择证书的存储区域,选择第二个选项”将所有证书放入下列存储”:
在这里插入图片描述
   然后点击浏览,选择证书存储位置为”受信任的根证书颁发机构”,点击确认并进入下一步:
在这里插入图片描述

(3)Android手机安装证书配置

手机与电脑连接同一个WiFi。
设置如下:
可以用操作系统命令ipconfig查看PC端ip:

在这里插入图片描述
   为10.61.131.172,默认代理端口号为8888。之后代理服务器为电脑的IP地址。端口为8888。设置如下:
在这里插入图片描述
会发现360手机的标志
在这里插入图片描述
接下来对手机下载证书:
访问手机访问 chls.pro/ssl ,下载证书:
在这里插入图片描述
   此时下载的是个.pem 格式的。需要手动更改为.crt 格式,最后随便放进某个文件夹即可:
在这里插入图片描述
用手机(我用的360手机)设置里的安全,找到从存储设备安装找到该crt文件进行配置:
在这里插入图片描述
此时需要设置锁屏:
在这里插入图片描述
就可以完成证书的安装。

4.开启SSL监听

   点击Proxy->SSLProxying Settings,在弹出的窗口中点击Add按钮,添加需要监听的地址和端口号。需要监听所有的HTTPS请求,可以直接将地址和端口设置为*,即添加*:*设置,就可以抓取所有的HTTPS请求包;如果不配置,抓取的HTTPS请求包状态可能是unknown。
在这里插入图片描述
在这里插入图片描述
这样就指定只监听我们需要的ip和端口的请求和响应。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SAP顾问李昂

你的创作将会激励我,谢谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值