Python |网站上线时收到邮件提醒
原文:https://www . geesforgeks . org/python-get-email-alert-当网站启动时/
在本文中,我们将学习如何使用一个简单的 Python 脚本来检查是否有任何网站正在运行或关闭。我们将使用 Python 的 requests 库发送【get】请求,【smtplib】库在网站上线时发送电子邮件通知。这意味着我们不需要每次都检查。我们的 Python 程序会在网站运行时通过电子邮件通知我们。 这个脚本只是检查一个网站是否正常。如果它是向上的,那么它将发送一封关于这个的电子邮件,如果它是向下的,那么它将继续检查,并且当站点将是向上的时候,它将发送一封电子邮件并且终止。 安装: 转到命令提示符,写下此命令:
pip install requests, smtplib
以下是步骤:
- 将整个代码放入 try 块中,以处理异常。
- 向我们想要的网站发送获取请求。
- 如果网站没有运行,那么我们没有得到回应,从而抛出一个异常。
- 然后在除了块,我们只是打印网站没有运行。
- 如果没有异常抛出,那么这意味着我们得到了回应,网站正在运行。
- 现在创建一个通过 gmail 登录的 SMTP 会话。
- 输入正确的 gmail id 和密码。
- 发送邮件并完成。
下面是实现:
Python 3
import smtplib, requests, time
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
while(1):
try:
# Replace the url for your desired website
url = "https://www.facebook.com/"
# Send the get request to the website
r = requests.get(url)
# creates SMTP session
s = smtplib.SMTP("smtp.gmail.com", 587)
# start TLS for security
s.starttls()
# Authentication
s.login("sender_gmail_id", "sender_password")
# Instance of MIMEMultipart
msg = MIMEMultipart("alternative")
# Write the subject
msg["Subject"]= url + " is working now."
msg["From"]="sender_gmail_id"
msg["To"]="receiver_gmail_id"
# Plain text body of the mail
text = url + " is running now."
# Attach the Plain body with the msg instance
msg.attach(MIMEText(text, "plain"))
# HTML body of the mail
html ="<h2>Your site is running now.</h2><br/><a href ='"
+ url + "'>Click here to visit.</a>"
# Attach the HTML body with the msg instance
msg.attach(MIMEText(html, "html"))
# Sending the mail
s.sendmail("sender_gmail_id", "receiver_gmail_id", msg.as_string())
s.quit()
print('sent')
break
except:
print('site is down yet...')
print('sleeping...')
# Sleeping for 60 seconds. We can change this interval.
time.sleep(60)
print('Trying again')
continue
版权属于:月萌API www.moonapi.com,转载请注明出处