参考链接:
WebSocket 通信原理【底层】:原来你是这样的Websocket–抓包分析
Python 爬取 WebSocket【顶层】:Python如何爬取实时变化的WebSocket数据的方法
注意:可以直接参考上述链接,解释地很详细。
WebSocket 爬虫
目录
1. WebSocket 介绍
2. 分析
3. 编写爬序
4. 其它
5. 总结
一、WebSocket 介绍
↶
WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。【摘自 - 百度百科】
补充【自己的理解】:客户端发起ws/wss协议链接请求(类似于http/https协议的链接请求),当中会有一次握手(状态码为101则为成功建立)。每次建立后首先由客户端发起消息到服务器,服务器验证返回信息(互相发送信息可能不止一次,才到服务器真正的返回有用的数据。)如下图所示:
上图中,绿色箭头向上是客户端(如浏览器)发送信息给服务器,红色箭头向下是服务器发送信息给客户端。可以看出前面几次信息发送相当于验证过程。
二、分析
↶
根据参考链接中给出的例子,是一个很好地例子。这里也用这个例子尝试一下。
网站链接:莱特币中国官方网站Litecoin
-
网站初始界面
-
F12开发人员界面,F5刷新
-
选择WS选项卡,找到realTime
从图中,我们找到的信息有:realTime是websocket类型,状态码为101(建立成功) -
点击realTime,查看更多信息
-
找到socket链接,可以编写程序【具体原理分析可以看参考链接的第二个】
socket:wss://api.b