前提・実現したいこと
Pythonを用いて、任天堂の適時開示情報ページ(https://webapi.yanoshin.jp/webapi/tdnet/list/7974.html?limit=100)
で、更新情報があれば、会社名とURLを出力したく、以下のコーディングを行いました。
しかし、このコードだと、もしも同時刻に複数の更新情報がある場合、全ての更新情報が出力されるわけではなく、一番最新の情報(一番上の行)しか出力されません。
同時刻に複数の更新情報がある場合、全ての更新情報が出力されるようにするにはどのようにすれば良いでしょうか。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
Python
1import requests 2from bs4 import BeautifulSoup 3import schedule 4import time 5 6old_file="test.txt" 7 8def job(): 9 url = requests.get("https://webapi.yanoshin.jp/webapi/tdnet/list/7974.html?limit=100").content 10 soup = BeautifulSoup(url, 'html.parser') 11 table=soup.findAll("table")[0] 12 tr=soup.findAll("tr")[0] 13 name=tr.findAll("td")[1] 14 name=name.getText() 15 url=tr.findAll("td")[2] 16 url=url.a.get("href") 17 global old_file 18 if tr==old_file: 19 pass 20 else: 21 print(f"更新あり 銘柄名 : {name} URL : {url}" ) 22 23 old_file=tr 24 25schedule.every(5).seconds.do(job) 26while True: 27 schedule.run_pending() 28 time.sleep(1) 29 30job()
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/23 08:32
退会済みユーザー
2021/01/24 00:00 編集
2021/01/24 13:14
2021/01/25 12:09
退会済みユーザー
2021/01/25 12:59