微博热点新闻抓取与简报生成方法论
执行摘要
本报告研究微博热点新闻抓取与简报生成的技术方案,覆盖热搜与热点新闻区别、API接口、详情页爬取、图片存储和简报生成五大维度。
1. 热搜榜 vs 热点新闻的区别
| 维度 |
热搜榜 |
热点新闻 |
| 入口位置 |
搜索栏右侧"热搜" |
首屏"热点"标签 |
| 排名依据 |
用户搜索热度 |
实时热点+编辑推荐 |
| 内容类型 |
话题/事件 |
新闻事件 |
| 更新频率 |
实时 |
分钟级 |
| 典型内容 |
娱乐话题、社会事件 |
突发新闻、时政要闻 |
热点新闻特点
- 编辑推荐:有编辑人工干预
- 时效性强:聚焦当下正在发生的事件
- 新闻属性更强:偏重正式新闻内容
- 图片更多:常配有多图或视频
2. 热点新闻 API 接口
热点新闻数据源
| 端点 |
用途 |
认证 |
可用性 |
https://m.weibo.cn/api/index/list?type=brief |
热点新闻 |
无需 |
⭐⭐⭐⭐⭐ |
https://m.weibo.cn/api/index/list?type=hot |
热搜榜 |
无需 |
⭐⭐⭐⭐⭐ |
https://m.weibo.cn/api/index/list?type=fedu |
沸点 |
无需 |
⭐⭐⭐⭐ |
热点新闻数据结构
{
"ok": 1,
"data": {
"cards": [
{
"card_type": 9,
"mblog": {
"id": "微博ID",
"text": "正文(HTML)",
"pics": [{"large": {"url": "图片URL"}}],
"user": {"screen_name": "用户名", "followers_count": 粉丝数},
"reposts_count": 转发,
"comments_count": 评论,
"attitudes_count": 点赞,
"created_at": "发布时间"
}
}
]
}
}
详情页爬取
获取热点新闻详情需要:
- 从热点新闻列表获取
mblog.id
- 调用
https://m.weibo.cn/statuses/extend?id={mid} 获取完整正文
- 从
pics 数组提取图片 URL
3. 微博热搜详情页 URL 结构
| 入口 |
URL 格式 |
说明 |
| PC端热搜榜 |
https://s.weibo.com/weibo?q={keyword} |
搜索结果页 |
| 移动端热搜 |
https://m.weibo.cn/search?containerid=100103type%3D1%26q%3D{keyword} |
话题搜索 |
| 热搜详情页 |
https://weibo.com/ajax/statuses/mymblog?uid={uid}&feature=0&is_all=1 |
获取用户热门微博 |
| 话题详情API |
https://m.weibo.cn/container/getIndex?containerid=100103type%3D1%26q%3D{keyword} |
话题搜索API |
热搜榜数据源
GET https://weibo.com/ajax/side/hotSearch
GET https://m.weibo.cn/api/index/list?type=hot
4. API 接口详解
移动端 API(推荐)
| 端点 |
用途 |
认证 |
https://m.weibo.cn/api/index/list?type=hot |
热搜榜 |
无需登录 |
https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D1%26q%3D{keyword} |
话题搜索 |
无需登录 |
https://m.weibo.cn/statuses/extend?id={mid} |
微博详情 |
可选Cookie |
PC端 API
| 端点 |
用途 |
认证 |
https://weibo.com/ajax/side/hotSearch |
热搜榜 |
需Cookie |
https://weibo.com/ajax/statuses/mymblog?uid={uid} |
用户微博 |
需Cookie |
API 返回数据结构
{
"ok": 1,
"data": {
"hotword": "关键词",
"word_scheme": "URL编码",
"num": 热度值,
"icon": "icon类型",
"note": "副标题"
}
}
5. 微博图片存储与 CDN
图片域名
| 域名 |
用途 |
wx1.sinaimg.cn ~ wx4.sinaimg.cn |
用户上传图片 |
ww1.sinaimg.cn |
头像图片 |
cfs.sinaimg.cn |
表情/GIF |
tvax1.sinaimg.cn ~ tvax4.sinaimg.cn |
视频封面 |
图片 URL 格式
https://wx1.sinaimg.cn/large/{uid}.jpg // 大图
https://wx1.sinaimg.cn/orignal/{uid}.jpg // 原图
https://wx1.sinaimg.cn/thumbnail/{uid}.jpg // 缩略图
防盗链处理
- Referer 检查:需要设置
Referer: https://weibo.com
- 支持 WebP 格式
6. 反爬机制与绕过策略
| 机制 |
特征 |
应对策略 |
| User-Agent 检测 |
检查请求头 |
轮换 UA 字符串池 |
| IP 限流 |
短时间大量请求 |
IP 代理池 |
| Cookie 验证 |
登录态校验 |
维护 Cookie 池 |
| 请求频率限制 |
单IP QPS限制 |
限速 + 随机延迟 3-5秒 |
| 验证码 |
行为异常触发 |
打码平台 |
最佳实践
- UA 轮换:维护 5+ 个常用 UA
- 频率控制:请求间隔 3-5 秒,每分钟 ≤ 20 次
- 响应验证:检测是否返回 HTML(验证码拦截)
- 降级方案:API 失败时降级到页面解析
- Cookie 池:维护多个登录态,定期轮换
7. 简报生成方案
数据结构设计
{
"source": {
"platform": "weibo",
"category": "综合",
"hot_id": "#话题#",
"url": "链接"
},
"engagement": {
"likes": 316436,
"comments": 0,
"shares": 0,
"read_count": 0
},
"content": {
"title": "标题",
"text": "正文",
"media_urls": [],
"category_tags": ["分类"]
},
"author": {
"username": "用户名",
"followers": 0,
"verified": false
},
"timestamp": "ISO时间",
"metrics": {
"hot_rank": 0,
"hot_score": 0,
"trend": "up"
}
}
输出格式
- Markdown: 适合技术文档和代码片段
- HTML: 适合展示和邮件简报
- JSON: 适合数据分析和二次处理
简报模板
# 微博热搜简报 {date}
## 今日热点 TOP 10
| 排名 | 热度 | 话题 | 热度值 |
|------|------|------|--------|
| 1 | 🔥 | #话题1# | 100万 |
## 详情内容
[从详情页抓取的详细内容]
---
采集时间: {timestamp}
数据来源: weibo_hotsearch_api
8. 学习路径
Step 1: 调用热点新闻 API (type=brief)
↓
Step 2: 解析 JSON 获取热点列表
↓
Step 3: 对每条热点调用详情 API
↓
Step 4: 提取正文 + 图片 URL
↓
Step 5: 下载图片到本地
↓
Step 6: 生成 Markdown/HTML 简报
洞察与建议
原创洞察
热点新闻 vs 热搜的核心差异
- 热搜是"用户搜索驱动的自然热度",反映大众关注点
- 热点新闻是"编辑推荐的算法+人工筛选",更偏新闻价值
- 对于新闻简报场景,热点新闻更适合,因为它更结构化、图片更丰富
二次请求获取详情是必须的
- 热点新闻列表 API 返回的
text 字段是截断的
- 需要调用
statuses/extend 获取完整正文和多图
- 这增加了请求次数,但保证了数据完整性
图片下载的防盗链处理
- 微博图片域名
wx1.sinaimg.cn 会检查 Referer
- 下载时需要设置
Referer: https://m.weibo.cn
- 建议下载后保存到本地,避免后续显示时需要网络请求
常见陷阱
- API 突然失效: 微博可能随时更改 API,需准备降级方案
- 图片防盗链: 未设置正确 Referer 导致图片无法显示
- 频率限制: 过于频繁请求导致 IP 被封
- 登录态过期: Cookie 过期导致返回 HTML 而非 JSON
- text 截断: 列表 API 返回的内容不完整,必须二次请求
工具推荐
| 工具 |
用途 |
Stars |
| nghuyong/WeiboSpider |
分布式微博爬虫 |
3.5k+ |
| dataabc/weibo-crawler |
简洁高效爬虫 |
2k+ |
| lord63/weiboSpider |
多账号爬虫 |
500+ |
调研时间: 2026-03-28