レコード#
100 日間の学習チャレンジ
今日が最後の日ですが、最初の頃は自分がこの 100 日間の学習を続けることができるとは思っていませんでしたが、最終的には達成しました。途中でいろいろなことに時間を取られましたが、それでももっと早く終わることができました。
4 月から 9 月まで、およそ 150 日間、私は基本的な Python プログラミングの知識を得ました。全体的には初級レベルの内容で、Python の基本操作について多くの理解を深めました。何かを成し遂げるためには、さらに学習を深める必要がありますが、次のステップについてはまだ方針が立っていません。
とにかく、この学習フェーズは一区切りついたので、自分自身に大きな拍手を送ります。さらに頑張りましょう!私は自分自身が忍耐力と毅力を持っていることを証明しましたし、持続的な努力を信じて、あなたと私は確実により高い目標を達成できると信じています!
最後の学習プロジェクトは、電子商取引サイトから商品の価格を取得し、実際の価格が目標価格よりも低い場合にはメールで通知するものです。
CODE#
main.py#
from replit import db
import schedule, time, os, smtplib, requests
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from bs4 import BeautifulSoup
password = os.environ['p']
username = os.environ['u']
def addinfo():
#url = "https://www.wexphotovideo.com/canon-imageprograf-pro-300-printer-1745230/"
url = input("URL: ")
target_price = input("目標価格: ")
db[time.time()] = {"url": url, "target_price": target_price}
def sendMail(text):
server = "smtp.gmail.com"
port = 587
s = smtplib.SMTP(host=server, port=port)
s.starttls()
s.login(username, password)
msg = MIMEMultipart()
msg['To'] = "[email protected]"
msg['From'] = username
msg['Subject'] = "休憩を取ってください"
msg.attach(MIMEText(text, 'html'))
s.send_message(msg)
del msg
def shop():
if db.keys():
for key in db.keys():
url = key["url"]
target_price=key["target_price"]
else:
addinfo()
respone = requests.get(url)
html = respone.text
soup = BeautifulSoup(html, 'html.parser')
price = soup.find("span", {"class", "price"}).text
original_price = price.replace("£", "")
if original_price < target_price:
text = f" GOGOGO! <a href={url}>購入</a>"
sendMail(text)
schedule.day(1).hours.do(shop) # インターバルを1時間ごとに変更
while True:
schedule.run_pending()
#print(searchkey())
time.sleep(1)