Github Search API文件名仅返回1个结果

时间:2018-01-11 18:24:14

标签: github github-api

我正在尝试从github搜索API中搜索所有项目(或至少数千个)。除了文件名上的过滤器外,我已经完成了其他所有工作。

例如,将以下请求发送到搜索API只会返回1个结果:

https://api.github.com/search/code?q=django+in:requirements.txt+filename:requirements.txt+language:python+org:openmicroscopy

同样,发送以下内容

https://api.github.com/search/repositories?q=filename:Makefile&per_page=100

也只返回1个结果。我愿意打赌github上有超过1个repo,带有Makefile或者依赖于Django。我一定做错了,但我似乎无法弄清楚它是什么。

1 个答案:

答案 0 :(得分:1)

根据Github开发者网站上的post来支持预期的请求量,他们为代码查询添加了限制,这要求我们使用查询指定用户,组织或存储库集。请阅读此link

的代码搜索注意事项

现在,关于您的搜索API请求,在第一个 in 限定符中提供了文件名 requirements.txt ,这是错误的。 文档指出 应提供 文件 以限制搜索文件内容 路径 将搜索限制为文件路径或两者。 像这样, in:file in:path in:file,path

因此,如果您想在文件内容中搜索正确的API调用

https://api.github.com/search/code?q=django+in:file+filename:requirements.txt+org:openmicroscopy

我删除了语言限定符,因为您在 .txt 文件中搜索并执行此操作改进了结果。

查看此网址,它会在网站上生成相同的结果

https://github.com/search?utf8=%E2%9C%93&q=org%3Aopenmicroscopy+django+in%3Afile+filename%3Arequirements.txt&type=Code

您的第二个查询是存储库搜索,它不能将文件名作为限定符,您应该看到此link可用的限定符。