Python 官方文档:入门教程 => 点击学习
需求:从天气网站抓取天气,在每天6点,检查当天是否会下雨。如果下雨,邮件提醒带伞。代码:[root@pos ~]# cat weather.py #!/usr/bin/python # -*- coding: UTF-8 -*- impor
需求:
从天气网站抓取天气,在每天6点,检查当天是否会下雨。如果下雨,邮件提醒带伞。
代码:
[root@pos ~]# cat weather.py
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import requests,bs4,smtplib
def sendMail(body):
smtp_server = 'smtp.126.com'
from_mail = 'pp_1990@126.com'
mail_pass = 'xxxxxxxxxx'
to_mail = ['50xxxxxx6@qq.com']
from_name = 'Weather Monitor'
subject = 'Raining Today!'
mail = [
"From: %s <%s>" % (from_name, from_mail),
"To: %s" % ','.join(to_mail),
"Subject: %s" % subject,
"",
body
]
msg = '\n'.join(mail)
try:
s = smtplib.SMTP_SSL('smtp.126.com',465)
s.login(from_mail, mail_pass)
s.sendmail(from_mail, to_mail, msg)
s.quit()
except smtplib.SMTPException as e:
print("Error: "+e)
if __name__ == "__main__":
headers={'User-Agent': 'Mozilla/5.0 (X11; ubuntu; linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0'}
url='Http://www.tianqi.com/shanghai/'
urlhtml=requests.get(url,headers=headers)
urlhtml.raise_for_status()
weatherhtml=bs4.BeautifulSoup(urlhtml.text[:],'html.parser')
weather=weatherhtml.select('div li p')
for i in range(len(weather)):
weathnow=weather[i].getText()
if weathnow == '有雨':
sendMail("It's rainy today. Remember to bring your umbrella!")
print("DONE!")
将脚本写入计划任务,每天6点执行一次。
计划任务可以采用Task Scheduler(windows)、launchd(OS X)、cron(linux)等系统工具。
效果:
当然,也可以采用发送短信的方式进行通知。
扩展:
Python之钉钉机器人推送天气预报
--结束END--
本文标题: 利用python监控天气
本文链接: https://www.lsjlt.com/news/192553.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0