首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python爬虫APP前的准备

第一时间关注 Python 技术干货!

阅读文本大概需要 4.5 分钟。

之前的爬虫项目基本上都是爬取网页信息,如今移动信息时代,海量信息移植到移动端的 APP 上面了,而且有些产品只有 APP 版本,没有网页版。要抓取 APP 上的信息,首先我们得学会调试,我们知道调试网页我们一般用浏览器自带的调试工具,APP 调试则需要借助第三方工具,也是本文要分享的工具:抓包工具。

工具选择

比较常用的工具有两个:Charles 和 Fiddler,两个工具功能大致一样。相对而言,Charles 界面更简洁,但是免费版的 Charles 每隔半小时会重启,可以用破解的 jar 包解决此问题。Fiddler 则是免费的,几年前 Fiddler 不支持 OS 系统的,貌似去年开始也支持了,所以 Fiddler 在 Windows、OS 和 Linux 上都可以免费使用,可以抓取网页和 APP信息。

Fiddler 下载安装

因 Fiddler 是免费的,而且功能强大,今天我就讲讲 Fiddler 的安装使用。

在官网选择你对应的系统下载,下载前需要填些资料,填好了点击下载即可。

抓包原理

Fiddler 抓包是在客户端和服务器之间建立一个代理服务器,监听本机发出的请求和服务器返回的响应结果。客户端的所有请求都要先经过 Fiddler,然后转发到相应的服务器,反之,服务器端的所有响应,也都会先经过 Fiddler 然后发送到客户端。

Fiddler设置

Fiddler 默认是只能抓取 http 网络格式的,所以我们要先设置下使 Fiddler 可以获取到 https 网络格式。首先菜单栏 Tools→ Options→HTTPS 进去设置。勾选下图中这两项。弹出是否信任的提示直接确认就可以。

然后将允许远程连接打开,菜单栏打开 Tools->Options->Connections,勾选 Allow remote computers to connect 选项,勾选时会有重启 Fiddler 后生效的提示。8888 为默认端口号,可修改,如果这个端口被占用,那就需要修改为其他空闲的端口。配置好后重启 Fiddler。

手机安装证书

要抓取到手机 APP 信息,需要把Fiddler 证书安装到手机里。手机安装 Fiddler 证书方法有以下几种:

1、下载到电脑,通过数据线传到手机内存,点击进行安装。

2、下载到电脑,通过爱莫助手无线传到手机内存中,点击进行安装。

3、使用手机的浏览器打开 http://PC的ip:Fidder使用的端口号,点 FidderRoot certificate 下载后找到刚下载的证书,安装证书。

手机设置

我们先保证手机和电脑都处于同一个网络,先查看下本机的 ip 地址,可以 cmd 内通过命令 ipconfig 获取 ip 地址,也可以在 Fiddler 右上角,鼠标移动到 online 上查看 ip 地址。

再设置手机,这里我以 Android 手机为例(苹果手机的更简单),打开和电脑连接的同一网络,点击修改网络,勾选显示高级选项,将代理选项设置为手动,输入刚才查到的电脑 ip 和 Fiddler 刚设置的端口号,保存网络。

手机抓包

对于前端开发和测试,还有一个功能会经常用到,这里提一下,就是断点功能,上面讲 Fiddler 的原理中讲到,所以的请求和返回都会经过 Fiddler,所以测试中我们可以修改请求和返回来测试我们需要的场景。在菜单栏 Rules Automatic-->Breakpoint 中设置请求断点或者返回断点。

设置断点后再操作网页时,Fiddler 就会在这个请求或者返回前停留,等待你修改完成后点击提交后才完成整个操作。下图是我设置了请求断点,出现红色标志的图标表示断点成功,等待修改提交的状态。

这个功能对于开发或者测试在调试某些场景的时候很有用,有兴趣的同学可以学习下。

PS:抓包调试完后手机上记得把代理选项由「手动」改成「无」,不然 Fiddler 工具关闭后,手机上会出现网络异常之类的报错。

今天分享的是准备工作,下次就给大家分享一个实战爬虫 APP 的案例。

今天的内容就分享到这里,希望对你有帮助,祝进步!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181210G06LZ700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券