1.安装、打开chales,配置charles。
1.1勾选Proxy->macOS Proxy选项,关闭默认的mac proxy设置。
1.2勾选Proxy->Proxy Settings,弹出弹框。设置HTTP的代理端口为:6666(一般默认为:8888,可以自己定义)
1.3勾选Proxy->SSL Proxying Settings,添加要抓包的域名。我们可以添加:*,匹配所有的。
2.手机端的配置。(以iso系统为例)
2.1点击连接的Wi-Fi的感叹号图标;点击最后一项:HTTP代理->配置代理;选择‘手动’,填入电脑的ip地址和刚刚设置chales的端口号:6666
3.https抓包的配置。
3.1因为要抓包的是https请求,所以我们还要安装证书。勾选Help->SSL Proxying->Install Charles Root Certificate。
3.2双击电脑端添加的charles证书,选择‘始终信任’。
3.3安装手机端的证书。勾选Help->SSL Proxying->Install Charles Root Certificate on a Mobile Device or Remote Browser。根据提示在手机端访问网址chls.pro/ssl。
3.4根据弹窗的提示,在手机端安装该证书。
3.5在‘通用->关于本机->证书信任设置’里选择完全信任该证书。(证书就是一套公钥私钥,所以手机和电脑端都要安装,并选择信任)
4.1点击圆形按钮,就可以追踪手机开始抓包了。
本文例子中是选择了一家沃尔玛超市,进入该店铺进行数据抓取。
4.2通过分析发现发现获取商品类目的url拼接规律:
body里的内容,解码后为:
body里的数值不影响获取类目的获取。所以通过url1发送get方法就可以获取数据。
部分数据展示:
4.3通过分析发现获取不同类目下商品的url拼接规律:
body里的内容,解码后为:
catId值可以从url1返回的数据提取,传入不同的catId值,就会返回对应该类目下商品的信息。
部分数据展示:
4.4将数据整理好输出为表的格式:
部分数据展示: