Python抓取Websocket数据

2024-05-23 21:15:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我真的不知道如何在一个网站上使用Python的js。在

网址:ws://example.io/sockjs/wkzeza/websocket在

在web调试器中,我可以看到以下响应标头:

Date: Sun, 27 Aug 2017 09:42:15 GMT
Connection: upgrade
Set-Cookie: oWG+Kel2MBo0v9FQK81NvuvBZcUwChaMvG2bsv1Ofs9Q8hHN+PlTn6PolO/8MgFXh2ygqC7A8WsJ7cgZwvpwvsbSp0VCpRHqmYMhGGxr; Expires=Sun, 03 Sep 2017 09:42:15 GMT; Path=/
Upgrade: websocket
Sec-WebSocket-Accept: HA0gkvrFCF7qjVYIDvSBa5sJKkg=
Sec-WebSocket-Extensions: permessage-deflate
Server: nginx
CF-RAY: 394e146d34a12f65-MAD

通常只有响应头,我可以从帧中检索数据,对吗?在

我尝试过使用此代码,但我可以阅读内容:

^{pr2}$

谢谢你的帮助。在


Tags: iowebws网站examplejssec调试器
1条回答
网友
1楼 · 发布于 2024-05-23 21:15:39

检查Chrome(或其他浏览器)中的流量,看看如何协商开始数据流。 当谈判正常时,你可以做如下事情:

while True:
    ws.recv()

下面是Chrome中向上/向下WebSocket流量的示例。在

enter image description here

只需复制邮件并将其用于ws.发送(). 示例:

^{pr2}$

这个例子来自挪威/斯塔万格公共汽车的现场视图: https://www.kolumbus.no/ruter/kart/sanntidskart-internt/?c=58.974238,5.691347,14&lf=all&vt=bus,ferry
(在该页面上,您还需要首先通过HTTPS获取令牌,连接WebSocket,然后再执行一次HTTPS来启动流量。之后你就可以ws.recv公司()和ws.发送()组合以开始获取数据。)

相关问题 更多 >