Python

マイプロテインのセール情報を通知してもらう(未完成)

最初

みなさんはどこのプロテインを愛用していますか?
今回、トレーニングには欠かせないプロテインに関する困りごとをハックすべく立ち上がりあがりました。(未完成)

問題

自分は普段マイプロテインのネット通販でプロテインを購入しています。高品質で低価格。
安いときは70%オフなときもあります。
しかし、セール情報を知るためには毎回こちらから確認しなくてはいけなくとても面倒😭
そこでセールが開催されていたら通知してくれる仕組みを用意したいと思います。
(※もしかしたらメールでセール情報配信しているかも)

全体像

👦🏻 ⇔ Google Home ⇔ Firebase ⇔ マイプロテイン

セール情報のスクレイピング

※スクレイピングは自己責任でお願いします
Pythonでセール情報を抽出します。

from bs4 import BeautifulSoup
import urllib2
import re

# このbanner-titleが欲しい
html = """
    <html>
    <h2 class="banner-title">全品<br/>70%オフ</h2>
    </html>
"""
# 実際はこんな感じでhtmlを取得します
# url = 'https://www.myprotein.jp'
# response = urllib2.urlopen(url)
# html = response.read()
soup = BeautifulSoup(html, "html.parser")

# "全品70%オフ"みたいなのが取れる
bunner_title = soup.find('h2', class_='banner-title')

# ディスカウントを正規表現で抽出
pattern = r'([0-9]+%)'
discount = re.findall(pattern, bunner_title.text)
print('discount:', discount[0])

# あとは通知したりなんなり(すみません時間なかったです)

まとめ

この時点ではまったく独創性は無いです。。
年末に折角買ったGoogle Homeと連携させる。

参考