现在正是卡塔尔世界杯激战正酣的时候,每天都有各种各样的新闻。而且,不同的球队,随着比赛的进程,关注的热度也会发生翻天覆地的变化。
今天我们就来获取卡塔尔世界的球队热搜榜,并制作自动发送邮件脚本,把这些数据发送到你的邮箱里。
开发环境
获取卡塔尔世界的球队热搜榜
发送请求
url = 'https://motion.baidu.com/api/kv?aid=fifa_bigdata&data={%22olympic_trend%22:{%22dataId%22:239,%22param%22:{%22pageSize%22:30,%22page%22:1}}}' response = requests.get(url) # <Response [200]>: 请求成功 json_data = response.json()
获取数据
list = json_data['data']['olympic_trend']['data']['listData']['list'] for i in range(0, 30): index = list[i]['index'] name = list[i]['name'] num = list[i]['num'] logo = list[i]['logo'] query = list[i]['query'] print(index, name, num, logo, query)
自动化发送邮件SMTP介绍
登录邮箱,点击设置,点击账户
将POP3/SMTP服务点击为已开启状态;按照步骤生成授权码,授权码一般为16位。
按照以上步骤,SMTP服务很简单就开启好了。
发送邮件代码
def sendEmail(title, content, received_mail) # 邮箱属性配置 # 邮箱服务端 mailserver = 'smtp.qq.com' # 发件人-此邮箱是我随便写的 userName_SendMail = 'XXXXXXXX@qq.com' # 邮箱发件授权码-为发件人邮箱根据第四步生成的授权码 userName_AuthCode = 'abcdefghijklmnop' # 定义邮件的接收者-我随便写的,若收件人较多,可用列表表示 received_mail =[received_mail] # 邮件中发送附件 # 附件配置邮箱 email = MIMEText(content, 'plain', 'utf-8') email['Subject'] = title # 定义邮件主题 email['From'] = userName_SendMail # 发件人 email['To'] = ','.join(received_mail) # 收件人(可以添加多个,若只有一个收件人,可直接写邮箱号) # 发送邮件 smtp = smtplib.SMTP_SSL(mailserver,port=465) # QQ邮箱的端口号是465,其他邮箱的端口号可自行百度,非QQ邮箱,一般使用SMTP即可,不需要有SSL smtp.login(userName_SendMail, userName_AuthCode) smtp.sendmail(userName_SendMail, ','.join(received_mail), email.as_string()) smtp.quit() print('666')