Skip to content

百度热搜爬虫

定时爬取 百度实时热搜 榜单,支持重试、日志与 JSON 持久化;按年月目录组织,同一日多次运行会 追加 历史热度记录。

Python2★requests + BeautifulSoup

特性

  • 爬取百度 realtime 热搜(约 50 条)
  • 网络失败 自动重试(可配置次数与间隔)
  • 结构化 logging 输出
  • 面向对象 BaiduHotSearchCrawler,便于扩展其他榜单
  • 输出路径:年份/YYYYMMDD 百度实时热点.json

环境要求

  • Python 3
  • 依赖:requestsbeautifulsoup4lxml

安装

bash
git clone https://github.com/wangqiqi/baidu-top-crawler.git
cd baidu-top-crawler
pip install -r requirements.txt

快速开始

bash
python crawl_baidu_top.py

典型日志:

text
INFO - 开始爬取百度realtime榜单...
INFO - 成功爬取 50 条热搜数据
INFO - 成功保存 50 条记录到: 2025/20250115 百度实时热点.json

输出格式

json
{
  "热搜标题1": [
    {
      "time": "2025-01-15T10:30:01+08:00",
      "hot_index": "999999"
    }
  ]
}

同一标题多次抓取会在数组中 追加 时间点与热度,便于做趋势分析。

配置说明

常量默认说明
REQUEST_TIMEOUT10请求超时(秒)
MAX_RETRIES3最大重试次数
RETRY_DELAY2重试间隔(秒)

代码中自定义实例:

python
crawler = BaiduHotSearchCrawler(timeout=15, max_retries=5)

项目结构

baidu-top-crawler/
├── crawl_baidu_top.py    # 主程序
├── requirements.txt
├── README.md
└── 2025/                 # 按年归档的数据
    └── 20250115 百度实时热点.json

常见问题

Q: 如何定时跑?
可用 cron / systemd / GitHub Actions 包装 python crawl_baidu_top.py;仓库本身聚焦单次爬虫逻辑。

Q: 页面结构变了怎么办?
需更新解析选择器;建议关注 Issues 或 fork 自维护。

源码

© 2026 老周有AI. All rights reserved.