如何使用共享 url 和命令行从 Google Colab 获取“原始”ipynb 文件?

问题描述

为 Google Colab 获取的“共享网址”链接一个包含大量额外 HTML 的文件,因此当您尝试使用 wget 或 curl 下载它时,您将无法获得有效的 Jupyter .ipynb 文件

如何使用 wget 或 curl 等命令行工具获取文件本身? (注意:我说的是“公共”共享 URL,其中“任何拥有该 URL 的人都可以查看”。我宁愿不必使用可能需要身份验证等的专门的 google-drive 命令行 API 工具。)

GitHub has a "raw" button 你可以按下它会给你一个有效的 URL 来下载 Jupyter 笔记本文件,但我在 Colab 中没有看到任何这样的东西。也许可以在 URL 中添加某种“?form=raw”?

或者,是否有推荐的脚本用于去除所有额外的 HTML 并将 JSON 留给 .ipynb 文件

澄清:我不是在谈论在 Colab 中手动移动鼠标并点击“文件 > 下载 > 下载 ipynb”;这很容易!我说的是使用“共享 URL”以编程方式获取文件

解决方法

已解决,通过 this post:您只需要从 url 中提取“文件 ID”即可!

如果分享网址是 https://colab.research.google.com/drive/1SxJJc6LsKrjWAM-HhwPrLJBpUzImO5oX?usp=sharing

那么文件 ID 就是“驱动器/”和问号之间的所有内容。

一个小 bash 示例...

$ export fileid=1SxJJc6LsKrjWAM-HhwPrLJBpUzImO5oX
$ wget -O downloaded_file.ipynb 'https://docs.google.com/uc?export=download&id='$fileid

...结果是一个位于downloaded_file.ipynb 的有效Jupyter 文件。 :-)