Python爬取微博热搜并定时发送邮件,及时了解最新动态!
一、前言
微博热搜榜每天都会更新一些新鲜事,但是自己处于各种原因,肯定不能时刻关注着微博,为了与时代接轨,接受最新资讯,就寻思着用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爬取微博热搜并定时发送邮件,及时了解最新动态!相关推荐
- python爬取微博热搜数据并保存!
主要用到requests和bf4两个库将获得的信息保存在d://hotsearch.txt下importrequests;importbs4mylist=[]r=requests.get(ur- 很多 ...
- python爬取微博热搜榜
python爬取微博热搜榜 最近应我大学室友得需求,做了一个简单的爬虫案例,先给大家看一下程序运行效果 接下来就是贴出代码了,在这里我会做一些简单说明,对如刚入门的同学可能会有所帮助,这里使用的是py ...
- python爬取微博热搜写入数据库_python实现爬取微博热搜存入Mysql
python爬取微博热搜存入Mysql最终的效果 使用的库 目标分析 一:得到数据 二:链接数据库 总代码 最终的效果 废话不多少,直接上图 这里可以清楚的看到,数据库里包含了日期,内容,和网站lin ...
- Python爬取微博热搜数据之炫酷可视化
可视化展示 看完记得点个赞哟 微博炫酷可视化音乐组合版来了! 项目介绍 背景 现阶段,微博.抖音.快手.哗哩哗哩.微信公众号已经成为不少年轻人必备的"生活神器".在21世纪的今天, ...
- python爬取微博热搜并存入表格_python爬虫进阶之爬取微博热搜存入Mysql
在编程中,我们如果想要把数据转入数据库中,首先会选择 MySQL数据库.因为MySQL数据库体积小.速度快.总体拥有成本低.开放源代码,其有着广泛的应用,例如我们使用python爬虫微博热搜,就可以使 ...
- python爬取微博热搜榜教程,python爬取微博热搜并存入表格
微博热搜的爬取较为简单,我只是用了lxml和requests两个库 url= https://s.weibo.com/top/summary?Refer=top_hot&topnav=1&am ...
- Python爬取微博热搜榜,将数据存入数据库
一直想学习用Python来进行数据的爬取,也一直想知道Python连接数据库的操作,今天刚好看到的这篇文章满足了这两个条件,我试着爬了下微博,并成功将数据添加到数据库中,颇为欢喜.作者写的很简单,有些 ...
- 利用python爬取微博热搜并进行数据分析
爬取微博热搜 import schedule import pandas as pd from datetime import datetime import requests from bs4 im ...
- python爬取微博热搜显示到折线图_微博热搜榜前20信息数据爬取进行数据分析与可视化...
一.设计方案 1.主题式网络爬虫名称:微博热搜榜前20信息数据爬取进行数据分析与可视化 2.爬取内容与数据特征分析:爬取微博热搜榜前20热搜事件.排名与热度,数据呈一定规律排序. 3.设计方案概述:思 ...
最新文章
- webgl三维观察综合实验_【CV现状-2】三维感知
- R语言为dataframe添加新的数据列(横向拼接、Appending columns,Unioning columns):使用R原生方法、data.table、dplyr等方案
- 暗杀TIME-WAIT
- TO B 产品经理:如何推动产品商业化?
- 修改mysql数据库名方法_安全快速修改Mysql数据库名的5种方法
- c# 常用数据库封装
- 机器人出魔切还是三相_工业机器人常见故障和修理方法
- win10关机后自动重启_Win10关机风扇还在转|解决win10关机后风扇继续转方法
- class action extends mysql{_java Action 请求封装(二)
- Open vSwitch流表应用实战
- 判断当前窗体是否是顶级窗体
- layer.prompt输入框改成laydate时间控件
- Python+OpenCv实现摄像头人脸识别
- Microsoft VS Code安装教程
- Python学习笔记(15)-Python代码转换为exe可执行程序详解
- python球的表面积和体积代码_C语言求球的表面积和体积
- Apple Pay 究竟是什么
- Redis基础:哨兵模式下主节点宕机的自动对应
- 二叉树的基本概念以及性质
- 五星好评点亮效果(精灵图)
热门文章
- 记一次,编译MuseScore的经历
- 物联网卡防骗知识,先预防!
- 王者荣耀“开始游戏”特效按钮实现
- 成都富华力鼎:抖音涨粉技巧
- 自然语言处理 | (6) 基于英文文本的简易情感分析
- python安装模块的方法(两种方法,复制即可用)
- Activti整合SSM的异常(DbSqlSession或者Error creating bean with name 'processEngine)
- NOIP2012摆花
- 【互联网企业名称由来系列】四:网易
- mysql日期函数TO_DAYS()函数