我正在尝试从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。我一定做错了,但我似乎无法弄清楚它是什么。
答案 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可用的限定符。