用途:获取 GitHub 真实热门项目数据,支持今日、本周、本月三个时间范围,并可按编程语言过滤,便于追踪趋势或进一步处理数据。
主要能力:
- 通过 GitHub Search API 抓取仓库,按 pushed 时间与 stars 过滤并排序。
- 支持 daily、weekly、monthly 三种周期。
- 可按语言过滤,如 python、go、rust 等 GitHub 支持的语言标识符。
- 可限制返回数量,并支持输出原始 JSON。
必要用法: 今日热门(默认):python3 scripts/github_trending.py 本周热门,Top 25:python3 scripts/github_trending.py --period weekly --limit 25 本月热门,只看 Python 项目:python3 scripts/github_trending.py --period monthly --language python 输出 JSON:python3 scripts/github_trending.py --period daily --json
参数:--period/-p 默认 daily;--limit/-n 默认 20;--language/-l 默认全部;--token/-t 默认读取环境变量,也可设置 GITHUB_TOKEN;--json 输出原始 JSON。
提高 API 限额:不带 token 时 GitHub API 限制为 10 次/分钟,带 token 可提升到 30 次/分钟。示例:export GITHUB_TOKEN=your_personal_access_token 后再运行脚本。
限制:结果与 github.com/trending 不完全一致,官方页面使用内部算法,本工具按近期 stars 增量近似实现。出现 HTTP 403 或 rate limit exceeded 时,可设置 GITHUB_TOKEN 或稍后重试。仅使用 Python 标准库,无 pip 依赖。