<< iPadでPythonを使う(Pythonista3 Widget操作編) | main | ワトソンの翻訳AIを使ってみる(pythonista3) >>

iPadでPythonを使う(Pythonista3 Widget操作編その2)

 

前回からの続きです。

 

iPadでpythonista3を使ったネットでの記事が意外と少ないのに驚きました。

まあ、iPad(iPhone)では自分でプログラムを作る必要がないのかもしれません

が、

 

今回は、ネットからデータ(JSON形式)を取ってくることを目指してみます。

とりあえず、ボタンを押したときに、何か表示するものを作ります。

 

 

前回のものにLabelをタップして追加してください。

 

 

自動的にデフォルトで「label1」という名前がつきます。

 

 

ボタンを押したときの処理を、ラベルに「おはよう」と表示します。

4行目でlabel1をtextfieldという名前にしています。

(なお、4行目、5行目は、

textfield = sender.superview

textfield['label1'].text = 'おはよう'

でもOKです。)

 

 

昔、FX(為替証拠金取引)をやっていたことがあるので、ネットから円ドルレートを取ってみます。

もちろんyahooなどで調べたらすぐにわかることですが、

Pythonでのプログラムの手法を覚えるための研究としてです。

 

先ほどのプログラムを使って、追加していきます。

 

import ui
import urllib.request
import json

def buttontap(sender):
    url = 'https://www.gaitameonline.com/rateaj/getrate'
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0: Win64: x64: rv:57.0) Gecko/20100101 Firefox/57.0',}
    req = urllib.request.Request(url=url, headers=headers)
    res = urllib.request.urlopen(req)
    html = json.loads(res.read().decode('utf-8'))
    rate = html['quotes'][20]['ask']
    textfield = sender.superview['label1']
    textfield.text = rate + '円'

v = ui.load_view()
v.present('sheet')

今回はちょっと長いので、入力間違いする可能性もあるかと思いソースプログラムを載せています。

あたりまえですが、1字でも間違えるとエラーになりますので、その部分はコピーアンドペーストしてください。

下のようになると思います。

 

 

2行目のimport urllib.requestは、サーバー(http)に要求を出しダウンロードするライブラリです。

3行目のimport jsonはjson形式を扱うライブラリです。

6行目の url = 'https://www.gaitameonline.com/rateaj/getrate'は外為オンラインの為替レートをjson形式で載せてくれているページです。(本家の為替レートのipadアプリは外為オンラインFXからダウンロードしてください。)

json形式とは、Javascript Object Noteの略で、プログラムと相性のいいデータの形式で多くの言語で使われています。

7行目は、httpのヘッダー部分を指定しています。外為オンラインのこのページでは、プラウザ名を送らないとエラーとなります。

そのため、ここでは、いつも使っているfirefoxのプラウザ名をダミーで付けています。(他のページでは、必要ありません)

8行目ではURLを要求(リクエスト)しています。

9行目ではリクエストをもとに変数resにダウンロードしています。

10行目では、変数resから変数htmlにjson形式でutf-8にして読み込みをしています。

11行目では、変数rateに変数htmlからドル円のレートを取り出しています。うえの6行目のURLを開いて見てください、

このjsonのデータは{'quotes':[{'ask':'1.9462',……},{……},……]}のようになっています。

なので、htmlの['quotes']の[20番目のデータ]の['ask']で取得できます。0から数え20番目がドル円のデータです。

 

あとは、UIの見栄えを直して完成です。

 

 

上は一例として作ってあります。

自分の好きなように編集してください。

下は、実行してボタンを押したもの

 

 

ちなみに、URLの更新時間はあまり早くない感じで、なのでボタンは1分に1回ぐらいの間隔で押してください。

連続で押しても表示はあまりかわりません。

 

ここでは、ドル円のask(買い)しか表示させていませんが、

興味のある人は、

bid(売り)やユーロなどほかの通貨セットも表示させてみてください。

 

また、ほかのアプリのように、直接ホーム画面から起動するには、

 

 

から、別画面が出ますので、アイコンを選択してContinueをタップ

 

 

また別画面がでますので、ツールバーの上矢印をタップして、ホーム画面に追加を選んでタップすれば、

 

 

ホーム画面にアイコンが作成され、タップすれば起動します。

 

多くのことを一度に説明したため、わかりにくかったかもしれませんが、

すべての手法はほかにも応用のきくものばかりです。

いろんなプログラムが思い浮かぶのではないでしょうか?

 

このように、Pythonでは他のプログラム言語より短いステップで作ることができるような感じです。

 

一応ここで、Pythonに関す記事はいったん終了しますが、

まだiPad(iPhone)を制覇できていませんので、何か作ったら随時ブログを書こうと思います。

 

追記:

関連:IBMワトソンのAPIを使った翻訳(pythonista3)

 

JUGEMテーマ:プログラミング

| python | 09:34 | comments(0) | trackbacks(0) |
Comment









Trackback
url: トラックバック機能は終了しました。

06
--
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
--
>>
<<
--
Profile
New entries
Archives
Categories
Recent comment
カウンター


今日
昨日
レンタルサーバ/プロバイダー




ファッション
カタログ通販ベルーナ(Belluna)

イマージュ - IMAGEアウトレットセール
yahoo・その他


買い物
ビックカメラ.com



Mobile
qrcode
Links
Others
無料ブログ作成サービス JUGEM