如何高效抓取

551 阅读2分钟

首先声明,非恶意抓取。工作中有的需求涉及抓取三方数据,对没有做过抓取的同学,显得无从下手。为此我总结下在工作中遇到的抓取情况,整理出抓取思路。

思路

  1. 找到关键数据接口
  2. 找到接口关键参数,入参、cookie等
  3. 找到接口关键参数来源,大部分来自于接口响应
  4. 重复2、3,直到接口入参数据透明

工具

Charles

抓取必备工具,Charles官网下载,30天试用期。

Chrome或者安卓手机一部

取决于要抓取的数据是 app 端还是 web 端。

使用

以安卓手机为例,演示怎么配置 Charles。

  1. 取消勾选,不代理电脑请求

  2. 配置 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 配置证书后依然乱码,请使用低版本手机抓取。

示例

不敢写,有问题私信吧。😂😂

经验

  1. 不是接口的所有数据都是必要的,可以用 postman 或者 Charles 一个个删除参数找出必传参数。
  2. 涉及登陆校验,大都在 session 或者 cookie 里,一般名字叫 session-id 或者 xxxid。