クリプト

【Python】ALISのAPIを読み込むプログラムの説明

ゆうき's icon'
  • ゆうき
  • 2018/09/08 12:51
Content image


リンク:

アリスブログ「ALISのAPI」を使用する方法まとめ > 当記事


◆ 【Python】ALISのAPIを読み込むプログラムの説明

いよいよ、やってきました。

「ALISのAPIを読み込むプログラム」の本体の説明です


私の「Pythonの記事」を読んできた方なら、きっと、この記事の内容も理解することができるでしょう!


○ 留意事項

・「2018/09/08」に作成された記事です

・pythonの経験は浅いので、内容の一部に誤りがあるかもしれません


○ 関連記事




◆ 「ALIS」の新着記事を「1件」表示するプログラムのソースコード

○ 基本型

import urllib.request
import json
import pprint


url_name1 = 'https://alis.to/api/articles/recent?limit=1'

cm_data1 = urllib.request.urlopen(url_name1)

byte_data1 = cm_data1.read()

str1 = byte_data1.decode("utf-8")

article_box1 = json.loads(str1)

pprint.pprint(article_box1['Items'])


input('Enterキーで終了')


○ 省略型

import urllib.request
import json
import pprint

cm_data1 = urllib.request.urlopen('https://alis.to/api/articles/recent?limit=1')
article_box1 = json.loads(cm_data1.read().decode("utf-8"))
pprint.pprint(article_box1['Items'])

input('Enterキーで終了')


省略型の方は、前から同じソースコードを掲示していたので、見覚えがあると思います。


一方、基本型は初めて作成したので、少し戸惑うかもしれません。

しかしながら、コードの中身は、過去の記事の「『ALIS Media』の『HTMLデータ』を取得してみよう!」と「JSONデータのロードと表示を行ってみよう!」の組み合わせでしかないので、さほど困ることはないでしょう。


○ 基本型の説明(「省略型のソースコード」の説明は省きます)

import urllib.request
import json
import pprint

ALISのAPIの読み込みでは、「urllib.request」「json」「pprint(おまけ)」のモジュールが必要となるため、呼び出しを行います。


url_name1 = 'https://alis.to/api/articles/recent?limit=1'

url_name1に、ロードするURLの情報を入れておきます。


なお、「ALISのAPI」を呼び出したい時は、



・ALISのAPIのドキュメント



の内部に書かれている「任意のURL」を使用することで、目的のJSONデータを獲得することができます。


cm_data1 = urllib.request.urlopen(url_name1)
byte_data1 = cm_data1.read()

指定のURLから、bytes型のJSONデータを受け取り、それを「byte_data1」の中に入れます。

(以前の記事では、「HTMLデータ」を「bytes型」で受け取っていましたが、「ALISのAPI」のURLの場合は、read()で呼び出すと「JSONデータ」を送ってくるので、今回の「byte_data1」には、「JSONデータ」が含まれることになります)


str1 = byte_data1.decode("utf-8")

「bytes型」を「str型」に変換します。


……だけど、今回のケースでは、送られてくるデータの形式上、変換の必要性が特になく

上記の行を消した上で、下記のコードを「json.loads(str1) → json.loads(byte_data1)」に変換しても動きます

けれども、「.decode("utf-8")」が含まれたコードを使用した際に、「今後、文字のエンコード関係でどこかに影響があるのかな?」と思うことがあったので、そのまま残しています。


・備考:「str1」の中の日本語が閲覧できない件について

HTMLを表示するプログラムの時は、デコードした後に「文字列の中身」を全て確認することができていましたが、今回の「str1」を「print」などで表示すると、日本語の部分だけ表示がおかしくなります


これは、「Unicodeエスケープ」が要因です。

「ALISのAPI」から送られてくる「JSONデータ」は、「Unicodeエスケープ形式」なので、辞書型に変換するまでは(json.loads()するまでは)、「unicode(日本語が『\u+16進数』の状態)」で表示されます。


・補足:「Unicodeエスケープ形式」の文章を日本語で見たい場合

Unicodeエスケープされていない文字列」に戻せばいいだけですね。

import codecs
str2 = codecs.decode(str1, 'unicode-escape')
print(str2)

この文章を「str1 = byte_data1.decode("utf-8")」の後に配置することで、str1の中身を正確に把握することができます



article_box1 = json.loads(str1)

獲得したJSONデータを辞書型に変換します。


pprint.pprint(article_box1['Items'])

辞書型の変数を見やすい形式で表示します。


input('Enterキーで終了')

いつもの一時停止させるプログラムです。


○ 出力結果

Content image

成功すると、「ALISの新着記事」を1つ取得して表示することができます


ここまで理解した上で、APIの獲得を成功させたら、少し感動するかもしれません

(*´∀`*)



「『ALISのAPI』を使用する方法まとめ」に戻る




◆ 「ゆうき」のツイッター


公開日:2018/09/08
獲得ALIS:23.10
ゆうき's icon'
  • ゆうき
  • @yuuki

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

Like token Tip token
947.13 ALIS
Eye catch
クリプト

Eth2.0のステークによるDeFiへの影響を考える。

Like token Tip token
44.10 ALIS
Eye catch
クリプト

Polygon(Matic)で、よく使うサイト(DeFi,Dapps)をまとめてみた

Like token Tip token
236.30 ALIS
Eye catch
クリプト

Uniswap(ユニスワップ)で$ALISのイールドファーミング(流動性提供)してみた

Like token Tip token
59.99 ALIS
Eye catch
クリプト

バイナンスの信用取引(マージン取引)を徹底解説~アカウントの開設方法から証拠金計算例まで~

Like token Tip token
3.50 ALIS
Eye catch
クリプト

UNISWAPでALISをETHに交換してみた

Like token Tip token
40.40 ALIS
Eye catch
クリプト

コインチェックに上場が決まったEnjin Coin(エンジンコイン)コインを解説

Like token Tip token
21.49 ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS
Eye catch
クリプト

【初心者向け】JPYCを購入して使ってみました!

Like token Tip token
30.03 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
クリプト

クリプトスペルズで入手したMCHCを引き出す方法

Like token Tip token
196.20 ALIS
Eye catch
クリプト

【DeFi】複利でトークンを運用してくれるサイト

Like token Tip token
54.01 ALIS