admin 管理员组

文章数量: 887006

今天向大家介绍app爬取。

@

一:爬取主要流程简述

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

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

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

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

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

二:抓包工具Charles

1.Charles的使用

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

2.安装

(1)安装链接

(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 ,下载证书:

此时下

本文标签: 手机 数据 图片 python