一、前言

微博热搜榜每天都会更新一些新鲜事,但是自己处于各种原因,肯定不能时刻关注着微博,为了与时代接轨,接受最新资讯,就寻思着用Python写个定时爬取微博热搜的并且发送QQ邮件的程序,这样每天可以在不打开微博的情况下,时刻掌握着微博的最新动态资讯。

废话不多说,下面直接上代码以及详细思路。

二、代码及思路

(1)首先肯定是对微博热搜进行爬取,这并不难,是个非常简单的爬虫。

def getHTML(url):headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36",} # 浏览器请求头r = requests.get(url, headers = headers) # 向该网页发起请求# 如果返回的响应码是200 则表示请求成功,否则返回“获取失败”if r.status_code == 200:r.encoding = r.apparent_encoding return r.textelse:return "获取失败"

(2)接下来对返回的源码进行解析,这边我用的是xpath。

def parseHTML(html):html = etree.HTML(html)content = html.xpath('//div[@class="data"]//table//tr[position()>1]/td[@class="td-02"]//a/text()')return content

(3)下一步,也是整篇文章的灵魂,就是讲热搜定时发送到自己的邮箱,这样就能及时获取最新资讯。

def sendMail(contents):mailBox = '发送邮箱'  password = '邮箱授权码'  to_mail = '接收邮箱'  # 接收邮箱mailhost = 'smtp.qq.com'  # qq邮箱的smtp地址qqmail = smtplib.SMTP()  # 创建SMTP对象qqmail.connect(mailhost, 25)  qqmail.login(from_addr, password)  dt = time.strftime("%Y-%m-%d %X")data  = ''for content in contents:  data += '当前时间' + dt + '\n' + '热搜:' + content + '\n'data += '=============================\n' #分割线msg = MIMEText(data, 'plain', 'utf-8')msg['subject'] = Header("即时微博热搜", 'utf-8')try:qqmail.sendmail(mailBox, to_mail, msg.as_string())print('发送成功!')except:print('发送失败!')qqmail.quit()

(4)最后一步,就是要实现定时发送这个功能了,这边我使用的是schedule模块。

def main():html = getHTML("https://s.weibo.com/top/summary")contents = parseHTML(html)sendMail(contents)schedule.every().day.at("12:30").do(main) # 每天早上12:30执行main函数
while True:schedule.run_pending()time.sleep(1)

效果图:

这样看起来是不是很简单明了,并且不需要时刻打开微博,自己指定任意时间就能收到一手资讯,与“out了”说拜拜!


三、结语

当然,这只是微博热搜,如果需要其他资讯,也可以获取其他平台的数据,定时发送到邮箱中,或者网站发生变动,也可以第一时间提醒你,非常的方便!

- END -

各种爬虫源码获取方式

识别文末二维码,回复:爬虫源码

欢迎关注公众号:Python爬虫数据分析挖掘,方便及时阅读最新文章

记录学习python的点点滴滴;

回复【开源源码】免费获取更多开源项目源码;

Python爬取微博热搜并定时发送邮件,及时了解最新动态!相关推荐

  1. python爬取微博热搜数据并保存!

    主要用到requests和bf4两个库将获得的信息保存在d://hotsearch.txt下importrequests;importbs4mylist=[]r=requests.get(ur- 很多 ...

  2. python爬取微博热搜榜

    python爬取微博热搜榜 最近应我大学室友得需求,做了一个简单的爬虫案例,先给大家看一下程序运行效果 接下来就是贴出代码了,在这里我会做一些简单说明,对如刚入门的同学可能会有所帮助,这里使用的是py ...

  3. python爬取微博热搜写入数据库_python实现爬取微博热搜存入Mysql

    python爬取微博热搜存入Mysql最终的效果 使用的库 目标分析 一:得到数据 二:链接数据库 总代码 最终的效果 废话不多少,直接上图 这里可以清楚的看到,数据库里包含了日期,内容,和网站lin ...

  4. Python爬取微博热搜数据之炫酷可视化

    可视化展示 看完记得点个赞哟 微博炫酷可视化音乐组合版来了! 项目介绍 背景 现阶段,微博.抖音.快手.哗哩哗哩.微信公众号已经成为不少年轻人必备的"生活神器".在21世纪的今天, ...

  5. python爬取微博热搜并存入表格_python爬虫进阶之爬取微博热搜存入Mysql

    在编程中,我们如果想要把数据转入数据库中,首先会选择 MySQL数据库.因为MySQL数据库体积小.速度快.总体拥有成本低.开放源代码,其有着广泛的应用,例如我们使用python爬虫微博热搜,就可以使 ...

  6. python爬取微博热搜榜教程,python爬取微博热搜并存入表格

    微博热搜的爬取较为简单,我只是用了lxml和requests两个库 url= https://s.weibo.com/top/summary?Refer=top_hot&topnav=1&am ...

  7. Python爬取微博热搜榜,将数据存入数据库

    一直想学习用Python来进行数据的爬取,也一直想知道Python连接数据库的操作,今天刚好看到的这篇文章满足了这两个条件,我试着爬了下微博,并成功将数据添加到数据库中,颇为欢喜.作者写的很简单,有些 ...

  8. 利用python爬取微博热搜并进行数据分析

    爬取微博热搜 import schedule import pandas as pd from datetime import datetime import requests from bs4 im ...

  9. python爬取微博热搜显示到折线图_微博热搜榜前20信息数据爬取进行数据分析与可视化...

    一.设计方案 1.主题式网络爬虫名称:微博热搜榜前20信息数据爬取进行数据分析与可视化 2.爬取内容与数据特征分析:爬取微博热搜榜前20热搜事件.排名与热度,数据呈一定规律排序. 3.设计方案概述:思 ...

最新文章

  1. webgl三维观察综合实验_【CV现状-2】三维感知
  2. R语言为dataframe添加新的数据列(横向拼接、Appending columns,Unioning columns):使用R原生方法、data.table、dplyr等方案
  3. 暗杀TIME-WAIT
  4. TO B 产品经理:如何推动产品商业化?
  5. 修改mysql数据库名方法_安全快速修改Mysql数据库名的5种方法
  6. c# 常用数据库封装
  7. 机器人出魔切还是三相_工业机器人常见故障和修理方法
  8. win10关机后自动重启_Win10关机风扇还在转|解决win10关机后风扇继续转方法
  9. class action extends mysql{_java Action 请求封装(二)
  10. Open vSwitch流表应用实战
  11. 判断当前窗体是否是顶级窗体
  12. layer.prompt输入框改成laydate时间控件
  13. Python+OpenCv实现摄像头人脸识别
  14. Microsoft VS Code安装教程
  15. Python学习笔记(15)-Python代码转换为exe可执行程序详解
  16. python球的表面积和体积代码_C语言求球的表面积和体积
  17. Apple Pay 究竟是什么
  18. Redis基础:哨兵模式下主节点宕机的自动对应
  19. 二叉树的基本概念以及性质
  20. 五星好评点亮效果(精灵图)

热门文章

  1. 记一次,编译MuseScore的经历
  2. 物联网卡防骗知识,先预防!
  3. 王者荣耀“开始游戏”特效按钮实现
  4. 成都富华力鼎:抖音涨粉技巧
  5. 自然语言处理 | (6) 基于英文文本的简易情感分析
  6. python安装模块的方法(两种方法,复制即可用)
  7. Activti整合SSM的异常(DbSqlSession或者Error creating bean with name 'processEngine)
  8. NOIP2012摆花
  9. 【互联网企业名称由来系列】四:网易
  10. mysql日期函数TO_DAYS()函数