#記録
- 96 日目の練習は、ウェブページのコンテンツをリクエストし、openai を使用してコンテンツを要約することです。ただし、キーの問題のため、openai のプロセスはスキップされます。
- 97 日目の練習は、カスタムコードを実行するために、継続的に実行されるプロセスを作成することです。
schedule
を使用してプロセスを作成し、コードschedule.every(2).seconds.do(printMe)
を実行します。コードの意味は、「* 時間ごとに何をする」ということです。- コードを継続的に実行するには、無限ループを作成し、
while True
のループ内にschedule.run_pending()
を追加します。 - コードの作成は経験が必要な作業です。無限ループに
time.sleep(1)
のコードを追加すると、CPU の使用率が 50%から 0.7%に減少します。これは、経験のない人にはできないことです。
#コード
##96 日目のコード
import requests
from bs4 import BeautifulSoup
url = "https://zh.wikipedia.org/wiki/不明飞行物"
respone = requests.get(url)
html = respone.text
soup = BeautifulSoup(html, 'html.parser')
page = soup.find_all("div",{"class","mw-parser-output"})
for txt in page:
print(txt.text)
##97 日目のコード
import schedule, time, os, smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
password = os.environ['p']
username = os.environ['u']
def sendMail():
email = "休憩を忘れないでください!"
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(email, 'html'))
s.send_message(msg)
del msg
def printMe():
print("⏰ リマインダーを送信中")
sendMail() # サブルーチンをprintMeに移動し、すでにスケジュールされている
schedule.every(1).hours.do(printMe) # インターバルを1時間ごとに変更
while True:
schedule.run_pending()
time.sleep(1)