前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >利用aiowebsocket库实现实时抓取

利用aiowebsocket库实现实时抓取

作者头像
kirin
发布2020-05-09 16:10:26
发布2020-05-09 16:10:26
1.3K00
代码可运行
举报
文章被收录于专栏:Kirin博客Kirin博客
运行总次数:0
代码可运行

有两种方式可以实现实时数据获取,第一种是定时的执行一次脚本,抓取服务端的数据,

这种方式并不能真正的实时抓取,因为它有一定的时间间隔,

第二种方式是由服务器主动的推送数据,这种方式是实时的。

下面就用aiowebsocket来实现以下吧

拉模式 由客户端主动从服务端拉取数据

推模式 由服务端主动将数据推送给客户端

aiowebsocket github:https://github.com/asyncins/aiowebsocket

2、安装:

代码语言:javascript
代码运行次数:0
运行
复制
pip install aiowebsocket

刷新页面观察请求 WebSocket 地址为:wss://api.bbxapp.vip/v1/ifcontract/realTime

1、数据交互模式为:

2、代码实例

代码语言:javascript
代码运行次数:0
运行
复制
# -*- coding: utf-8 -*-import asynciofrom aiowebsocket.converses import AioWebSocketasync def startup(uri): async with AioWebSocket(uri) as aws:  converse = aws.manipulator  # 给服务端发送验证消息,观察网页接口数据动态获取  message = '{"action":"subscribe","args":["QuoteBin5m:14"]}'  await converse.send(message)  while True:receive = await converse.receive()# 拿到的是byte类型数据,解码为字符串数据print(receive.decode())if __name__ == '__main__': remote = 'wss://api.bbxapp.vip/v1/ifcontract/realTime' asyncio.get_event_loop().run_until_complete(startup(remote))

3、数据效果

参考: Python 如何爬取实时变化的 WebSocket 数据

我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=1bzzomxupiicv

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/05/07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档