如何用Python抓抖音上的小姐姐

https://segmentfault.com/a/1190000016636062

本文的重点就在于 如何获取手机 App 发出的请求

这里,我们要用的工具是 Fiddler 。它是一个较成熟的免费抓包工具。可以抓取网页、桌面软件、手机 App 的网络请求,并可以运行在 Windows、Mac、Linux 平台上,支持 iOS 和 Android。(虽说都支持,但强烈建议 Windows + Android ,后面我会有吐槽)

搜索一下 fiddler 很容易找到它们的官网 https://www.telerik.com/fiddler,点击 download 下载即可(有个表格随便填下)。

Windows 下载后正常安装。

安装好工具后,需要做一些必要配置才能抓包。

1. Fiddler 配置

设置允许抓取 HTTPS 信息包。打开下载好的 fiddler,找到 Tools - > Options,然后在 HTTPS 的工具栏下勾选 Decrpt HTTPS traffic ,在新弹出的选项栏下勾选 Ignore server certificate errors 。这样,fiddler 就会抓取到 HTTPS 的信息包。

 

 

设置允许外部设备发送 HTTP/HTTPS 到 fiddler。设置 端口号 ,并在 Connections 选项栏下勾选 Allow remote computers to connect

 

 

配置好后需重启软件。

2. 设置手机代理

在抓包前,确保你的电脑和手机是在一个 可以互访的局域网中 。最简单的情况就是都连在同一个 wifi 上,特殊情况这里不展开讨论(有些商用 wifi 并不能互访)。

打开软件,鼠标放在右上角的 Online 上可以看到 本机的 IP 。或者也可以通过命令行中的 ipconfig 命令(Mac/Linux 是 ifconfig )查看。(截图仅为演示,以你自己的 IP 为准)

 

手机设置代理 IP。打开手机 无线网络连接 ,选择已经连接的网络连接,点击一个小圆圈叹号进入可以看到下图(安卓也类似),选择 配置代理 ,进入后把刚刚的 IP 地址 输入进去, 端口 就是 fiddler 中设置的 8888。

 

3. 安装证书

获取 HTTPS 请求必须要 验证证书 。电脑端访问:http://localhost:8888/ 进行安装。

 

手机访问前面设置的电脑的 IP 地址加端口 8888 访问,比如图中例子是:http://192.168.23.1:8888

 

有些安卓需要手动从设置里进入并导入证书,否则无法生效。

4. 测试

开启 fiddler 的状态下,打开手机随便一个 APP,应对可以正常访问,并且在 fiddler 中看到所发出的网络请求。

 

如果能访问但看不到请求,确认下有没有代理有没有生效。如果不能访问,检查下证书是否都下载并验证。还是不行则按照上述步骤再仔细配置一遍。