目录
作业Proposal:开源社区活跃度分析Proposal(北航开源软件开发导论第三次作业)_Smily^-^的博客-CSDN博客_开源社区活跃
前记
GitHub提供了api接口,直接返回json,方便数据采集,但这是有限制的,未验证用户每小时可访问60次,验证用户每小时可访问5000次,超过次数会报错403,爬虫戛然而止。
验证方法官方文档:Authentication - GitHub Docs
正文——API接口的使用
仓库数据收集常用url:
# 获取commit列表:
https://api.github.com/repos/{owner}/{repo_name}/commits
# 获取issue列表:
https://api.github.com/repos/{owner}/{repo_name}/issues
# 获取(issue的)comment列表:
https://api.github.com/repos/{owner}/{repo_name}/issues/comments
# 获取Pr列表:
https://api.github.com/repos/{owner}/{repo_name}/pulls/?state=closed
# 获取Fork列表:
https://api.github.com/repos/{owner}/{repo_name}/forks/
# 获取事件列表:
https://api.github.com/repos/{owner}/{repo_name}/events
# 获取贡献者列表:
https://api.github.com/repos/{owner}/{repo_name}/contributors_url
少踩坑Tips
- 默认情况下,一次,也就是一页返回三十条数据,所以上述url的结果只是前三十条,如果数据量比较大,应该需要考虑分页爬取,即结尾加
?&page=%d&per_page=100
- 对于issue之类可能有open和closed两种状态的,会默认只返回open状态的,如有收集closed状态的需要,要在url中说明
?state=closed
- 3.本作业代码已开源开源社区活跃度分析: 本仓库用于开源软件开发导论团队作业——开源社区活跃度分析