首页 » Web前端 » php爬虫websoket技巧_python实现基于websocket协议的收集爬虫

php爬虫websoket技巧_python实现基于websocket协议的收集爬虫

访客 2024-12-12 0

扫一扫用手机浏览

文章目录 [+]

测试网址是websocket官网供应的demo,http://demos.kaazing.com/echo/index.html

我们抓包看看ws协议的通信特点:

php爬虫websoket技巧_python实现基于websocket协议的收集爬虫

一次连接双向通信,在浏览器开拓者工具中,点击ws数据包在弹出的详情中点击Frames,这里面是通信的数据。
知道了大致的事情事理往后我们来实现一个大略的无验证、无加密内容的ws爬虫,目标网址还是上面那个。

php爬虫websoket技巧_python实现基于websocket协议的收集爬虫
(图片来自网络侵删)

我们实现和目标网址之前的数据交互,常见方法如下:

# -- 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的运用在即时性较强的信息传播行业,如股票、彩票、赛事、通信中用的很普遍,但是其难度并不大。

标签:

相关文章

php变量主要吗技巧_PHP该不该运用全局变量

避免滥用全局变量:全局变量使得变量在全体运用程序中都可见,这可能导致命名冲突、难以追踪变量的值变革等问题。因此,该当只管即便减少全...

Web前端 2024-12-14 阅读0 评论0