我是靠谱客的博主 义气含羞草,最近开发中收集的这篇文章主要介绍python 天气雷达_利用python监控天气,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

需求:

从天气网站抓取天气,在每天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 " % (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 b')

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 天气雷达_利用python监控天气的全部内容,希望文章能够帮你解决python 天气雷达_利用python监控天气所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部