python自动发QQ邮箱小程序
简介
这是一个利用爬虫获取API接口数据,通过smtp协议发送邮件到QQ邮箱的小程序,系统设置定时发送。调用了几个接口,大概有以下这几个内容了,比如天气情况,十万个冷笑话,名言名句,冷知识等等,可以根据自己喜欢的内容来编写。
程序
爬取api数据之前要申请自己的api,一般都会有免费的 我用的是天行数据API。
contentSpider.py
import requests
import json
import time
# 每日一句
def dailyQuotes():url = 'http://api.tianapi.com/txapi/one/index?key=填入自己的申请key'res = requests.get(url)content = json.loads(res.text)['newslist'][0]['word']return '<每日一句>:\n' + content + '\n'# 今日天气
def weatherApi():city = '湘潭市'url = 'http://api.tianapi.com/txapi/tianqi/index?key=填入自己的申请key&city='+cityres = requests.get(url)content1 = json.loads(res.text)['newslist'][0]content2 = json.loads(res.text)['newslist'][1]weatherToday = {'area':city,'day':content1['week'],'temperature':content1['lowest']+'到'+content1['highest'],'天气':content1['weather'],'tips':content1['tips']}weatherTomorrow = {'area': city, 'day': content2['week'], 'temperature': content2['lowest'] + '到' + content2['highest'],'天气': content2['weather'], 'tips': content2['tips']}weatherInfo = '<天气预报>:\n' + '今天是'+weatherToday['day'] + ',气温范围:' + weatherToday['temperature'] + ',系统提醒您:' + weatherToday['tips'] \+ '\n明天是'+weatherTomorrow['day'] + ',气温范围:' + weatherTomorrow['temperature'] + ',系统提醒您:' + weatherTomorrow['tips']return weatherInfo# 经典对联
def classicCouplet():url = 'http://api.tianapi.com/txapi/duilian/index?key=填入自己的申请key'data = {'key':填入自己的申请key}res = requests.get(url=url,params=data)content = json.loads(res.text)['newslist'][0]['content']return content# 十万个为什么
def whyAndWhy():url = 'http://api.tianapi.com/txapi/tenwhy/index?key=填入自己的申请key'res = requests.get(url)title = json.loads(res.text)['newslist'][0]['title']answer = json.loads(res.text)['newslist'][0]['content']content = {'title':title,'answer':answer}return contentdef main():date= time.strftime("%Y-%m-%d")# print(date)# 这里加延时是为了让系统识别为三次不同的请求whyAndWhy1 = whyAndWhy()time.sleep(1)whyAndWhy2 = whyAndWhy()time.sleep(1)whyAndWhy3 = whyAndWhy()contents = '今天是公元 ' + date + ',系统给您的播报内容如下:\n\n' + dailyQuotes() +'\n'+ weatherApi()+'\n\n<经典对联>:\n' \'' + classicCouplet() + '\n\n<十万个为什么1>:\n' + whyAndWhy1['title'] + '\n' + whyAndWhy1['answer'] + \'\n<十万个为什么2>:\n' + whyAndWhy2['title'] + '\n' + whyAndWhy2['answer'] + \'\n<十万个为什么3>:\n' + whyAndWhy3['title'] + '\n' + whyAndWhy3['answer']print(contents)return contentsmain()
使用smtp协议给qq邮箱发邮件,内容是上面爬虫程序获取到的数据, 导入模块 from content import main
,调用mian()函数的返回值就是整理好的正文内容。
sendmail.py
# coding=utf-8
import smtplib
from email.mime.text import MIMEText
from content import mainmsg_from = 'xxxxxxxxxx@qq.com' # 发送方邮箱
passwd = 'xxxxxxxxxxx' # 填入发送方邮箱的授权码
msg_to = 'xxxxxxxxxx@qq.com' # 收件人邮箱subject = "系统今日份播报" # 主题
content = main() # 正文是main()函数的返回值
msg = MIMEText(content)
msg['Subject'] = subject
msg['From'] = msg_from
msg['To'] = msg_to
try:s = smtplib.SMTP_SSL("smtp.qq.com", 465) # 邮件服务器及端口号s.login(msg_from, passwd)s.sendmail(msg_from, msg_to, msg.as_string())print("发送成功")
except :print("发送失败")
finally:s.quit()
自动发邮件
如何让系统自动发邮件可以在电脑中进行设置,具体可以百度windows如何自动执行python文件
。
设置好了大概就是下面这样,可以设置触发器发送定时邮件,不过这种方法不理想,电脑不可能24小时开机(除非你用的云服务器),所以我改成了开机启动时发送,我想大家每天应该都会使用到电脑,这样就可以自动每天推送信息啦。
总结
这个程序使用到了python的爬虫库requests,解析库beatifulsoup,还有smtp协议,也学会了如何调用网络上各种付费免费的api。
python自动发QQ邮箱小程序相关推荐
- python自动登录qq邮箱_selenium+python实现自动登陆QQ邮箱并发送邮件功能
本期做一个selenium详细实例,会把我在元素定位中遇到的一些阻塞和经验分享给大家. (浏览器为Chrome) (如果只需要最终的完整代码,请直接跳转到文章最后) 浏览器打开QQ邮箱登录网址 fro ...
- python期末大作业 邮箱小程序
python天气预报语音播报邮箱小工具(期末大作业之我爱python) 实现功能: 生成一个自动化发邮箱的小程序,每天给女朋友or暗恋的小姑娘发天气预报 用来逗女朋友开心~~ 话不多说,直接先上代码! ...
- python自动登录qq邮箱_python实现自动登录qq邮箱,写邮件并发送
1 编程语言 python 3.5 2 需要安装xlrd库,用来打开Excel文件 3 在命令行中输入 python send.py [接收者邮件地址] 如:python send.py 1234 ...
- python基础编程:selenium+python实现自动登陆QQ邮箱并发送邮件功能
本期做一个selenium详细实例,会把我在元素定位中遇到的一些阻塞和经验分享给大家. (浏览器为Chrome) (如果只需要最终的完整代码,请直接跳转到文章最后) 浏览器打开QQ邮箱登录网址 QQ邮 ...
- python软件代码示例-用Python写一个模拟qq聊天小程序的代码实例
Python 超简单的聊天程序 客户端: import socket, sys host = '10.248.27.23' # host = raw_input("Plz imput des ...
- python发送邮件 python发送qq,163,sohu, xinlang, 126等邮件 python自动发邮件总结及实例说明...
python发邮件需要掌握两个模块的用法,smtplib和email,这俩模块是python自带的,只需import即可使用.smtplib模块主要负责发送邮件,email模块主要负责构造邮件. sm ...
- 能不能用python开发qq_用Python写一个模拟qq聊天小程序的代码实例
用Python写一个模拟qq聊天小程序的代码实例 发布时间:2020-09-09 07:49:29
- python加油代码_python入门教程NO.5 用python写个自动选择加油站的小程序
本文涉及的python基础语法为:if条件分支 Python条件分支是通过一条或者多条语句的执行结果True或者False来决定是否执行相应的代码块. if单向条件语法结构 if 判断条件: 代码块 ...
- Python入门教程NO.5 用python写个自动选择加油站的小程序
本文涉及的 python 基础语法为:if 条件分支 Python 条件分支是通过一条或者多条语句的执行结果 True或者 False来决定是否执行相应的代码块. if 单向条件语法结构 if 单向条 ...
最新文章
- googleapiclient.discovery
- python训练营免费领取-马哥教育官网-专业Linux培训班,Python培训机构
- 设置最小值_AI基础教程62:使用文字菜单编辑文字(四)标点挤压设置
- 【转】自旋锁及其衍生锁
- Thymeleaf——访问静态资源(static)解决方案
- yolov4论文_YOLOv4论文详细解读
- 武大计算机学院八零后博导张翔,走近名校新生状元 武大张翔:学贵有恒
- java编程能做什么_学习Java编程能做什么工作?
- transformer论文解读_【论文解读】ICLR2020 | 深度自适应Transformer
- 腾讯微博——点击按钮自动加关注代码
- java大致了解_学习Java第一天,大致了解
- 手机淘汰了多少机器,你怎么看?
- Python 汉字转拼音的库--- PyPinyin
- matlab 将路径靠左,latex 图片位置靠左
- java成员变量的调用_java中对象调用成员变量与成员的方法介绍
- 登康口腔冲刺上市:销售费用远高于研发,旗下品牌包括冷酸灵等
- win8虚拟机_VMware 15虚拟机VM软件安装教程
- viewBag和viewData区别
- play_framework框架--教程(一)
- 苹果xsmax怎么开机_苹果XSMAX手机进水不开机怎么办?看小伙如何完美修复!