Skip to content

GitHub Stars 导出工具, 这个工具可以帮你批量导出 GitHub 星标仓库的信息,支持两种模式:简单模式和详细模式。

Notifications You must be signed in to change notification settings

xuanxuan321/star

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Stars 导出工具

这个工具可以帮你批量导出 GitHub 星标仓库的信息,支持两种模式:简单模式和详细模式。

功能特性

  • 批量拉取: --simple 模式下每页拉取 100 个仓库,提高效率
  • 缓存机制: 自动缓存已获取的 README 内容,避免重复请求
  • 断点续抓: 支持中断后从上次停止的位置继续
  • 限流保护: 自动处理 GitHub API 限流,避免超出 5000 次/小时限制
  • 错误恢复: 中途失败时提供详细的失败位置信息

使用方法

配置

  1. 修改 get-stars.js 中的配置:

    const USERNAME = "你的GitHub用户名";
    const TOKEN = "你的GitHub访问令牌";
  2. 安装依赖:

    pnpm install

基本用法

简单模式(推荐)

node get-stars.js --simple
  • 批量拉取星标仓库信息
  • 每页 100 个仓库,速度更快
  • 生成 stars.md 文件

详细模式

node get-stars.js --readme
  • 获取每个仓库的 README 内容
  • 每页 50 个仓库
  • 生成 stars.jsonoutput/ 文件夹

断点续抓

工具提供多种方式来处理中断的任务:

自动检测与交互选择

当你运行命令时,如果检测到未完成的任务,会自动提示:

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: 进度文件,记录当前处理位置

这些临时文件在任务成功完成后会自动清理。

错误处理

常见错误及解决方案

  1. API 限流

    API限流: API rate limit exceeded
    

    解决:等待限流重置时间,或使用 --resume 恢复

  2. 网络错误

    获取第 X 页时出错: Network Error
    

    解决:检查网络连接,使用 --resume 恢复

  3. 认证错误

    Unauthorized
    

    解决:检查 GitHub TOKEN 是否正确且有效

任务恢复

当任务失败时,工具会显示:

💥 任务中断: 连续 3 次失败,任务中止
📍 失败位置: 第 5 页,已处理 450 个仓库
🔄 使用命令恢复: node get-stars.js --simple --resume

按提示使用恢复命令即可从中断位置继续。

性能优化

  • 简单模式: 每页 100 个仓库,适合快速获取基本信息
  • 缓存机制: 避免重复获取相同的 README
  • 智能延迟: 根据模式自动调整请求间隔
  • 批量处理: 最大化利用 API 配额

注意事项

  1. 确保 GitHub TOKEN 有足够的权限
  2. 大量星标仓库建议使用简单模式
  3. 详细模式会消耗更多 API 配额
  4. 建议在网络稳定的环境下运行
  5. 不要手动删除 .cache.json.progress.json,除非要重新开始

License

MIT

About

GitHub Stars 导出工具, 这个工具可以帮你批量导出 GitHub 星标仓库的信息,支持两种模式:简单模式和详细模式。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published