11.1 PC 客户端抓包分析
要想将爬虫伪装成PC客户端,我们需要对PC客户端进行抓包分析。PC上的抓包软件本人比较喜欢的有Wireshark、Http Analyzer等。Wireshark擅长各类网络协议的分析,比较重型。Http Analyzer则更专注于对HTTP/HTTPS协议的分析。Http Analyzer可以针对某一个进程进行抓包,对特定软件的分析更加快捷,所以PC抓包工具选用的是Http Analyzer。
11.1.1 HTTP Analyzer简介
HTTP Analyzer是一款实时捕捉分析HTTP/HTTPS协议数据的工具,可以显示许多信息(包括文件头、内容、Cookie、查询字符串、提交的数据、重定向的URL地址),可以提供缓冲区信息、清理对话内容、HTTP状态信息和其他过滤选项。同时还是一个非常有用的分析、调试和诊断的开发工具。下载链接:http://www.ieinspector.com/httpanalyzer/download.html 。
Http Analyzer安装很简单,从上述链接下载的安装包,双击即可。接下来介绍一下Http Analyzer的基本功能。
1)打开HTTP Analyzer,我们可以看到如图11-1的界面。
点击上图中所示的“Start Logging”按钮,即可开始记录当前处于会话状态的所有应用程序的HTTP流量。如果你当前有应用程序正在进行网络会话,即可看到中间网格部分会显示一条或多条详细的HTTP流量信息。如果你没有正在进行网络会话的应用程序,你也可以在按下“Start Logging”按钮后,使用浏览器随意打开一个网页,即可看到相应的HTTP流量信息。
图11-1 HTTP Analyzer主界面
2)如图11-2所示,HTTP Analyzer会根据进程进行区分,将捕获到的HTTP连接信息显示到中间的网格中。点击任意的HTTP连接,即可在下方查看该连接对应的详细信息。
整个面板主要分为三个部分:
·窗口1显示所有的HTTP流量信息,并根据进程和时间进行归类排序。
·窗口2以选项卡的方式显示HTTP连接的详细信息。其中包括HTTP头信息、响应内容、POST表单数据、请求计时、查询字符串、Cookies、原始数据流、提示信息、注释、响应状态码的解释信息。
·窗口3显示的是当前连接所属进程的相关信息。
3)HTTP Analyzer为我们提供了数据过滤器,方便我们快速地定位到符合条件的数据。我们可以按照进程来过滤,也可以按照数据的类型来过滤。比如要让图11-2中窗口1只显示虾米音乐播放器进程的信息,可以如图11-3这样设置。
图11-2 面板划分
也可以根据数据类型进行过滤,如图11-4所示:
图11-3 过滤进程
图11-4 过滤数据类型
11.1.2 虾米音乐PC端API实战分析
以虾米音乐PC客户端为例,使用HTTP Analyzer分析获取歌手信息、歌曲信息和专辑信息等API接口。打开虾米音乐PC客户端,如图11-5所示:
图11-5 虾米音乐客户端
启动HTTP Analyzer,设置为仅显示虾米客户端进程,并将过滤类型设置为text/html。此时在客户端搜索框中搜索陈奕迅,我们观察一下抓包结果,如图11-6所示。
图11-6 抓包效果
主要关注搜索请求的类型头和响应。搜索使用的是GET请求,请求链接为http://www.xiami.com/app/xiating/searchav=XMusic_2.0.2.1618&uid=0&key=%E9%99%88%E5%A5%95%E8%BF%85 ,key参数为陈奕迅的URL编码,这就是一个搜索API。这时查看一下响应,如图11-7所示:
图11-7 抓包效果
响应是一个标准的HTML文档,也就是我们可以使用Beautiful Soup4或者lxml对它进行解析和提取数据。同时在响应中发现了歌手个人信息、歌曲信息、专辑信息和精选集的API接口。
以上就是使用HTTP Analyzer分析API接口的操作流程,大家可以根据这种方式分析出所有的虾米音乐接口,然后启动爬虫发送请求进行解析就可以了。此次分析比较简单,一些客户端例如网易云音乐的链接请求都是进行加密的,这样的分析就会变得很困难。如果没有逆向PC客户端软件和分析算法的能力,还是放弃通过PC客户端分析API接口的想法,接着往下看吧。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论