用websocket爬取ws

爬取动态数据

安装

pip install websockets(是一个异步请求包)

pip install websocket-client(同步的包)

import asyncio
import websockets
import ssl
import certifi
# ssl验证(有需要的时候才用)
ssl_context=ssl.create_default_context()
ssl_context.load_verify_locations(certifi.where())
# https://finance.sina.com.cn/realstock/company/sh000001/nc.shtml
async def main():
    url='wss://hq.sinajs.cn/wskt?list=sh000001'
    # extra_headers给ws 传递请求头
    async with websockets.connect(url,extra_headers={'origin':
'https://finance.sina.com.cn','user-agent':
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36'},ssl=ssl_context)as ws:
        # 发送讲求
        await ws.send("")
        # 接收数据
        while 1:
            ret=await ws.recv()#默认阻塞
            print(ret)
if __name__ == '__main__':
    # 开始运行
    asyncio.run(main())

结果

sh000001=上证指数,2844.7703,2848.7718,2858.0753,2860.7327,2839.3371,0,0,144160725,136240781641,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2024-08-23,11:26:38,00,

sh000001=上证指数,2844.7703,2848.7718,2858.2076,2860.7327,2839.3371,0,0,144179593,136264588580,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2024-08-23,11:26:41,00,

sh000001=上证指数,2844.7703,2848.7718,2858.0835,2860.7327,2839.3371,0,0,144206389,136292043896,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2024-08-23,11:26:44,00,
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值