整个代码  github 链接

linjie111/sendEmailWithWeather (github.com)https://github.com/linjie111/sendEmailWithWeather#readme

目录

整个代码  github 链接

main.py

weather.py

calDate.py

main.py

效果图


main.py

import smtplib
from email.mime.text import MIMEText
from email.header import Headerdef send(text):# 这里使用的是163.commail_host = "smtp.163.com"  # 设置服务器mail_user = "*******@163.com"  # 用户名mail_pass = "******"  # 口令 邮箱密码sender = '*****@163.com'  #发送邮箱  和上方用户名一致receivers = ['***@163.com']  # 接收者的邮箱message = MIMEText(text, 'plain', 'utf-8')message['From'] = Header('wanglin')message['To'] = Header("toyou")subject = 'python send email'message['Subject'] = Header(subject, 'utf-8')try:smtpObj = smtplib.SMTP()print(1)smtpObj.connect(mail_host, 25)  # 25 为 SMTP 端口号print(2)smtpObj.login(mail_user, mail_pass)print(3)smtpObj.sendmail(sender, receivers, message.as_string())print("邮件发送成功")except smtplib.SMTPException:print("Error: 无法发送邮件")

weather.py

注意 : 这是我个人的账户,每天只能调用30000次

import requests, json#  notice  api地址
import CalDateurl = 'http://t.weather.sojson.com/api/weather/city/'# weather apiresponse = requests.get(url + '101250101') # 城市编号,可以根据github 中的city.json中自行选择
r = requests.get('https://restapi.amap.com/v3/weather/weatherInfo?city=430121&key=b99f40bd4e3f03a9f66f1e04acbfa91a&extensions=all')
r.encoding='utf-8'
cc = r.json()
city = cc['forecasts'][0]['province']+cc['forecasts'][0]['city']
nowTime = cc['forecasts'][0]['reporttime']
weather = "白天 :"+cc['forecasts'][0]['casts'][0]['dayweather'] +"   晚上 :"+cc['forecasts'][0]['casts'][0]['nightweather']
tem = cc['forecasts'][0]['casts'][0]['nighttemp']+"°c ~ "+cc['forecasts'][0]['casts'][0]['daytemp']+"°c"#将数据以json形式返回,这个d就是返回的json数据
d = response.json()#当返回状态码为200,输出天气状况
if(d['status'] == 200):notice = d["data"]["forecast"][0]["notice"]time = "我和迪哥的第  "+ str(CalDate.Cal_Date()) + " day "

calDate.py

import datetimedef Cal_Date():First_Day_We_Loved = datetime.datetime(2022, 4, 26)Today = datetime.datetime.now()The_Day_We_Loved = Today - First_Day_We_Lovedreturn The_Day_We_Loved.days

main.py

from timeit import Timer
from email163 import send
import Weather
import laughcity = Weather.city
nowTime = Weather.nowTime
weather = Weather.weather
tem = Weather.tem
notice = Weather.notice
time = Weather.timeprint(city)
print(nowTime)
print(weather)
print(tem)
print(notice)
print(time)
text = city + '\n' + '\n' + nowTime + '\n' + '\n' + weather + '\n' + '\n' + tem + '\n' + '\n' + notice + '\n' + '\n' + timesend(text)

效果图

