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

作者:松鼠爱吃饼干 时间:2021-01-21 20:35:53 

前言

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

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

开发环境

  • python 3.8

  • pycharm 2021.2

  • requests

  • SMTP

代码分为两个部分

  • 获取热搜榜

  • 如何发送邮件

代码实现

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

发送请求

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)

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

实现自动发送邮件

自动化发送邮件SMTP介绍

  • SMTP中文名为简单邮件传输协议,是一种提供可靠且有效的电子邮件传输的协议,可以传输系统之间的邮件信息。

  • SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于系统之间的邮件信息传递,并提供有关来信的通知。

  • SMTP独立于特定的传输子系统,且只需要可靠有序的数据流信道支持,SMTP的重要特性之一是其能跨越网络传输邮件,即&ldquo;SMTP邮件中继&rdquo;。

  • 使用SMTP,可实现相同网络处理进程之间的邮件传输,也可通过中继器或网关实现某处理进程与其他网络之间的邮件传输。

开启SMTP服务

登录邮箱,点击设置,点击账户

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

将POP3/SMTP服务点击为已开启状态;按照步骤生成授权码,授权码一般为16位。

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

按照以上步骤,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')

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

来源:https://www.cnblogs.com/qshhl/p/16971861.html

标签:Python,爬取,世界杯,热搜榜,发送邮箱
0
投稿

猜你喜欢

  • AJAX实战实现级联选择

    2009-08-21 12:27:00
  • 关于H1的位置

    2008-04-30 12:20:00
  • pyinstaller打包opencv和numpy程序运行错误解决

    2023-02-23 02:42:54
  • 使用SQL Server 2008管理非结构化数据

    2009-01-08 15:28:00
  • ASP教程:制作登陆验证页面程序

    2008-10-23 15:00:00
  • 如何把URL和邮件地址自动转换为超级链接?

    2009-11-02 20:22:00
  • 解决方案,而不是功能

    2011-01-30 18:11:00
  • php mysql procedure实现获取多个结果集的方法【基于thinkPHP】

    2023-11-19 08:27:32
  • python中文编码与json中文输出问题详解

    2021-03-15 17:57:18
  • 讲解SQL Server 2005数据库的同义词Bug

    2008-11-28 14:22:00
  • PHP简易延时队列的实现流程详解

    2023-05-29 23:02:48
  • 简单的Python解密rsa案例

    2022-05-28 07:30:18
  • 解决pycharm中导入自己写的.py函数出错问题

    2023-07-09 12:12:05
  • 中国移动G3笔记本全Flash 网站

    2009-04-27 12:51:00
  • pytorch安装及环境配置的完整过程

    2023-06-19 23:53:20
  • php替换字符串中间字符为省略号的方法

    2023-09-30 20:16:04
  • 用python编写第一个IDA插件的实例

    2022-01-09 13:05:14
  • 实例:arguments.callee的应用

    2009-04-20 12:38:00
  • 简单介绍Python中用于求最小值的min()方法

    2021-05-27 23:00:11
  • 一个不错的js+css二级分类菜单代码

    2007-12-28 21:22:00
  • asp之家 网络编程 m.aspxhome.com