百木园-与人分享,
就是让自己快乐。

Python爬取世界杯热搜榜,并制作脚本自动发送信息到邮箱

前言

现在正是卡塔尔世界杯激战正酣的时候,每天都有各种各样的新闻。而且,不同的球队,随着比赛的进程,关注的热度也会发生翻天覆地的变化。
今天我们就来获取卡塔尔世界的球队热搜榜,并制作自动发送邮件脚本,把这些数据发送到你的邮箱里。

开发环境

  • python 3.8
  • pycharm 2021.2
  • requests
  • SMTP

代码分为两个部分

  • 获取热搜榜
  • 如何发送邮件

对于本篇文章有疑问的同学可以加【资料白嫖、解答交流群:753182387】

代码实现

获取卡塔尔世界的球队热搜榜

发送请求
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介绍
  • SMTP中文名为简单邮件传输协议,是一种提供可靠且有效的电子邮件传输的协议,可以传输系统之间的邮件信息。
  • SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于系统之间的邮件信息传递,并提供有关来信的通知。
  • SMTP独立于特定的传输子系统,且只需要可靠有序的数据流信道支持,SMTP的重要特性之一是其能跨越网络传输邮件,即“SMTP邮件中继”。
  • 使用SMTP,可实现相同网络处理进程之间的邮件传输,也可通过中继器或网关实现某处理进程与其他网络之间的邮件传输。
开启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\')

 

👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇


来源:https://www.cnblogs.com/qshhl/p/16971861.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » Python爬取世界杯热搜榜,并制作脚本自动发送信息到邮箱

相关推荐

  • 暂无文章