查尔斯Python3爬虫利器的使用方法是什么

介绍

这篇文章主要介绍Python3爬虫利器查尔斯的使用方法是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

<强>查尔斯的使用

查尔斯是一个网络抓包工具,我们可以用它来做应用的抓包分析,得到应用程序运行过程中发生的所有网络请求和响应内容,这就和Web端浏览器的开发者工具网络部分看到的结果一致。

相比提琴手来说,查尔斯的功能更强大,而且跨平台支持更好,所以我们选用查尔斯作为主要的移动端抓包工具,用于分析移动应用的数据包,辅助完成应用程序数据抓取工作。

<强> 1。本节目标

本节我们以京东应用为例,通过查尔斯抓取应用运行过程中的网络数据包,然后查看具体的请求和响应内容,以此来了查尔斯的解用法。

<强> 2。准备工作

请确保已经正确安装查尔斯并开启了代理服务,手机和查尔斯处于同一个局域网下,查尔斯代理和CharlesCA证书设置好,另外需要开启SSL监听,具体的配置可以参考第1章的说明。

<强> 3。原理

首先查尔斯运行在自己的PC上,查尔斯运行的时候会在PC的8888端口开启一个代理服务,这个服务实际上是一个HTTP/HTTPS的代理。

确保手机和PC在同一个局域网内,我们可以使用手机模拟器通过虚拟网络连接,也可以使用手机真机和PC通过无线网络连接。

设置手机代理为查尔斯的代理地址,这样手机访问互联网的数据包就会流经查尔斯,查尔斯再转发这些数据包到真实的服务器,服务器返回的数据包再由查尔斯转发回手机,查尔斯就起到中间人的作用,所有流量包都可以捕捉到,因此所有HTTP请求和响应都可以捕获到。同查尔斯时还有权力对请求和响应进行修改。

<强> 4。抓包

初始状态下查尔斯的运行界面如图十一所示:

 Python3爬虫利器查尔斯的使用方法是什么

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,查尔斯,图十一运行界面

查尔斯会一直监听电脑和手机发生的网络数据包,捕获到的数据包就会显示在左侧,随着时间的推移,捕获的数据包越来越多,左侧列表的内容也会越来越多。

可以看的到,图中左侧显示了查尔斯抓取到的请求站点,我们点击任意一个条目便可以查看对应请求的详细信息,其中包括请求,响应等内容。

接下来清空查尔斯的抓取结果,点击左侧的扫帚按钮即可清空当前捕获到的所有请求。然后点击第二个监听按钮,确保监听按钮是打开的,这表示查尔斯正在监听应用的网络数据流,如本季图所示。

 Python3爬虫利器查尔斯的使用方法是什么

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,本季图监听过程

这时打开手机京东,注意一定要提前设置好查尔斯的代理并配置好CA证书,否则没有效果。

打开任意一个商品,如iPhone,然后打开它的商品评论页面,如图由所示。

 Python3爬虫利器查尔斯的使用方法是什么

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,图由评论页面

不断上拉加载评论,可以看到查尔斯捕获到这个过程中京东应用内发生的所有网络请求,如图剩下所示。

 Python3爬虫利器查尔斯的使用方法是什么

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,图剩下监听结果

左侧列表中会出现一个api.m.jd.com链接,而且它在不停闪动,很可能就是当前应用发出的获取评论数据的请求被查尔斯捕获到了。我们点击将其展开,继续上拉刷新评论。随着上拉的进行,此处又会出现一个个网络请求记录,这时新出现的数据包请求确定就是获取评论的请求。

为了验证其正确性,我们点击查看其中一个条目的详情信息。切换到内容选项卡,这时我们发现一些JSON数据,核对一下结果,结果有commentData字段,其内容和我们在应用中看到的评论内容一致,如图把所示。

 Python3爬虫利器查尔斯的使用方法是什么

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,图把Json数据结果

这时可以确定,此请求对应的接口就是获取商品评论的接口。这样我们就成功捕获到了在上拉刷新的过程中发生的请求和响应内容。

查尔斯Python3爬虫利器的使用方法是什么