亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解python websocket獲取實時數(shù)據(jù)的幾種常見鏈接方式

 更新時間:2019年07月01日 09:24:16   作者:Jerry_JD  
這篇文章主要介紹了詳解python websocket獲取實時數(shù)據(jù)的幾種常見鏈接方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

第一種, 使用create_connection鏈接,需要pip install websocket-client (此方法不建議使用,鏈接不穩(wěn)定,容易斷,并且連接很耗時)

import time
from websocket import create_connection

url = 'wss://i.cg.net/wi/ws'
while True: # 一直鏈接,直到連接上就退出循環(huán)
  time.sleep(2)
  try:
    ws = create_connection(url)
    print(ws)
    break
  except Exception as e:
    print('連接異常:', e)
    continue
while True: # 連接上,退出第一個循環(huán)之后,此循環(huán)用于一直獲取數(shù)據(jù)
  ws.send('{"event":"subscribe", "channel":"btc_usdt.ticker"}')
  response = ws.recv()
  print(response)

第二種,運行效果很不錯,很容易連接,獲取數(shù)據(jù)的速度也挺快

import json
from ws4py.client.threadedclient import WebSocketClient


class CG_Client(WebSocketClient):

  def opened(self):
    req = '{"event":"subscribe", "channel":"eth_usdt.deep"}'
    self.send(req)

  def closed(self, code, reason=None):
    print("Closed down:", code, reason)

  def received_message(self, resp):
    resp = json.loads(str(resp))
    data = resp['data']
    if type(data) is dict:
      ask = data['asks'][0]
      print('Ask:', ask)
      bid = data['bids'][0]
      print('Bid:', bid)


if __name__ == '__main__':
  ws = None
  try:
    ws = CG_Client('wss://i.cg.net/wi/ws')
    ws.connect()
    ws.run_forever()
  except KeyboardInterrupt:
    ws.close()

第三種,其實和第一種差不多,只不過換種寫法而已,運行效果不理想,連接耗時,并且容易斷

import websocket

while True:
  ws = websocket.WebSocket()
  try:
    ws.connect("wss://i.cg.net/wi/ws")
    print(ws)
    break
  except Exception as e:
    print('異常:', e)
    continue
print('OK')
while True:
  req = '{"event":"subscribe", "channel":"btc_usdt.deep"}'
  ws.send(req)
  resp = ws.recv()
  print(resp)

第四種,運行效果也可以,run_forever里面有許多參數(shù),需要自己設(shè)置

import websocket


def on_message(ws, message): # 服務(wù)器有數(shù)據(jù)更新時,主動推送過來的數(shù)據(jù)
  print(message)


def on_error(ws, error): # 程序報錯時,就會觸發(fā)on_error事件
  print(error)


def on_close(ws):
  print("Connection closed ……")


def on_open(ws): # 連接到服務(wù)器之后就會觸發(fā)on_open事件,這里用于send數(shù)據(jù)
  req = '{"event":"subscribe", "channel":"btc_usdt.deep"}'
  print(req)
  ws.send(req)


if __name__ == "__main__":
  websocket.enableTrace(True)
  ws = websocket.WebSocketApp("wss://i.cg.net/wi/ws",
                on_message=on_message,
                on_error=on_error,
                on_close=on_close)
  ws.on_open = on_open
  ws.run_forever(ping_timeout=30)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 用python發(fā)送微信消息

    用python發(fā)送微信消息

    這篇文章主要介紹了用python發(fā)送微信消息的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • python中numpy.dot()計算矩陣相乘

    python中numpy.dot()計算矩陣相乘

    本文主要介紹了python中numpy.dot()計算矩陣相乘,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Python報錯:NameError:?name?‘xxx‘?is?not?defined的解決辦法

    Python報錯:NameError:?name?‘xxx‘?is?not?defined的解決辦法

    這篇文章主要給大家介紹了關(guān)于Python報錯:NameError:?name?‘xxx‘?is?not?defined的解決辦法,文中通過代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-06-06
  • pycharm 的Structure界面設(shè)置操作

    pycharm 的Structure界面設(shè)置操作

    這篇文章主要介紹了pycharm 的Structure界面設(shè)置操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Python3實現(xiàn)zip分卷壓縮過程解析

    Python3實現(xiàn)zip分卷壓縮過程解析

    這篇文章主要介紹了Python3實現(xiàn)zip分卷壓縮過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • python中virtualenvwrapper安裝與使用

    python中virtualenvwrapper安裝與使用

    本篇文章給大家介紹了python環(huán)境神器virtualenvwrapper安裝與使用,對此有需要的朋友可以跟著操作一下。
    2018-05-05
  • Python連接PostgreSQL數(shù)據(jù)庫的方法

    Python連接PostgreSQL數(shù)據(jù)庫的方法

    大家應(yīng)該都有所了解,python可以操作多種數(shù)據(jù)庫,諸如SQLite、MySql、PostgreSQL等,這里不對所有的數(shù)據(jù)庫操作方法進行贅述,只針對目前項目中用到的PostgreSQL做一下簡單介紹,主要是Python連接PostgreSQL數(shù)據(jù)庫的方法。有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-11-11
  • Python PyTorch 如何獲取 MNIST 數(shù)據(jù)

    Python PyTorch 如何獲取 MNIST 數(shù)據(jù)

    這篇文章主要介紹了Python PyTorch 如何獲取 MNIST 數(shù)據(jù),通過示例代碼介紹了PyTorch 保存 MNIST 數(shù)據(jù),PyTorch 顯示 MNIST 數(shù)據(jù)的操作方法,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • Flask框架搭建虛擬環(huán)境的步驟分析

    Flask框架搭建虛擬環(huán)境的步驟分析

    這篇文章主要介紹了Flask框架搭建虛擬環(huán)境的步驟,結(jié)合實例形式分析總結(jié)了flask框架搭建虛擬環(huán)境的步驟、常見問題與解決方法,需要的朋友可以參考下
    2019-12-12
  • Django處理Ajax發(fā)送的Get請求代碼詳解

    Django處理Ajax發(fā)送的Get請求代碼詳解

    在本篇文章里小編給大家整理了關(guān)于Django處理Ajax發(fā)送的Get請求代碼知識點,有需要的朋友們參考學(xué)習(xí)下。
    2019-07-07

最新評論