記錄#
百日學習挑戰
今天是最後一天了,在最開始的時候也沒有想到自己能堅持完成這 100 天的學習,最終還是完成了,中間因為各種事情耽誤了不少時間,否則還能再快一些。
從 4 月到 9 月,大約 150 天左右的時間,我收穫了一個基礎的 Python 編程知識。總的感覺下來還是很初級的內容,對 Python 的基本操作有了不少認識。如果想要做一些事情,還是需要再繼續深入學習,下一步該怎麼進行還沒有頭緒。
總之,這個學習階段告一段落了,給自己點一個大大的讚,繼續加油!我已經證明了自己有恒心和毅力,相信通過持續努力,你、我一定能達到更高的目標!
最後一個學習項目是抓取電商網站的商品價格,如果實際價格低於目標價格,那就發送郵件提醒。
代碼#
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)