获取当地天气发送邮件给girlfriend并显示恋爱天数相关推荐

  1. 安卓盒子launcher界面开发之添加自动定位,获取当地天气

    最近老板要求在launcher界面做个自动定位,并获取当地天气的功能,中间走了不少弯路,我在这里都写下来,希望看到这篇文章的人,能少走点弯路.(先上图,嘿嘿) 1.接到任务后,我首先想的是,先把天气获 ...

  2. 通过百度地图获取当地天气信息

    首先,通过之前用过的百度地图,实现定位功能:首先去百度开放云申请密钥,这里就不说明申请过程了,不懂得可以百度一下. 申请完密钥后,需要去声明Activity的地方添加上下面的语句: [html] vi ...

  3. 获取当地天气_Mac 天气预报动态壁纸工具Living Weather HD 4.4.4

    这款独特的非凡应用程序将天气呈现在您的桌面上,它能够预报天气状况,并在桌面上使用相应的美丽动态壁纸场景. 天气HD也可以用作屏保.  主要功能:  ● 在桌面上了解世界各地当前的天气状况和未来状况  ...

  4. 获取当地天气_6 点起来看天气预报?正经人谁看天气预报,原来是为了看她

    往期文章回顾: 日本最美混血记者,用翘臀征服 NBA,万千人沦陷:我好了​mp.weixin.qq.com九头身模特,牛仔裤女王,却也是恶女?菜菜绪了解一下​mp.weixin.qq.com 「小睡」 ...

  5. [Android] AlertDialog获取网上天气并显示各城市天气

    最近帮同学做android百度地图,其中涉及到定位城市天气功能.才知道自己技术非常的一般,还有很多东西需要学习,同时需要回归到我研究生的方向--数据挖掘.同时又见识到了一位叫柳峰的大神,推荐大家去看看 ...

  6. AlertDialog获取网上天气并显示各城市天气

    最近帮同学做android百度地图,其中涉及到定位城市天气功能.才知道自己技术非常的一般,还有很多东西需要学习,同时需要回归到我研究生的方向--数据挖掘.同时又见识到了一位叫柳峰的大神,推荐大家去看看 ...

  7. python 通过ip获取城市_python中通过客户端IP拿到所在城市和当地天气信息—附带项目案例...

    首先,需求分析: 1.拿到客户端IP 2.通过IP拿到客户端所在地区 3.通过地区拿到当地天气 4.整合功能,展示给用户 第一步,如何拿到用户IP 我们以Django环境为例 # 客户端的请求,IP信 ...

  8. 【IoT最佳实践】设备获取实时天气信息

    [摘要] 物联网智能设备可以通过物联网平台统一获取实时天气信息,本文提供一个实现该功能的DEMO和其使用方法. 场景说明 随着技术的发展,物联网设备也越来越智能化,例如可以显示当地的实时天气. 在物联 ...

  9. python爬虫爬取天气数据并图形化显示

    前言 使用python进行网页数据的爬取现在已经很常见了,而对天气数据的爬取更是入门级的新手操作,很多人学习爬虫都从天气开始,本文便是介绍了从中国天气网爬取天气数据,能够实现输入想要查询的城市,返回该 ...

最新文章

  1. 【原】unity3d刀光闪过
  2. [导入]在IE耗时操作中加入进度条或进度框
  3. JVM并行收集器ParNew、Parallel相关参数
  4. JS 前20个常用操作字符串的函数
  5. 与詹金斯一起将GitLab中的Gradle项目发布到Artifactory
  6. 内存条上面参数详解_为什么买内存条要看时序?别以为内存频率高性能就好
  7. 关注丨数据库在线学习实训平台即将发布,长江鲲鹏-墨天轮联合实验室取得重大突破...
  8. group by 多个字段
  9. POSIX 信号量学习与思考
  10. Oracle数据库学习笔记(四)--Oracle体系结构
  11. kubernetes集群管理工具k9s
  12. CVE-2015-5254(ActiveMQ 反序列化漏洞)复现
  13. 网站优化基本技巧(网站优化的主要工作是什么)
  14. linux中opt是啥文件夹,linux根目录的各文件夹里装了什么
  15. [Excel知识技能] 将数值格式数字转换为文本格式
  16. oracle中的递归查询
  17. sharding-jdbc之SQL改写
  18. String“+”与StringBuffer/StringBuilder 对象的append方法
  19. 线性代数(七)二次型——正交变换法化二次型为标准形
  20. SpringCloud+Kubernetes 微服务容器化交付实战(9):JFrog Artifactory安装 配置

热门文章

  1. 非常实用的桌面排版软件,Affinity Publisher集成了首字下沉、基线网格、艺术文本以及文字装饰等优秀的排版功能
  2. macOS逆向(MindNode)
  3. 责任伦理视角下现阶段我国助学贷款贷后管理措施
  4. [BZOJ2687]交与并
  5. python常见错误-缩进错误(IndentationError)
  6. 瓦刀发布,必属精品:Domino评审、表决系统V2.0
  7. 《C语言及程序设计》实践参考——投票表决器
  8. [互动抽奖]感谢大家的支持!!!
  9. 《iBoard 电子学堂》SPI Flash烧写方法
  10. 21岁大学生力压奥巴马当选全球最具影响力人物