1

Python 3.4 および Coinbase V2 API


私はいくつかの BTC データ分析に取り組んでおり、coinbase API への継続的なリクエストを作成しようとしています。スクリプトを実行すると、最終的には次の呼び出しで常にクラッシュします。

r = client.get_spot_price()
r = client.get_buy_price()
r = client.get_sell_price()

珍しいことは、スクリプトが常に異なるタイミングでクラッシュすることです。1 時間ほどデータを正常に収集してからクラッシュすることもあれば、5 ~ 10 分後にクラッシュすることもあります。

エラー:

    r = client.get_spot_price()
  File "/home/g/.local/lib/python3.4/site-packages/coinbase/wallet/client.py", line 191, in get_spot_price
    response = self._get('v2', 'prices', 'spot', data=params)
  File "/home/g/.local/lib/python3.4/site-packages/coinbase/wallet/client.py", line 129, in _get
    return self._request('get', *args, **kwargs)
  File "/home/g/.local/lib/python3.4/site-packages/coinbase/wallet/client.py", line 116, in _request
    return self._handle_response(response)
  File "/home/g/.local/lib/python3.4/site-packages/coinbase/wallet/client.py", line 125, in _handle_response
    raise build_api_error(response)
  File "/home/g/.local/lib/python3.4/site-packages/coinbase/wallet/error.py", line 49, in build_api_error
    blob = blob or response.json()
  File "/home/g/.local/lib/python3.4/site-packages/requests/models.py", line 812, in json
    return complexjson.loads(self.text, **kwargs)
  File "/usr/lib/python3.4/json/__init__.py", line 318, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.4/json/decoder.py", line 343, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.4/json/decoder.py", line 361, in raw_decode
    raise ValueError(errmsg("Expecting value", s, err.value)) from None
ValueError: Expecting value: line 1 column 1 (char 0)

一部のjsonデコードが原因でクラッシュしているようです?

これが特定の時間にのみエラーをスローする理由を知っている人はいますか?


このエラーによるクラッシュを回避するために、次のようなことを試しました。

#snap is tuple of data containing data from buy, sell , spot price
if not any(snap):                                                                                                 
    print('\n\n-----ENTRY ERROR---- Snap returned None \n\n')                                                     
    success = False                                                                                               
    return 

しかし、それはうまくいきません

あなたの意見では、このエラーを処理するための良い方法は何ですか?


ありがとう、どんな助けでも大歓迎です!

4

2 に答える 2