機能 ショートカットキー
リファレンス(参考URL)一覧へ移動 R
記事URLをMarkDownとしてコピー Ctrl+M
前のコードタグへ移動 Ctrl+←
次のコードタグへ移動 Ctrl+→
ヘルプを表示・非表示 H
Tips
- ショートカットキーは記事上で有効です。ヘッダー/フッター付近では機能しないことがあります。
- コードタグ移動機能がうまく動かないときは、Shift+F5でページを更新してみてください。
- このウィンドウを閉じるには、Hキーをもう一度押してください

PythonでPoloniex APIを使用して仮想通貨の価格を取得する

10種類を超えるアルトコインとビットコインが、国内最安値で購入できる取引所

管理人のイチオシ取引所!10種類を超えるアルトコインとビットコインが、国内最安値で購入できます。

> Zaif

Poloniex APIのラッパーであるpython-poloniexを使用させていただきます。
短いコードで実装が可能になります。

インストール

pip3 install https://github.com/s4w3d0ff/python-poloniex/archive/v0.4.7.zip
# [Github](https://github.com/s4w3d0ff/python-poloniex)

こういう感じで色々得られます。


from poloniex import Poloniex polo = Poloniex() print(polo('returnTicker')['USDT_BTC']) print(polo('returnTicker')['USDT_XRP']) #=> {'highestBid': '14000.00000002', 'baseVolume': '96069955.51006223', 'isFrozen': '0', 'low24hr': '12600.00000000', 'last': '14020.00000002', 'id': #=> 121, 'quoteVolume': '7072.71923574', 'high24hr': '14300.00000099', 'lowestAsk': '14020.00000002', 'percentChange': '0.01030548'} #=> {'highestBid': '2.05009997', 'baseVolume': '75182222.15231425', 'isFrozen': '0', 'low24hr': '1.67750000', 'last': '2.05009998', 'id': 127, #=> 'quoteVolume': '37126245.46673703', 'high24hr': '2.26976001', 'lowestAsk': '2.05009998', 'percentChange': '0.18414116'}

Pythonの辞書(ハッシュ)の値はこういうふうに取得します。

dict = {"yamada":75, "endou":82}
value =  dict["yamada"]

出力は辞書形式なので、最後に[“last”]とか[“highestBid”]をつけるだけでおkです。

from poloniex import Poloniex
polo = Poloniex()


print(polo('returnTicker')['USDT_BTC']["last"])
print(polo('returnTicker')['USDT_XRP']["last"])
print(polo('returnTicker')['USDT_ETH']["last"])

#=> 13970.07949450
#=> 2.07080000
#=> 1263.00000006

はい、ドルでラストプライスの取得ができました。

ちなみに、balanceの取得もできます。というかAPIなのでbuyでもsellでもwithdrawでもキャンセルでもできます。
balanceの確認は以下。
自分のアカウントの情報にアクセスするわけなので、API keyとSecretが必要です。各自入力してください。


import poloniex polo.key = '' polo.secret = '' balance = polo.returnBalances() print("I have %s ETH!" % balance['ETH']) # or balance = polo('returnBalances') print("I have %s BTC!" % balance['BTC']) #=> I have 0.00000000 ETH! #=> I have 0.05000000 BTC!

ドル/円 変換

仮想通貨

しかし、円価格でもみたいですよね。なのでもうひと押し。

ドル→円 変換をします。
forex-pythonを使いたいと思います。

インストール

pip3 install forex-python
# https://github.com/MicroPyramid/forex-python

簡単ですね。できました。

from forex_python.converter import CurrencyRates
c = CurrencyRates()
c.convert('USD', 'JPY', 14000)

#=> 1563380.0

ちなみに一ドル何円かみたい場合はこちら。

c.get_rates('USD')["JPY"]

#=> 111.67

c.get_rates('CNY')["JPY"]

#=> 17.176

# CNY人民元→JPY円 のチャート
# http://www.xe.com/currencycharts/?from=CNY&to=JPY&view=10Y

これをまとめると、こんな感じ。

