我正在python 3中构建一个应用程序,该应用程序需要从raw.githubusercontent.com下载一大堆* .java文件。基本上,我使用GitHub的API v3获取给定存储库中所有以“ .java”结尾的路径,然后通过raw.githubusercontent.com下载它们。问题在于这确实很慢(<10 kB / s)。现在有时候,它开始时的速度不错(40-50 kB / s),但随后通常会很快下降。
我尝试通过使用request.Session()来保持持久连接。我也尝试过使用授权令牌,有人建议这样做。这两个都没有改善。
这是我的代码的样子:
with requests.Session() as s:
path_index = ""
for path in paths.splitlines():
file_url = githubusercontent_prefix + path
filename = path.split("/")[-1]
res = s.get(file_url, stream=True, allow_redirects=True)
outf = open("sources/" + filename, 'w')
outf.write(res.text)
outf.close()