こんな方におすすめ
- 企業のIR情報をウェブからいち早く入手したい
- 企業のIR情報をLINEに送りたい
今回は株価の変動のきっかけとなる企業のIR情報をいち早く入手し、LINEに送る方法についてです。投資家にとって、いいIR情報は株価の上昇に繋がります。いち早く情報を入手し、株を買うことができればお金持ちになれるかもしれません。
今回は、日本通信株式会社のホームページから、IR情報をスクレイピングしLINEに送るプログラムをpythonで作成しました。
プログラムの流れ
まずはPythonのモジュールのBeautifulSoupを用いて、必要は情報をスクレイピングします。文章の体裁を整えた後、LINEに送信します。
今回は日本通信(株)のニュースリリース情報でトライします。
赤枠の部分を抜き出し、以下のようにLINEに送信します。
プログラムのソースコード
必要なモジュールをインポートします。
1 2 3 4 |
import requests from bs4 import BeautifulSoup import time import re |
LINE制御用の関数を作成します。
1 2 3 4 5 6 |
def line(message): line_notify_token = 'xxxxxxxxxx' line_notify_api = 'https://notify-api.line.me/api/notify' payload = {'message': message} headers = {'Authorization': 'Bearer ' + line_notify_token} line_notify = requests.post(line_notify_api, data=payload, headers=headers) |
必要情報をスクレイピングして、LINEに送ります。
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 31 32 33 34 35 36 37 38 39 40 41 |
#スクレイピングするURL target_url = "https://www.j-com.co.jp/news/index2020.html" r = requests.get(target_url) soup = BeautifulSoup(r.text, "html.parser") #<a href ..... 等を抜き出し、testに格納 test=soup.find_all("a") #リストの形式で格納する mlist2=[] for line in test: mlist2.append(line.getText()) #先頭の行を見つけたら、topflg=1になる topflg=0 #体裁を整え、message_stackに格納していく message_stack = "" message_stack+="日本通信(株)最新情報" message_stack+="\n" linecnt=0 for linelist in mlist2: if topflg==1: linecnt+=1 message_stack +="No." + str(linecnt)+":" message_stack +=linelist message_stack +="\n" #3行まで入手する。 if linecnt==3: break if re.search("ニュース・お知らせ",linelist): topflg=1 message_stack+="Pythonから送信" #LINEに送信する。 line(message_stack) |
まとめ
わずか数十行で、スクレイピングからLINEの送信までできました。自分が気にしている会社のIR情報でやってみるのも面白いと思います。
この応用で、定期的にIR情報のページをスクレイピングして、最新情報をいち早く入手することも可能です。うまくやれば、お金持ちになれるかもしれません。ぜひトライしてください。