这个工具可以帮你批量导出 GitHub 星标仓库的信息,支持两种模式:简单模式和详细模式。
- ✅ 批量拉取:
--simple模式下每页拉取 100 个仓库,提高效率 - ✅ 缓存机制: 自动缓存已获取的 README 内容,避免重复请求
- ✅ 断点续抓: 支持中断后从上次停止的位置继续
- ✅ 限流保护: 自动处理 GitHub API 限流,避免超出 5000 次/小时限制
- ✅ 错误恢复: 中途失败时提供详细的失败位置信息
-
修改
get-stars.js中的配置:const USERNAME = "你的GitHub用户名"; const TOKEN = "你的GitHub访问令牌";
-
安装依赖:
pnpm install
node get-stars.js --simple- 批量拉取星标仓库信息
- 每页 100 个仓库,速度更快
- 生成
stars.md文件
node get-stars.js --readme- 获取每个仓库的 README 内容
- 每页 50 个仓库
- 生成
stars.json和output/文件夹
工具提供多种方式来处理中断的任务:
当你运行命令时,如果检测到未完成的任务,会自动提示:
node get-stars.js --simple
🔄 检测到上次未完成的任务:
上次模式: --simple
已处理: 100 个仓库
当前页: 2
请选择操作:
1) 继续上次任务 (相当于 --resume)
2) 重新开始
请输入选择 (1 或 2):如果确定要恢复上次任务,可以直接使用 --resume 参数:
# 恢复简单模式任务
node get-stars.js --simple --resume
# 恢复详细模式任务
node get-stars.js --readme --resume工具自动处理 GitHub API 限流:
- 5000 次/小时限制: 自动控制请求频率(每 1.5 秒一次)
- 实时监控: 显示剩余请求次数和重置时间
- 智能重试: 遇到限流时自动等待并重试
- 连续错误处理: 连续 3 次失败后中止,保存进度
stars.md: 简单模式生成的 Markdown 格式星标列表stars.json: 详细模式生成的 JSON 格式数据output/: 详细模式下各仓库的 README 文件
.cache.json: 缓存文件,存储已获取的 README 内容.progress.json: 进度文件,记录当前处理位置
这些临时文件在任务成功完成后会自动清理。
-
API 限流
API限流: API rate limit exceeded解决:等待限流重置时间,或使用
--resume恢复 -
网络错误
获取第 X 页时出错: Network Error解决:检查网络连接,使用
--resume恢复 -
认证错误
Unauthorized解决:检查 GitHub TOKEN 是否正确且有效
当任务失败时,工具会显示:
💥 任务中断: 连续 3 次失败,任务中止
📍 失败位置: 第 5 页,已处理 450 个仓库
🔄 使用命令恢复: node get-stars.js --simple --resume
按提示使用恢复命令即可从中断位置继续。
- 简单模式: 每页 100 个仓库,适合快速获取基本信息
- 缓存机制: 避免重复获取相同的 README
- 智能延迟: 根据模式自动调整请求间隔
- 批量处理: 最大化利用 API 配额
- 确保 GitHub TOKEN 有足够的权限
- 大量星标仓库建议使用简单模式
- 详细模式会消耗更多 API 配额
- 建议在网络稳定的环境下运行
- 不要手动删除
.cache.json和.progress.json,除非要重新开始
MIT