Python实现微博热搜推送
一. 写在前面的话
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/laugh.gif)
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/laugh.gif)
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/laugh.gif)
二. 抓取微博热搜首页
![](/assets/blank.gif)
![](/assets/blank.gif)
三. 邮箱配置以及发送邮件
![](/assets/blank.gif)
![](/assets/blank.gif)
四. 定时获取热搜并发送
![](/assets/blank.gif)
五. 最后效果以及代码
![](/assets/blank.gif)
import requests
from lxml import etree
import json
from email.message import Message
import smtplib
from threading import Timerclass Weibo:# 初始化 (发件人邮箱,发件人邮箱密码,收件人邮箱)def __init__(self, sender, password, receiver):self.sender = senderself.password = passwordself.receiver = receiver # 处理爬取的信息def handle(self):url = 'http://s.weibo.com/top/summary?cate=homepage'headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.5; rv:10.0.1) Gecko/20100101 Firefox/10.0.1 SeaMonkey/2.7.1'}response = requests.get(url, headers=headers)result = response.texthtml = etree.HTML(result)# html内容content = html.xpath('//script/text()')[-2]# 得到网页的字典数据,利用json解析start = content.find('(')substr = content[start+1:-1]dict_data = json.loads(substr)# 解析出来的html数据html_data = etree.HTML(dict_data['html'])# 热搜榜排名order = html_data.xpath('//tr/td[1]/span/em/text()')# 热搜榜标题title = html_data.xpath('//tr/td[2]/div/p/a/text()')# 热搜榜链接url = html_data.xpath('//tr/td[2]/div/p/a/@href')# 热搜榜访问量view = html_data.xpath('//tr/td[3]/p/span/text()')return title, url# 发送邮件,这里直接用html方式发送def sendEmail(self):t, u = self.handle()html_content = '''<html><body><a href=" ''' + 'http://s.weibo.com' + u[0] + ' ">' + t[0] + '''</a></p><br><a href=" ''' + 'http://s.weibo.com' + u[1] + ' ">' + t[1] + '''</a></p><br><a href=" ''' + 'http://s.weibo.com' + u[2] + ' ">' + t[2] + '''</a></p><br><a href=" ''' + 'http://s.weibo.com' + u[3] + ' ">' + t[3] + '''</a></p><br><a href=" ''' + 'http://s.weibo.com' + u[4] + ' ">' + t[4] + '''</a></p><br><a href=" ''' + 'http://s.weibo.com' + u[5] + ' ">' + t[5] + '''</a></p><br><a href=" ''' + 'http://s.weibo.com' + u[6] + ' ">' + t[6] + '''</a></p><br><a href=" ''' + 'http://s.weibo.com' + u[7] + ' ">' + t[7] + '''</a></p><br><a href=" ''' + 'http://s.weibo.com' + u[8] + ' ">' + t[8] + '''</a></p><br><a href=" ''' + 'http://s.weibo.com' + u[9] + ' ">' + t[9] + '''</a></p><br></body></html>'''msg = Message()# 邮件标题msg['Subject'] = '微博实时热搜'# 邮件发送者msg['From'] = self.sender# 邮件接受者msg['To'] = self.receiver# 邮件内容格式msg.set_type('text/html')# 邮件内容msg.set_payload(html_content, 'utf-8')try:smtp = smtplib.SMTP_SSL('smtp.qq.com', 465)smtp.login(self.sender, self.password)smtp.sendmail(self.sender, self.receiver, msg.as_string())smtp.quit()print('发送成功!')except smtplib.SMTPException:print('发送失败')# 每隔半小时发送邮件(定时任务)def run_task(self):self.sendEmail()task = Timer(1800, self.run_task)task.start() if __name__ == '__main__':w = Weibo('你的QQ邮箱', '授权码', '接受者邮箱')task = Timer(1, w.run_task)task.start()
六. 结束语
学习Python已经有大半年了,总是想用来做点什么,随着越来越深入,不得不说我爱Python,真的很强大。大家可以用这个给自己喜欢的男神或者女神推送一些感兴趣的东西,或者去了解他们的一些东西推送到自己邮箱里,哈哈。
Python实现微博热搜推送相关推荐
- php获取微博热搜,Python获取微博热搜的方法
原标题:Python获取微博热搜的方法 微博热搜的爬取需要用到lxml和requests两个库 url=https://s.weibo.com/top/summary?Refer=top_hot&am ...
- python爬虫微博热搜_Python网络爬虫之爬取微博热搜
微博热搜的爬取较为简单,我只是用了lxml和requests两个库 url= https://s.weibo.com/top/summary?Refer=top_hot&topnav=1&am ...
- 基于python的微博热搜爬取及数据分析
刚学python爬虫,用爬虫爬取新浪微博热搜,看看效果如何,也是对这段时间学习python的总结. 一.目的: 抓取新浪微博2020年1月3日星期五的热搜榜,将抓取到的数据进行动态展示,并生成当天的微 ...
- python微博涨粉_如何用 Python 让微博热搜榜动起来
今天教大家如何用 Pyecharts 制作微博热搜榜动态展示视频 先上视频看看效果: 教程主要有2部分: 一是 Python 爬取微博热搜内容 二是用 pyecharts 制作动态视频 下面给大家详细 ...
- python热搜排行功能_摸鱼神器——使用Python自制微博热搜榜
呀呀呀呀呀~今天的小分享貌似只通过新浪微博涉猎热点...于是我就在想,如果大家上班摸鱼[先声明,我从不摸鱼!],又不方便打开新浪那么大的logo界面八卦,就可以通过命令行一键实时观察我们的热搜榜.嘻嘻 ...
- python爬取微博热搜并存入表格_python爬虫进阶之爬取微博热搜存入Mysql
在编程中,我们如果想要把数据转入数据库中,首先会选择 MySQL数据库.因为MySQL数据库体积小.速度快.总体拥有成本低.开放源代码,其有着广泛的应用,例如我们使用python爬虫微博热搜,就可以使 ...
- python 爬虫热搜_Python网络爬虫之爬取微博热搜
微博热搜的爬取较为简单,我只是用了lxml和requests两个库 1.分析网页的源代码:右键--查看网页源代码. 从网页代码中可以获取到信息 (1)热搜的名字都在 的子节点里 (2)热搜的排名都在 ...
- python 爬关键词,Python爬虫实战:爬取微博热搜关键词
一.爬取微博热搜关键词需要的第三方库 1.requests 2.BeautifulSoup 美味汤 3.worldcloud 词云 4.jieba 中文分词 5.matplotlib 绘图 二.爬取微 ...
- Python爬虫爬取微博热搜保存为 Markdown 文件
微博热搜榜python爬虫,仅供学习交流 源码及注释: # -*- coding=UTF-8 -*- #!usr/bin/env pythonimport os import time import ...
最新文章
- 一文看懂Tomcat、Nginx和Apache的区别
- fedora,linux mint 命令行(终端)打开目录
- 漂亮的HTML表格 - ebirdfighter的日志 - 网易博客
- Java程序员从笨鸟到菜鸟之(九十一)跟我学jquery(七)jquery动画大体验
- 怎么把php的文件链接成html,怎么把动态的php文件转换成静态的html文件,html文件是php文件…...
- mysql gbk支持_mysql如何支持gbk编码
- wxWidgets:wxTextWrapper类用法
- boost::mpl模块实现find_if相关的测试程序
- C++若不想使用编译器自动生成的函数,就该明确拒绝
- 【Linux】一步一步学Linux——nslookup命令(161)
- linux 下oracle基于raw扩充表空间步骤
- Asp.Net MVC 3【Filters(过滤器)】
- 5. Document open() 方法
- python pywin32模块详解_python模块win32com用法详解
- UC浏览器去广告、联网、升级(支持新版8.1)
- 教你快速设计正交试验及试验数据分析
- 论文查重怎么看查重率
- 为Linux安装CHM阅读器
- 酷炫的交互动画和视觉效果
- 乐博Android客户端(新浪微博)1.01发布,欢迎各位童鞋试用