Search code examples
encryptionwebsocketprotocol-buffersdecodeencode

decode websocket received data


I am working on project of my own website where I need to scrape data from target site using websocket. Data is live feed or tick for price movement of currency and stocks. I am getting output in following format.

try on http://websocket.org/echo.html:

Location: wss://streamer.finance.yahoo.com/

Click on Connect.

Message: {"subscribe":["AMZN"]}

OUTPUT:

CONNECTED

SENT: {"subscribe":["AMZN"]}

RECEIVED: CgRBTVpOFaQY3EQY4Kn0/99bKgNOTVMwCDgBRYjKzDxIyvN9ZQBQ4T7YAQQ=

RECEIVED: CgRBTVpOFaQY3EQY4Kn0/99bKgNOTVMwCDgBRYnKzDxIzPV9ZQBQ4T7YAQQ=

RECEIVED: CgRBTVpOFT0a3EQYsLn0/99bKgNOTVMwCDgBRYMG5DxIkP99ZQDg+j7YAQQ=

RECEIVED: CgRBTVpOFQAY3EQYwIf1/99bKgNOTVMwCDgBRYd5wzxIxod+ZQAQ1z7YAQQ=

RECEIVED: CgRBTVpOFQAY3EQYwIf1/99bKgNOTVMwCDgBRYd5wzxIroh+ZQAQ1z7YAQQ=

RECEIVED: CgRBTVpOFRQS3EQY8PT1/99bKgNOTVMwCDgBRYC1WjxIhI5+ZQCgcD7YAQQ=

RECEIVED: CgRBTVpOFRQS3EQY8PT1/99bKgNOTVMwCDgBRYG1WjxImo5+ZQCgcD7YAQQ=

RECEIVED: CgRBTVpOFUgN3EQY4KP2/99bKgNOTVMwCDgBRSBhnjtIvpJ+ZQBArj3YAQQ=

RECEIVED: CgRBTVpOFUgN3EQY4KP2/99bKgNOTVMwCDgBRSBhnjtI9J1+ZQBArj3YAQQ=

RECEIVED: CgRBTVpOFUgN3EQY4KP2/99bKgNOTVMwCDgBRSBhnjtIsqR+ZQBArj3YAQQ=

RECEIVED: CgRBTVpOFUgN3EQY4KP2/99bKgNOTVMwCDgBRSBhnjtInq5+ZQBArj3YAQQ=

I don't know how to decode or what type of encryption it is. Can Anybody tell me how to decode it of what is encode/decode type is it? I will use PHP for decode(if decoding posible).


Solution

  • You can use or refer to my repository (thanks to Maxim for the proto file!).

    It is an easy to use Python package.

    1. Install the package
        pip install yliveticker
    
    1. Create livemarket.py file with the following code
        import yliveticker
    
    
        # this function is called on each ticker update
        def on_new_msg(msg):
            print(msg)
    
    
        # insert your symbols here
        yliveticker.YLiveTicker(on_ticker=on_new_msg, ticker_names=[
        "BTC=X", "^GSPC", "^DJI", "^IXIC", "^RUT", "CL=F", "GC=F", "SI=F", "EURUSD=X", "^TNX", "^VIX", "GBPUSD=X", "JPY=X", "BTC-USD", "^CMC200", "^FTSE", "^N225"])
    
    1. Run code
        python livemarket.py
    
    1. Watch live market data appearing in the console output.

    If you don't see any results, make sure you are within trading hours of your stock exchange