search
クリプト

【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
Article registration Article registration
ゆうき's icon'
  • ゆうき
  • @yuuki

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

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

昆布森ちゃん 2020/06/15
Like token Tip token
3.50 ALIS
Eye catch
クリプト

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

nnppnpp(んぺー) 2021/09/08
Like token Tip token
46.60 ALIS
Eye catch
クリプト

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

ゆうき 2021/05/17
Like token Tip token
236.30 ALIS
Eye catch
クリプト

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

大田コウキ 2021/04/06
Like token Tip token
947.13 ALIS
Eye catch
クリプト

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

KTAG 2021/02/22
Like token Tip token
54.01 ALIS
Eye catch
クリプト

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

昆布森ちゃん 2021/01/24
Like token Tip token
21.49 ALIS
Eye catch
クリプト

【第8回】あの仮想通貨はいま「テレグラム-TON/Gram」

Taka 2021/07/24
Like token Tip token
69.90 ALIS
Eye catch
クリプト

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

Macky3216 2020/09/28
Like token Tip token
40.40 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

kaya 2021/10/06
Like token Tip token
61.20 ALIS
Eye catch
クリプト

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

昆布森ちゃん 2021/01/19
Like token Tip token
38.31 ALIS
Eye catch
クリプト

CoinList(コインリスト)の登録方法

Taka 2021/02/25
Like token Tip token
15.55 ALIS
Eye catch
クリプト

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

暗号資産ジョシ校生 蟻巣 2021/06/30
Like token Tip token
30.03 ALIS