基于Python3的微博热搜榜数据采集脚本,支持热搜标题、排名、热搜类别、热度值和详情链接等核心字段导出。
本项目是一个面向Python爬虫初学者的微博热搜采集示例。脚本通过请求微博热搜榜页面,解析页面中的热搜表格数据,并将热搜内容整理为Excel文件,方便后续用Excel、Python或其他数据分析工具处理。
源码结构简单,适合学习以下内容:
- 使用
requests发送HTTP请求 - 解析HTML页面结构
- 提取列表数据中的核心字段
- 使用
pandas生成表格数据 - 将结果保存为Excel文件
源码演示视频:https://www.bilibili.com/video/BV1Xb4y1p7Ka/
- 自动抓取微博热搜榜数据
- 自动生成热搜排名
- 支持提取标题、热度值、热搜类别和链接
- 保存为
xlsx文件,方便直接用Excel打开 - 代码结构简单,适合入门学习
| 字段 | 说明 | 示例 |
|---|---|---|
| 热搜排名 | 当前热搜排序 | 1 |
| 热搜标题 | 热搜事件或话题标题 | 高考成绩 |
| 热搜类别 | 平台返回的热搜标记 | 热 / 新 / 荐 |
| 热度 | 当前热搜热度值 | 1868943 |
| 链接地址 | 热搜详情页链接 | https://s.weibo.com/weibo?q=... |
脚本运行完成后,会在当前目录生成:
微博热搜榜.xlsx
Excel示例:
| 热搜标题 | 热搜排名 | 热搜类别 | 热度 | 链接地址 |
|---|---|---|---|---|
| 高考成绩 | 1 | 热 | 1868943 | https://s.weibo.com/weibo?q=... |
| 哈兰德偷喝对方门将的水 | 2 | 968233 | https://s.weibo.com/weibo?q=... | |
| 万千气象看重庆 | 3 | 新 | 967606 | https://s.weibo.com/weibo?q=... |
- Python3.8+
- Windows/macOS/Linux
pip install requests pandas beautifulsoup4 openpyxlpython3 weibo_hot.py运行时终端会输出热搜排名和标题。运行完成后,采集结果会保存到微博热搜榜.xlsx。
https://s.weibo.com/top/summary?cate=realtimehot
脚本需要配置可用的Cookie,否则页面可能无法正常返回热搜数据。
header = {
"user-agent": "Mozilla/5.0 ...",
"cookie": "换成自己的cookie"
}- 请求微博热搜榜页面
- 使用
BeautifulSoup解析HTML - 遍历热搜表格中的每一行
- 提取
热搜标题、热搜排名、热搜类别、热度、链接地址 - 使用
pandas.DataFrame整理数据 - 导出为Excel文件
- Python爬虫入门练习
- 热点事件观察
- 热搜数据归档
- Excel数据处理学习
- pandas表格生成示例
先确认依赖是否安装成功:
pip install requests pandas beautifulsoup4 openpyxl再确认当前目录是否有weibo_hot.py,并在脚本所在目录运行命令。
微博页面结构和反爬策略可能发生变化。先检查Cookie是否有效,再确认页面的tr、td-02、td-03等结构是否变化。
当前脚本需要Cookie。请不要把个人Cookie、账号密码等敏感信息提交到公开仓库。
- 请合理控制运行频率,避免对目标站点造成压力。
- 本项目仅用于学习研究,不建议用于商业采集或批量抓取。
- 页面结构和字段内容可能随目标网站调整而变化。
- 使用本项目时,请自行遵守目标网站的服务条款、robots规则以及相关法律法规。
本项目仅供学习和研究使用。因使用本项目产生的任何问题或后果,由使用者自行承担。