【Python】投資ニュースをチェックするiPhoneアプリ、5分で作っちゃう!【Pythonista3】
タイトルの通り、株式ニュースを1タップ(現バージョンでは2タップ)でチェックするiPhoneアプリを作成します。
プログラミングの知識が無くても作成できるので、興味のある方は試してみてください^^
また、動画での解説もしているので、良ければご視聴ください。
▼▼▼画像クリックでYouTubeへ▼▼▼
実行プログラム
さっそくですが、実行プログラムは以下の通りです。
import webbrowser
import requests
import urllib.parse
import time
from bs4 import BeautifulSoup
def checkEvent(url, word):
""" イベントが発生しているか確認する
"""
res = requests.get(url)
soup = BeautifulSoup(res.text, "html.parser")
contact = soup.find("div", class_="m-newpresSearchResults")
l_tagString = []
for tag in contact.find_all("th"):
l_tagString.append(tag.string)
if "発表日" in l_tagString:
print(f"{word} ==> Check!!")
webbrowser.open(url)
else:
print(f"{word} ==> Nothing.")
def main():
""" キーワードと期間を指定する
"""
# 検索する期間(当日=0, 前日=1, 過去1週間=7, 過去1ヶ月=8, 過去3ヶ月=9, 過去6ヶ月=10, 過去1年=11)
term = "7"
l_word = ["優待", "配当"]
for word in l_word:
kwd = urllib.parse.quote(word)
url = f"https://www.nikkei.com/markets/kigyo/disclose/?kwd={kwd}&SelDateDiff={term}"
checkEvent(url, word)
time.sleep(8)
if __name__ == "__main__":
""" このスクリプトを直接実行した場合、以下のコードが動作する
"""
main()
手順1:Pythonista3をインストール
iPhone/iPadのAppストアから、「Pythonista3」をインストールします。
このアプリ、1200円する有料のアプリケーションなんですが、評価を見て分かる通り、神アプリです。
手持ちのiPhoneでPythonプログラムが実行できちゃいます。
インターフェースも洗練されているし、動作も軽快。
RequestsとBS4が使えるので、スクレイピングで情報収集することもできちゃいます。
Python使いにとって必携のアプリ!
このアプリ上で、先に掲載したPythonコードを実行します。
手順2:Pythonプログラムをダウンロード
まずPythonista3に、Pythonファイルを作成します。
アプリを起動し、右へスワイプすると、左からファイルを保存するスペースが現れます。
iCloudに保存すると、PCでプログラムを編集することができて便利なのですが、今回は端末に直接保存します。
Pythonファイルの作成方法は以下の通りです。
・「This iPad / This iPhone」を選択
・「+」ボタンをタップし、「Empty Script」を選択
・ファイル名を「stockNEWS.py」と入力し、「Create」を選択
これでPythonファイルが作成されました。
あとはプログラムの内容をここに張り付けるだけですね。
・noteのはじめに掲載したPythonプログラム全体を選択し、コピー
・Pythonista3を起動し、「stockNEWS.py」へ張り付ける
これで、もうプログラムは動作する状態になりました!
あっという間ですね!
手順3:プログラムをアプリ化
さて、プログラムはもう動くんですが、これをアプリ化してしまうともっと手軽にニュースをチェックできるようになります!
方法は簡単ですので、サクッと済ませちゃいましょう。
まず、コピーしたプログラムを開き、以下の画像の通り画面をタップしていけばOKです。
(赤丸のところをタップ)
はい、以上です。
途中、アイコンの変更を省略しましたが、好きなものに設定することが可能です。
手順4:プログラムの改造
最後にプログラムの改造方法も紹介しましょう。
書き換えるのは以下の部分です。
・「term」は検索するニュースの期間
・当日=0, 前日=1, 過去1週間=7, 過去1ヶ月=8, 過去3ヶ月=9, 過去6ヶ月=10, 過去1年=11
・「l_word」は検索にかけるキーワード
・上の画像では、「決算」のニュースと「6758(ソニー)」のニュースを検索している
・半角コンマで区切れば、検索ワードを増やすことができる
・「sleep(8)」はキーワード毎に検索の間隔をあけるための時間
・8秒以下に設定しないようお願いします
というように設定できますので、自由に設定してみてください。
注意
今回は日経新聞のニュース検索機能を利用させていただく形で実装しました。
サイトの負担にならないよう「手作業より遅く」を心掛け、8秒間隔で検索していることをご理解ください。
このnoteを活用したいかなる損失・損害の責任はとりえませんので、利用は自己責任でお願いします。