from poloniex import Poloniex
polo = Poloniex()

from forex_python.converter import CurrencyRates
c = CurrencyRates()


print(c.convert('USD', 'JPY', float(polo('returnTicker')['USDT_BTC']["last"])))
print(c.convert('USD', 'JPY', float(polo('returnTicker')['USDT_XRP']["last"])))
print(c.convert('USD', 'JPY', float(polo('returnTicker')['USDT_ETH']["last"])))

# print(polo('returnTicker')['USDT_ETH']["last"])

#=> 1546668.842271211
#=> 231.38024000000001
#=> 141820.899988833

ただ、このforex_python、安定しないんですよね。conection errorでまくりで、使いにくい。
なのでやっぱりドルの方が良いと思います。見にくいかもしれないですが。

最終的に、こんな感じに落ち着くかと思います。


from poloniex import Poloniex polo = Poloniex() print("BTC:" + polo('returnTicker')['USDT_BTC']["last"]) print("XRP:" + polo('returnTicker')['USDT_XRP']["last"]) print("ETH:" + polo('returnTicker')['USDT_ETH']["last"]) print("BCH:" + polo('returnTicker')['USDT_BCH']["last"]) # print("ADA:" + polo('returnTicker')['USDT_ADA']["last"]) # print("XEM:" + polo('returnTicker')['USDT_XEM']["last"]) print("LTC:" + polo('returnTicker')['USDT_LTC']["last"]) # print("XLM:" + polo('returnTicker')['USDT_XLM']["last"]) # print("MIOTA:" + polo('returnTicker')['USDT_MIOTA']["last"]) print("DASH:" + polo('returnTicker')['USDT_DASH']["last"]) #=> BTC:13795.00000001 #=> XRP:2.05100010 #=> ETH:1261.23442071 #=> BCH:2564.99848236 #=> LTC:237.40000003 #=> DASH:1040.00136100

エラー

Python2で実行するとこういうエラーがでます。3でやりましょう。

root@DESKTOP-UHU8FSH:~# python2 /mnt/c/pg/crypto/get_last_price_v2.py
Traceback (most recent call last):
File "/mnt/c/pg/crypto/get_last_price_v2.py", line 1, in <module>
from poloniex import Poloniex
ImportError: No module named poloniex

CoinMarketCap JSON API

仮想通貨

Cryptocurrency Market Capitalizations の CoinMarketCap JSON APIもおすすめです。
こちらはpoloniexと違って percent_change_7d とか percent_change_1h とかが取得できるので、結構使えそうです。

ただ確認するだけなら、サイトへ直接訪問して閲覧したほうが見やすいし早いので、こちらは僕はパスしたいと思います。
何か解析するようなことがしたいのであれば、こちらのAPIは有用かと思います。

この記事で欲しい情報が見つからなかった方へ

この記事の更新情報がある場合があります!!
この記事は以下の記事とも関連性があると思われます。

一時100万割れしたビットコインや仮想通貨が暴落し続ける理由
ビットコインを使った詐欺に引っかかって20万円を失いそうになった話と詐欺への対処法
【詐欺られた】仮想通貨TOKIAのICOに参加したら2万円失った話【SCAM】
coinmarketcapから仮想通貨1500種類をスクレイピングする
仮想通貨MoneroをCPUの並スペックパソコンでマイニングする
Gekkoの使い方!APIで仮想通貨を自動取引(シストレ)する方法
conohaのVPSでBitZenyをマイニングする


管理人の方針で、既存の記事の編集はせず、新しい情報や大きな既存情報の更新があった場合には、新しい記事として公開することになっています。
当記事で欲しい情報が見つからなかった・解決に至らなかった場合、これらのリンクがお役に立てるかも知れません。

どうやってこの関連記事を生成しているの?
この機能のPHPソースコード(2500行)

10種類を超えるアルトコインとビットコインが、国内最安値で購入できる取引所

管理人のイチオシ取引所!10種類を超えるアルトコインとビットコインが、国内最安値で購入できます。

> Zaif

コメントを残す

Close Menu