knowhow.md 7.39 KB

微博热点新闻抓取与简报生成方法论

执行摘要

本报告研究微博热点新闻抓取与简报生成的技术方案,覆盖热搜与热点新闻区别、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": "发布时间"
        }
      }
    ]
  }
}

详情页爬取

获取热点新闻详情需要:

  1. 从热点新闻列表获取 mblog.id
  2. 调用 https://m.weibo.cn/statuses/extend?id={mid} 获取完整正文
  3. 从 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秒
验证码 行为异常触发 打码平台

最佳实践

  1. UA 轮换:维护 5+ 个常用 UA
  2. 频率控制:请求间隔 3-5 秒,每分钟 ≤ 20 次
  3. 响应验证:检测是否返回 HTML(验证码拦截)
  4. 降级方案:API 失败时降级到页面解析
  5. 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 简报

洞察与建议

原创洞察

  1. 热点新闻 vs 热搜的核心差异

    • 热搜是"用户搜索驱动的自然热度",反映大众关注点
    • 热点新闻是"编辑推荐的算法+人工筛选",更偏新闻价值
    • 对于新闻简报场景,热点新闻更适合,因为它更结构化、图片更丰富
  2. 二次请求获取详情是必须的

    • 热点新闻列表 API 返回的 text 字段是截断的
    • 需要调用 statuses/extend 获取完整正文和多图
    • 这增加了请求次数,但保证了数据完整性
  3. 图片下载的防盗链处理

    • 微博图片域名 wx1.sinaimg.cn 会检查 Referer
    • 下载时需要设置 Referer: https://m.weibo.cn
    • 建议下载后保存到本地,避免后续显示时需要网络请求

常见陷阱

  1. API 突然失效: 微博可能随时更改 API,需准备降级方案
  2. 图片防盗链: 未设置正确 Referer 导致图片无法显示
  3. 频率限制: 过于频繁请求导致 IP 被封
  4. 登录态过期: Cookie 过期导致返回 HTML 而非 JSON
  5. text 截断: 列表 API 返回的内容不完整,必须二次请求

工具推荐

工具 用途 Stars
nghuyong/WeiboSpider 分布式微博爬虫 3.5k+
dataabc/weibo-crawler 简洁高效爬虫 2k+
lord63/weiboSpider 多账号爬虫 500+

调研时间: 2026-03-28