PowerShellでCoincheckの板情報を取得・order_books(PowerShell) †
当サイトに記載されている会社名、製品名などは一般に各社または団体の商標または登録商標です。
当サイトの資料により直接的および間接的障害が生じても一切責任を負いません。
あらかじめご了承ください。
PowerShellを使って
Coincheck
の板情報APIの使用例を以下に記します。
スポンサーリンク
関連記事 †
板情報APIの仕様など †
public APIなので
Coincheck
に取引口座を開設していなくても使用することができます。
板情報のAPI仕様(Coincheck APIページから抜粋)
https://coincheck.com/ja/documents/exchange/api#order-book
板情報
板情報を取得できます。
HTTP REQUEST
GET /api/order_books
RESPONSE ITEMS
asks 売り注文の情報
bids 買い注文の情報
板情報APIを試してみた結果、asks, bids の情報が400件(asks200件、bids200件)返却されました。
ブラウザで板情報(order_books)を取得する †
GETなのでブラウザで板情報を取得することができます。
以下のようなURLになります。
https://coincheck.com/api/order_books
ブラウザで板情報APIにアクセスした結果 †
以下ブラウザから上記URLにアクセスしたときの出力です。
JSONが整形され表示されています。
見やすいですね。
(生データをクリックすると上記同様にJSON形式の返却された文字列が表示されます。)
Invoke-RestMethodコマンドレットでCoincheckの板情報を取得する †
- 板情報を取得するURL(API)を設定します。
PS C:\> $order_books_api = "https://coincheck.com/api/order_books"
- Invoke-RestMethodコマンドレットを使用し、返却された情報を$order_books_api変数に代入します。
PS C:\> $order_books = Invoke-RestMethod -UseBasicParsing $order_books_api
- 取得した板情報を表示しています。
PS C:\> $order_books
asks bids
---- ----
{963999.0 0.015, 964584.0 0.0106, 964585.0 0.005, 964687.0 0.206...} {963724.0 0.1, 963723.0 1.2893, 963722.0 0.8468...
- 取得した数を確認しています。bid,askともに200件取得できています。
PS C:\> $order_books.asks.Count
200
PS C:\> $order_books.bids.Count
200
以下のようにして取得した、板情報にアクセスできます。
- askを表示
PS C:\> $order_books.asks
963999.0
0.015
964584.0
0.0106
964585.0
0.005
964687.0
0.206
964854.0
<省略>
これでは見にくいので、以下にしました。
- askを10件表示
PS C:\> $order_books.asks | % { "$($_[0]) : $($_[1])" } | Select-Object -First 10
963999.0 : 0.015
964584.0 : 0.0106
964585.0 : 0.005
964687.0 : 0.206
964854.0 : 0.04
964999.0 : 0.015
965043.0 : 0.005
965045.0 : 0.04
965185.0 : 0.05
965236.0 : 0.8839
- bidsを10件表示
PS C:\> $order_books.bids | % { "$($_[0]) : $($_[1])" } | Select-Object -First 10
963724.0 : 0.1
963723.0 : 1.2893
963722.0 : 0.8468
963677.0 : 0.08
963603.0 : 0.05522457
963557.0 : 0.3
963523.0 : 0.005
963520.0 : 0.05
963516.0 : 0.426
963473.0 : 0.1
HTTPステータスなどを一緒に取得したい場合 † †
上記では、Invoke-RestMethodにてJSONをPowerShellで扱いやすい状態に変換してくれます。
しかし、Webサーバから返却された値を変換せず、取得後JSONを別のコマンドレットで変換する操作手順を以下に記します。
- 板情報を取得するURLを設定します。
PS C:\> $order_books_api = "https://coincheck.com/api/order_books"
- Invoke-WebRequestコマンドレットでサーバからのレスポンスを$resに格納します。
PS C:\> $res = Invoke-WebRequest -UseBasicParsing $order_books_api
- 取得したレスポンスは以下の通りです。
PS C:\> $res
StatusCode : 200
StatusDescription : OK
Content : {"asks":[["964476.0","0.01"],["964481.0","0.07"],["964624.0","0.04997196"],["964672.0","0.8818"],["
964673.0","0.1"],["964674.0","0.1"],["964716.0","0.005"],["964924.0","0.1"],["964994.0","0.1"],["96
50...
RawContent : HTTP/1.1 200 OK
Transfer-Encoding: chunked
Connection: keep-alive
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Request-Id: 939121fa-5fd2-4cfa-bf2...
Forms :
Headers : {[Transfer-Encoding, chunked], [Connection, keep-alive], [X-Frame-Options, SAMEORIGIN], [X-XSS-Prot
ection, 1; mode=block]...}
Images : {}
InputFields : {}
Links : {}
ParsedHtml :
RawContentLength : 8573
- HTTPステイタスを取得しています。
PS C:\> $res.StatusCode
200
- 値も取得しています。
PS C:\> $json = ($res.Content | ConvertFrom-Json)
PS C:\> $json
asks bids
---- ----
{964476.0 0.01, 964481.0 0.07, 964624.0 0.04997196, 964672.0 0.8818...} {964145.0 0.6, 964110.0 0.015, 964001.0 0.01...
PS C:\> $json.asks[0]
964476.0
0.01
以上、PowerShellを使って、Coincheckの板情報を取得・order_booksからの返却値を表示する方法でした。
スポンサーリンク