【问题标题】:Is there a way to extract all issues/commits of a Github repository that have a specific keyword to a csv file?有没有办法将具有特定关键字的 Github 存储库的所有问题/提交提取到 csv 文件?
【发布时间】:2026-01-27 05:20:05
【问题描述】:

我正在尝试从提交/问题页面上具有特定消息/单词的存储库(例如:Tensorflow)中提取问题。例如,我想从 Tensorflow 存储库中提取所有包含单词 CVE 的提交/问题,并将它们放入 CSV 文件中进行分析。

我试过 curl "https://api.github.com/repos/tensorflow/tensorflow/issues" 但它只返回前 30 个问题而不是全部。

我查看了 Github API,但我不太了解。请帮忙!

【问题讨论】:

  • @LeGEC 这对问题也有用吗?我不确定如何使用 gitlog 导出到 csv。
  • 我看错了你的问题,我以为你在 commit messages 中寻找一个词。我的错。
  • @LeGEC 我也在提交消息中寻找一个词,以便帮助解决部分问题。要导出到 csv,我首先需要克隆存储库,然后使用 grep 来检查消息?
  • 搜索提交信息:是的,这将是最简单的方法

标签: git github


【解决方案1】:

结果分页,issues API有per_pagepage两个参数:

per_page  integer    Results per page (max 100). Default: 30
page      integer    Page number of the results to fetch. Default: 1

将这些与您的查询一起传递。

文档链接:
https://docs.github.com/en/rest/reference/issues#list-issues-assigned-to-the-authenticated-user


列出提交:只需克隆 repo 并使用常规 git 命令列出提交(git log 使用正确的选项)

【讨论】:

  • 谢谢。有没有办法使用 Python 或其他东西来提取这些问题?我正在调查github.com/PyGithub/PyGithub
  • 对于“我如何访问这个 API?”部分:谷歌它。例如:*.com/questions/10625190/…PyGithub 可能是一个不错的候选(但我从未使用过)
最近更新 更多