首先声明,非恶意抓取。工作中有的需求涉及抓取三方数据,对没有做过抓取的同学,显得无从下手。为此我总结下在工作中遇到的抓取情况,整理出抓取思路。
思路
- 找到关键数据接口
- 找到接口关键参数,入参、cookie等
- 找到接口关键参数来源,大部分来自于接口响应
- 重复2、3,直到接口入参数据透明
工具
Charles
抓取必备工具,Charles官网下载,30天试用期。
Chrome或者安卓手机一部
取决于要抓取的数据是 app 端还是 web 端。
使用
以安卓手机为例,演示怎么配置 Charles。
-
取消勾选,不代理电脑请求
-
配置 https 证书,1为设置电脑证书,2为设置手机。如果不是 https 接口可以不配置,否则不配置会导致请求响应 content 乱码。
先点 Install Charles Root Certificate,然后一路 next
然后点Install Charles Root Certificate on a Mobile....会出现
这个意思是先要把手机网络代理到 192.168.31.86:8888。再访问 chls.pro/ssl 。把手机和电脑连接到同一个WiFi,在手机wifi代理里面做设置。以华为手机为例。
访问 chls.pro/ssl 下载证书后,安装。
一切顺利,电脑上会出现。至此 Charles 已经可以抓取到手机请求。
注意!!!安卓高版本 https 配置证书后依然乱码,请使用低版本手机抓取。
示例
不敢写,有问题私信吧。😂😂
经验
- 不是接口的所有数据都是必要的,可以用 postman 或者 Charles 一个个删除参数找出必传参数。
- 涉及登陆校验,大都在 session 或者 cookie 里,一般名字叫 session-id 或者 xxxid。