Python定时发送天气预报邮件代码实例


Posted in Python onSeptember 09, 2019

这篇文章主要介绍了Python定时发送天气预报邮件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

用python爬虫爬到的天气预报,使用smtplib和email模块可以发送到邮箱,使用schedule模块可以定时发送。以下是代码~

#导入模块
import requests
from bs4 import BeautifulSoup
import smtplib
from email.mime.text import MIMEText
from email.header import Header
import schedule
import time

#输入邮箱发件人、收件人以及邮箱的授权码
account = str(input('请输入发件人邮箱地址:'))
password = str(input('请输入邮箱授权码:'))
receiver = str(input('请输入收件人邮箱地址:'))

#建立天气网爬虫,爬取天气信息
def weather_spider():
  #模拟浏览器:
  headers={
    'user-agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'
    }
  url='http://www.weather.com.cn/weather/101211001.shtml'
  #数据获取:
  res=requests.get(url,headers=headers)
  res.encoding='utf-8'
  #数据解析:
  soup=BeautifulSoup(res.text,'html.parser')
  #数据提取:
  tem1= soup.find(class_='tem')
  weather1= soup.find(class_='wea')
  tem=tem1.text
  weather=weather1.text
  return tem,weather

#发送邮件的代码
def send_email(tem,weather):
  global account,password,receiver
  mailhost='smtp.qq.com'
  qqmail = smtplib.SMTP()
  qqmail.connect(mailhost,25)
  qqmail.login(account,password)
  content= '衢州的天气是:\n'+tem+weather
  message = MIMEText(content, 'plain', 'utf-8')
  subject = '今日天气预报from python'
  message['Subject'] = Header(subject, 'utf-8')
  try:
    qqmail.sendmail(account, receiver, message.as_string())
    print ('邮件发送成功')
  except:
    print ('邮件发送失败')
  qqmail.quit()

#建立任务
def job():
  print('开始一次任务')
  tem,weather = weather_spider()
  send_email(tem,weather)
  print('任务完成')

#定时发送
schedule.every().day.at("7:00").do(job) 
while True:
  schedule.run_pending()
  time.sleep(1)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python使用函数默认值实现函数静态变量的方法
Aug 18 Python
详解python中xlrd包的安装与处理Excel表格
Dec 16 Python
Python机器学习logistic回归代码解析
Jan 17 Python
python sklearn库实现简单逻辑回归的实例代码
Jul 01 Python
Tensorflow累加的实现案例
Feb 05 Python
django 扩展user用户字段inlines方式
Mar 30 Python
jupyter notebook 重装教程
Apr 16 Python
用python实现前向分词最大匹配算法的示例代码
Aug 06 Python
利用python实现汉诺塔游戏
Mar 01 Python
python爬虫之selenium库的安装及使用教程
May 23 Python
Python 中random 库的详细使用
Jun 03 Python
Python函数对象与闭包函数
Apr 13 Python
python英语单词测试小程序代码实例
Sep 09 #Python
Python实现TCP通信的示例代码
Sep 09 #Python
Python3使用PySynth制作音乐的方法
Sep 09 #Python
python智联招聘爬虫并导入到excel代码实例
Sep 09 #Python
python 的 openpyxl模块 读取 Excel文件的方法
Sep 09 #Python
pymysql模块的使用(增删改查)详解
Sep 09 #Python
Django之模板层的实现代码
Sep 09 #Python
You might like
傻瓜化配置PHP环境――Appserv
2006/12/13 PHP
php多维数组去掉重复值示例分享
2014/03/02 PHP
PHP浮点比较大小的方法
2016/02/14 PHP
PHP中16个高危函数整理
2019/09/19 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
2019/10/08 PHP
php提高脚本性能的4个技巧
2020/08/18 PHP
JavaScript 乱码问题
2009/08/06 Javascript
javascript 星级评分效果(手写)
2012/12/24 Javascript
jquery删除数据记录时的弹出提示效果
2014/05/06 Javascript
jQuery图片渐变特效的简单实现
2016/06/25 Javascript
浅谈jQuery中ajaxPrefilter的应用
2016/08/01 Javascript
AngularJS ng-style中使用filter
2016/09/21 Javascript
AngularJS ng-repeat指令中使用track by子语句解决重复数据遍历错误问题
2017/01/21 Javascript
jQuery实现弹幕效果
2017/02/17 Javascript
关于Vue在ie10下空白页的debug小结
2018/05/02 Javascript
vue.js实现格式化时间并每秒更新显示功能示例
2018/07/07 Javascript
vue实现组件之间传值功能示例
2018/07/13 Javascript
js form表单input框限制20个字符,10个汉字代码实例
2019/04/12 Javascript
ionic+html5+API实现双击返回键退出应用
2019/09/17 Javascript
python中cPickle用法例子分享
2014/01/03 Python
Python实现去除代码前行号的方法
2015/03/10 Python
python监控文件或目录变化
2016/06/07 Python
python爬虫租房信息在地图上显示的方法
2019/05/13 Python
tensorflow 获取所有variable或tensor的name示例
2020/01/04 Python
python3实现网页版raspberry pi(树莓派)小车控制
2020/02/12 Python
Python中用pyinstaller打包时的图标问题及解决方法
2020/02/17 Python
PyCharm 在Windows的有用快捷键详解
2020/04/07 Python
Pytorch如何切换 cpu和gpu的使用详解
2021/03/01 Python
幼儿园家长评语
2014/02/10 职场文书
中药学自荐信
2014/06/15 职场文书
应届生自荐信
2014/06/30 职场文书
2015年毕业生自我鉴定模板
2014/09/19 职场文书
2014年酒店年度工作总结
2014/12/10 职场文书
2015驻村干部工作总结
2015/04/07 职场文书
2015年党风建设工作总结
2015/04/29 职场文书
python实现简易自习室座位预约系统
2021/06/30 Python