目录
- Python爬虫
- 配置Charles
- 设置手机代理服务器
- 安装证书
- 安装PC证书
- 安装Android手机证书
Python爬虫
对于现在的爬虫程序来说,PC端网页数据往往并不理想。比如就拿CSDN来说,一篇帖子是否上热榜其根据的是App端数据,并不是PC端网页数据。
这也是时代的进步,从PC端到移动端,而且还有像小红书一样的App,其根本不提供PC端网页,只有App,要爬取这些数据,普通的Python爬虫肯定已经淘汰。
所以,我们需要借助Charles来抓取手机的HTTP与HTTPS数据包。尽然要通过Charles软件来抓取,我们首先要做的就是安装它。下载地址如下:
https://www.charlesproxy.com/latest-release/download.do
然后点击对应的操作系统进行下载即可。
配置Charles
安装完成之后,我们并不能直接获取App端的数据。因为你的手机交互并不会发送数据到Charles软件。所以,我们需要一系列的设置。
设置手机代理服务器
首先,我们运行Charles软件,选择Proxy-Proxy Settrings。在弹出的对话框之中设置如下信息:
接着,我们需要进入手机的WIFI中,设置连接的代理服务器。你需要查看的电脑安装Charles软件的局域网IP,同时设置成刚才的8888接口。
当这些步骤完成之后,你的手机打开任何一个进行网络交互的App都能捕获其网络请求,比如博主这里打开的微博,效果如下:
安装证书
不过,因为微博数据并不是HTTP请求,而是HTTPS请求,所有,我们需要安装证书后才能进行解析操作。具体的步骤如下:
安装PC证书
想通过Charles软件监听HTTPS数据,必须在PC端与手机端同时安装相应的证书。
在PC端安装的步骤:Charles软件-Help-SSL Proxying-Install Charles Root Certificate,效果图如下所示:
接着,点击安装证书,然后点击选择本地计算机,最后选择首信任的设备即可完成安装,具体步骤如下:
到这里,我们电脑端的证书就已经安装完成。
安装Android手机证书
接着,我们需要安装Android手机证书,具体步骤如下:
首先,在浏览器中输入http://chls.pro/ssl,或默认下载手机证书,你选择下载位置,然后导入到手机即可。
接着,我们在Android的设置中搜索证书,然后点击安装证书,在文件夹中找到对应的证书进行安装即可。
到这里,我们就可以获取到真实的信息了,再也不是unknown。但是,并不是到这里我们就可以获取真实的信息,因为现在显示的有可能是乱码。
我们需要前往Proxy – > SSL Proxying Aetting – > 在SSL Proxying 标签下勾选Enable SSL P roxying,然后Add 添加Location信息,如下所示:
添加完成之后,我们进入京东的秒杀页面,可以得到如下信息数据,这里都是中文,也是json数据格式,如下所示:
到这里,PC端与Android移动端的证书都安装成功了,现在可以分析具体的App请求数据,然后根据这些数据进行爬虫的开发与分析。