从GitHub repo下载单个文件有哪些技巧?

我不想要显示原始文件的URL;对于二进制文件,什么都没有。

http://support.github.com/discussions/feature-requests/41-download-single-file

是否有可能将GitHub用作“下载服务器”?

如果我们决定切换到GoogleCode,是否提供了上述功能?

或者开源项目是否有免费托管和VCS?


当前回答

请使用“{host}/{user}/}repo}/branch}/{file}”的模式。要获得具体示例,请在Python中执行以下操作:

import pandas as pd
host = 'raw.github.com'
user = 'fivethirtyeight'
repo = 'data'
branch = 'master'
file = 'births/US_births_2000-2014_SSA.csv'
url = f'https://{host}/{user}/{repo}/{branch}/{file}'
df = pd.read_csv(url,sep=',',header=0)
df.head()

其他回答

在github上,打开要下载的文件找到与“Blame”按钮相邻的“Raw”按钮按下键盘上的“Alt”,同时左键单击鼠标该文件将以“.txt”格式自动下载(我就是这样做的)手动将“.txt”扩展名更改为“.csv”扩展名

这对我有用,我希望对你也有用。

为了跟进thomasfuchs所说的,但对于GitHub Enterprise用户,您可以使用以下内容。

curl-H'授权:令牌INSERTACCESSTOKENHERE'-H'接受:application/vnd.github.v3.raw'-O-Lhttps://your_domain/api/v3/repos/owner/repo/contents/path

这里还有API文档https://developer.github.com/v3/repos/contents

若您使用npm,只需运行以下命令行,最后,除了这个github文件,它不会下载任何npm包

npx config-pack https://github.com/facebook/react/blob/main/README.md

有关详细信息,请参阅配置包

可以这样使用curl:

卷曲-OLhttps://raw.githubusercontent.com/<username>/<repo名称>/<branch名称>/path/to/file

O表示curl下载内容L表示卷曲遵循重定向

在Mac或Linux上安装jq并使用它从Github中提取文件,如下所示:

curl -H 'Authorization: token <ACCESS_TOKEN>' \
   -H "Accept: application/vnd.github.v3+raw" -L \
   https://api.github.com/repos/MY-ORG/MY-REPO/contents/MY-FILE-PATH | \
   jq -r '.content' | base64 --decode > MY_FILE_NAME.txt

可以在此处找到上述命令的文档。