测试网址是websocket官网供应的demo,http://demos.kaazing.com/echo/index.html
我们抓包看看ws协议的通信特点:
一次连接双向通信,在浏览器开拓者工具中,点击ws数据包在弹出的详情中点击Frames,这里面是通信的数据。知道了大致的事情事理往后我们来实现一个大略的无验证、无加密内容的ws爬虫,目标网址还是上面那个。

我们实现和目标网址之前的数据交互,常见方法如下:
# -- coding:utf-8 --import websocketurl = 'ws://demos.kaazing.com/echo'ws = websocket.create_connection(url=url, timeout=15)ws.send(\"大众以字符串发送数据\"大众) # 以字符串发送ws.recv() # 吸收,如果无将会堵塞,直到15s超时等待结束ws.send_frame(\"大众以帧形式发送数据\"大众) # 以帧形式发送数据ws.recv_data_frame() # 吸收以帧发送的数据ws.send_binary(\"大众以二进制格式发送数据\"大众.encode()) # 以二进制格式发送数据ws.send_close() # 向做事器发送关闭连接要求,传入状态码及其缘故原由ws.close() # 关闭连接
ws = websocket.create_connection(url=url, timeout=15)ws.send(\公众以字符串发送数据\公众)30ws.recv()'以字符串发送数据'ws.send_frame(\"大众以帧形式发送数据\公众)8data = ws.recv_data_frame()data(8, <websocket._abnf.ABNF object at 0x07FD4C90>)data[1].datab'\x03\xea'
加群一起互换撒!
960410445
看似很大略,但在实际中会伴随着很多通信的加密,这个须要在详细问题中详细剖析,紧张就三个方面:建立ws连接、发送、吸收。
ws的运用在即时性较强的信息传播行业,如股票、彩票、赛事、通信中用的很普遍,但是其难度并不大。