WEBをいろいろ自動化したい 久しぶりの投稿
webの自動化については随分前に記事を書いたきりほったらかしになっていました。
実はジモティーサイトでクライアントを無料で募集して、そこで来た依頼をやっていたのですが、「競馬の結果をCSVで集計してほしい」という依頼を受け、1ヶ月かけてほぼ出来上がったところで、操作ミスでファイルを消してしまい、ここで記憶が飛んでいました。
さて、最近は、スクリプトのモチベーションはあまり高くないのですけど、
「特定の企業の株価をチェックして前日終値と共にメールで通知したい」
と思い、サクッと書いてみました
もう、長い間書いていなかったので、少し手間取りました
こんな感じのスクリプトを作って、決まった時間に起動するようにすれば、株価をメールでお知らせしてくれます
urll="https://kabutan.jp/stock/?code=7269"
import os
from email.mime.text import MIMEText
import smtplib
driver = webdriver.Firefox(executable_path=driver_path,service_log_path=os.path.devnull)
driver.get(urll)
kabuka=int(driver.find_element_by_xpath('//[@id="stockinfo_i1"]/div[2]/span[2]').text[0:-1].replace(',',""))
day=driver.find_element_by_xpath('//[@id="kobetsu_left"]/h2[1]/time').text.replace('月',"/").replace('日',"")
kabuka_bef=int(driver.find_element_by_xpath('//[@id="kobetsu_left"]/dl/dd').text.split()[0].replace(',',""))
bef_day=driver.find_element_by_xpath('//[@id="kobetsu_left"]/dl/dd').text.split()[1][1:-1]
driver.close()
account = "xxxx@gmail.com"
password = "xxxx"
to_email = "xxxxgmail.com"
from_email = "xxxx@gmail.com"
subject = "株価アップデート"
message = str(day)+"現在の株価は"+str(kabuka)+"円です。<br>" +str(bef_day)+"前回の株価は"+str(kabuka_bef)+"円でした。<br>差分は"+str(kabuka-kabuka_bef)+"円となります。<br>https://kabutan.jp/stock/chart?code=7269"
msg = MIMEText(message, "html")
msg["Subject"] = subject
msg["To"] = to_email
msg["From"] = from_email
server = smtplib.SMTP("smtp.gmail.com", 587)
server.starttls()
server.login(account, password)
server.send_message(msg)
server.quit()