需求:

从天气网站抓取天气,在每天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 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 天气雷达_利用python监控天气相关推荐

  1. python高斯求和_利用Python进行数据分析(3)- 列表、元组、字典、集合

    本文主要是对Python的数据结构进行了一个总结,常见的数据结构包含:列表list.元组tuple.字典dict和集合set. image 索引 左边0开始,右边-1开始 通过index()函数查看索 ...

  2. python照片墙地图_利用python生成照片墙的示例代码

    PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了.其官方主页为:PIL. PIL历 ...

  3. python图色检测_利用python打开摄像头及颜色检测方法

    最近两周由于忙于个人项目,一直未发言了,实在是太荒凉了....,上周由于项目,见到Python的应用极为广泛,用起来也特别顺手,于是小编也开始着手学习Python,-下面我就汇报下今天的学习成果吧 小 ...

  4. python音频聚类_利用python的KMeans和PCA包实现聚类算法

    题目: 通过给出的驾驶员行为数据(trip.csv),对驾驶员不同时段的驾驶类型进行聚类,聚成普通驾驶类型,激进类型和超冷静型3类 . 利用Python的scikit-learn包中的Kmeans算法 ...

  5. python mysql 分页_利用python对mysql表做全局模糊搜索并分页实例

    在写django项目的时候,有的数据没有使用模型管理(数据表是动态添加的),所以要直接使用mysql.前端请求数据的时候可能会指定这几个参数:要请求的页号,页大小,以及检索条件. "&quo ...

  6. python过去日期_利用python获取当前日期前后N天或N月日期的方法示例

    前言 最近因为工作原因,发现一个Python的时间组件,很好用分享出来!(忘记作者名字了,在这里先感谢了),下面话不多说,来一起看看详细的介绍吧. 示例代码: # -*- coding: utf-8 ...

  7. python 词云_利用Python生成词云

    利用Python生成词云 一.第三方库的安装与介绍 1.1  Python第三方库jieba(中文分词) 1.介绍 "结巴"中文分词:做最好的 Python 中文分词组件. 2.特 ...

  8. python爬虫背景_利用Python代码实现一键抠背景功能

    前言 又是一个逛csdn发现的一个有趣的小项目,可以一键抠背景,需要用到removebg模块及其API,API可从其官网免费获取,网址如下https://www.remove.bg/zh ps:加上/ ...

  9. python代码物理_利用python求解物理学中的双弹簧质能系统详解

    前言 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质 ...

最新文章

  1. 《LeetCode力扣练习》剑指 Offer 24. 反转链表 Java
  2. 不同文件系统类型及其修复
  3. android layout的一些注意事项
  4. centos7安装golang
  5. mybatis 一对多_Mybatis 强大的结果集映射器resultMap
  6. Jedis 设置key的超时时间
  7. 【JVM】通过javap命令分析Java汇编指令
  8. php 字符串转 buffer,这个字符串转换类用处大吗?-PHP教程,PHP应用
  9. python图片转base64编码,与base64编码转图片
  10. 乱码385b1b926a38153d38957556c0dc55b5
  11. Mysql和vs2010 的连接
  12. Day23:算法之分支定界
  13. html模拟终端,DomTerm:一款为Linux打造的终端模拟器
  14. 考研词汇测试软件,考研词汇 - 在线打字测试(dazi.kukuw.com)
  15. 用数组实现一个队列改进版
  16. 如何画五子棋棋盘c语言easyx,大佬们,用c++怎么画五子棋棋盘呢?
  17. 使用Cesium创建3dtiles管线(视频)
  18. 主动扫描和被动扫描的区别
  19. c语言舍弃字符串的前一部分,C语言札记
  20. 一个程序猿眼中的国内主流地图api

热门文章

  1. python文字图片拼接_Python-PIL-拼接图片
  2. 7y30 matlab 怎么样,GPD Pocket 2代7寸电脑用的酷睿M3-7y30什么水平?能超过i5吗?
  3. python mysql数据库长连接_python 连接mysql数据库
  4. 分析Linux内核中进程的调度(时间片轮转)-《Linux内核分析》Week2作业
  5. Python爬虫存储数据
  6. .gz 与.tar.gz解压区别
  7. x210项目重新回顾之十四烧写镜像到SD卡
  8. JavaScript异步函数Promise①——Promise筑基
  9. 江苏省职称计算机word2003教材,2016江苏职称计算机考试模块word2003练习题
  10. 【接口篇 / Lan】(5.6) ❀ 03. 透明模式下的链路聚合连接 ❀ FortiGate 防火墙