Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

热点雷达 · Hot Radar

本地运行的热点选题聚合工具。聚合 12 个主流平台的实时热榜,配备科技精选视图(AI / 机器人 / 手机 / 电子产品 / 汽车 / IT 六大属性),辅助科技自媒体日常选题。

LICENSE Platform Python Node


✨ 特性

  • 12 个平台:微博、知乎、百度、今日头条、腾讯新闻、澎湃新闻、抖音、B站、36Kr、虎嗅、IT之家、豆瓣电影
  • 科技精选视图:自动从所有平台筛出科技相关热点,按热度统一排序,附带关键词命中标记
  • 六大属性标签:每条科技热点自动打标(AI / 机器人 / 手机 / 电子产品 / 汽车 / IT),支持一键筛选,直观查看每类的热点分布
  • 关键词搜索:科技精选 Tab 内可进一步按关键词过滤
  • 双击即开即关:macOS 下双击 .command 启动,关闭窗口或 Ctrl+C 自动清理两个服务
  • 代理兼容:自动规避 Clash/V2Ray 等代理导致的国内站点重定向问题
  • 无依赖外网 API:底层使用开源 DailyHotApi,热点数据来自各平台官方接口

📸 截图

首次运行后补充截图docs/screenshot-home.png(首页)、docs/screenshot-tech.png(科技精选 + 属性筛选)

🗂 目录结构

hot-radar/
├── 启动热点雷达.command       # macOS 双击启动器
├── start.sh                   # 底层启动脚本(Linux 也能用)
├── backend/
│   ├── main.py                # FastAPI,端口 8000
│   ├── requirements.txt
│   └── static/
│       └── index.html         # 单页前端(温暖纸质浅色主题)
├── .gitignore
├── LICENSE
└── README.md
# 运行时自动生成,不纳入仓库:
# ├── DailyHotApi/              (start.sh 首次运行自动 git clone)
# ├── backend/.venv/            (Python 虚拟环境)
# └── .logs/                    (服务日志)

🚀 快速开始

前置依赖

  • Git(用于拉取上游 DailyHotApi)
  • Node.js ≥ 18
  • Python ≥ 3.10
  • macOS / Linux(Windows 建议用 WSL)

macOS 用户

git clone https://github.com/<your-username>/hot-radar.git
cd hot-radar

# 首次运行需要给 .command 可执行权限(通常 clone 后已有)
chmod +x 启动热点雷达.command start.sh

然后在 Finder 里双击 启动热点雷达.command。首次启动会自动:

  1. git clone DailyHotApi 上游仓库到 ./DailyHotApi/
  2. npm install 装依赖,以 PORT=3001 启动
  3. backend/ 创建 Python venv 并装依赖
  4. 启动 FastAPI(端口 8000

启动成功后,浏览器访问 http://localhost:8000 。关闭终端窗口或按 Ctrl+C 会同时停止两个服务。

Linux / 手动启动

git clone https://github.com/<your-username>/hot-radar.git
cd hot-radar
chmod +x start.sh
./start.sh

⌨️ 键盘快捷键

按键 动作
T 切换到 科技精选 Tab
/ 聚焦搜索框(仅科技精选)
1 ~ 90 切换到第 N 个平台 Tab
[ / ] 在所有 Tab 之间前后切换
R 刷新数据
Esc 退出搜索框

🔌 后端接口

方法 路径 说明
GET /api/hot 并发拉取全部 12 个平台,返回聚合数据
GET /api/hot/{key} 单平台数据

keyweibo / zhihu / baidu / toutiao / qq-news / thepaper / douyin / bilibili / 36kr / huxiu / ithome / douban-movie

单条返回字段:

{ "title": "...", "url": "...", "hot": 123456 }

🛠 自定义

  • 修改 DailyHotApi 地址DAILYHOT_BASE=http://127.0.0.1:6688 python main.py
  • 修改前端端口:编辑 backend/main.py 末尾 uvicorn.run(..., port=8000)
  • 添加平台:在 backend/main.pyPLATFORMSbackend/static/index.htmlPLATFORMS 数组中同步添加
  • 调整科技属性关键词:编辑 backend/static/index.htmlTECH_CATEGORIES 数组,每个分类独立一组关键词

🩹 故障排查

前端列表为空 / 报错 查看 .logs/dailyhot.log,确认 DailyHotApi 是否正常启动(个别平台偶尔抓取失败属正常)

npm install 很慢 切换淘宝镜像:npm config set registry https://registry.npmmirror.com

Python 依赖装不上 确认用的是 python3,或指定版本:PYTHON_BIN=python3.11 ./start.sh

端口被占用 lsof -i :3001 / lsof -i :8000 查出进程后 kill

项目目录被移动后 venv 报错 已自动处理:start.sh 检测到 venv 里"烘焙的路径"与当前位置不一致时,会重建 venv

Clash/V2Ray 代理导致国内站点重定向失败 已自动处理:启动 DailyHotApi 时会临时 unset 代理环境变量。若需禁用此行为:NO_PROXY_FOR_DAILYHOT=0 ./start.sh

🙏 鸣谢

  • 热点数据来自开源项目 imsyy/DailyHotApi(MIT License),感谢作者的持续维护
  • 前端配色灵感来自 Linear / Vercel

📄 License

MIT © Arvin62

本项目仅供个人学习与选题辅助,请勿用于商业用途或对目标平台造成负担。DailyHotApi 的版权归其原作者所有。

About

Hot topic radar — FastAPI backend aggregating trending data from DailyHotApi

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages