微博热点新闻抓取+简报生成 - 知识合成
概述
本 knowhow 整合微博热点新闻抓取与简报生成的核心知识,包括 API 接口、数据结构、反爬策略和简报模板。
1. 核心 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 |
2. 数据结构
热搜数据结构
{
"ok": 1,
"data": {
"hotword": "关键词",
"word_scheme": "URL编码",
"num": 热度值,
"icon": "icon类型",
"note": "副标题"
}
}
微博详情数据结构
{
"ok": 1,
"data": {
"text": "微博正文",
"pics": [{"large": {"url": "图片URL"}}],
"user": {
"id": 用户ID,
"screen_name": "用户名",
"followers_count": 粉丝数
},
"reposts_count": 转发数,
"comments_count": 评论数,
"attitudes_count": 点赞数
}
}
3. 图片 CDN
| 域名 |
用途 |
wx1.sinaimg.cn ~ wx4.sinaimg.cn |
用户上传图片 |
ww1.sinaimg.cn |
头像图片 |
cfs.sinaimg.cn |
表情/GIF |
URL 格式
https://wx1.sinaimg.cn/large/{uid}.jpg // 大图
https://wx1.sinaimg.cn/orignal/{uid}.jpg // 原图
https://wx1.sinaimg.cn/thumbnail/{uid}.jpg // 缩略图
防盗链
- Referer:
https://weibo.com
4. 反爬机制与应对
| 机制 |
特征 |
应对策略 |
| User-Agent 检测 |
检查请求头 |
轮换 UA 字符串池 |
| IP 限流 |
短时间大量请求 |
IP 代理池 |
| Cookie 验证 |
登录态校验 |
维护 Cookie 池 |
| 请求频率限制 |
单IP QPS限制 |
限速 + 随机延迟 3-5秒 |
最佳实践
- UA 轮换:维护 5+ 个常用 UA
- 频率控制:请求间隔 3-5 秒,每分钟 ≤ 20 次
- Cookie 池:维护多个登录态,定期轮换
5. 简报生成
输出格式
- Markdown: 适合技术文档和代码片段
- HTML: 适合展示和邮件简报
- JSON: 适合数据分析和二次处理
简报模板
# 微博热搜简报 {date}
## 今日热点 TOP 10
| 排名 | 热度 | 话题 | 热度值 |
|------|------|------|--------|
| 1 | 🔥 | #话题1# | 100万 |
## 详情内容
[从详情页抓取的详细内容]
---
采集时间: {timestamp}
数据来源: weibo_hotsearch_api
6. 学习路径
Step 1: 调用移动端热搜 API
Step 2: 解析 JSON 获取话题列表
Step 3: 对每个话题调用详情 API
Step 4: 提取正文 + 图片 URL
Step 5: 生成 Markdown/HTML 简报
7. 常见陷阱
- API 突然失效: 微博可能随时更改 API,需准备降级方案
- 图片防盗链: 未设置正确 Referer 导致图片无法显示
- 频率限制: 过于频繁请求导致 IP 被封
- 登录态过期: Cookie 过期导致返回 HTML 而非 JSON
整合时间: 2026-03-28