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

2024-01-01

为 Google Colab 获取的“共享 url”链接到一个包含大量额外 HTML 的文件,因此当您尝试使用 wget 或 curl 下载该文件时,您不会获得有效的 Jupyter .ipynb 文件。

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

GitHub 有一个“原始”按钮 https://stackoverflow.com/a/46800750/4259243您可以按 ,这会给您一个用于下载 Jupyter 笔记本文件的有效 URL,但我在 Colab 中没有看到任何此类内容。也许有某种“?form=raw“ 可以添加到 URL 中的东西吗?

或者,是否有推荐的脚本来删除所有额外的 HTML,只为 .ipynb 文件保留 JSON?

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


解决了,通过这个帖子 https://www.matthuisman.nz/2019/01/download-google-drive-files-wget-curl.html:你只需要从url中提取“文件id”!

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

那么 fileid 就是“drive/”和问号之间的所有内容。

一个 bash 的小例子...

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

...结果是 download_file.ipynb 中的有效 Jupyter 文件。 :-)

将这一切放在方便的地方bash函数可以如下所示:

grabcolab() { fileid=$( echo "$1" | sed -E 's/.*drive\/(.*)\?.*/\1/' ); wget -O colab.ipynb 'https://docs.google.com/uc?export=download&id='$fileid; }

然后我们就跑grabcolab <sharing url> as in:

grabcolab https://colab.research.google.com/drive/1SxJJc6LsKrjWAM-HhwPrLJBpUzImO5oX?usp=sharing

PS- 题外话,但如果你愿意的话run从命令行的笔记本,jupytext(可通过安装pip install jupytext)对我来说比jupyter notebook --to-script,所以我用来运行笔记本的是

nbrun() { jupyter nbconvert --to script "$1";  mv  "${1%.*}".py run_this.ipy; ipython run_this.ipy;}

As in

$ grabcolab https://colab.research.google.com/drive/1SxJJc6LsKrjWAM-HhwPrLJBpUzImO5oX?usp=sharing
$ nbrun colab.ipynb
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用共享网址和命令行从 Google Colab 获取“原始”ipynb 文件? 的相关文章

随机推荐

  • Python:Groupby 第一个非 NaN 值

    我有以下数据框 id number 1 13 1 13 1 NaN 1 NaN 2 11 2 11 2 11 2 NaN 我想找到每个 id 的第一个非 NaN 值并用 1 标记它 结果应如下所示 id number code 1 13 N
  • 如何在D3中点击添加或拖动?

    我的印象是这个问题太简单了 没有人费心去制作它的演示 但我对 D3 的了解还不够多 无法看出我做错了什么 我正在寻找的行为是 如果用户单击没有圆圈的地方 它将在那里创建一个圆圈 如果他们拖动现有的圆圈 则不会创建新的圆圈 但他们拖动的圆圈将
  • Firebase - 创建临时用户直到用户注册

    我有一个用例 用户 A 可以说用户 B 从用户 A 借了一些钱 类似于 Splitwise 等应用程序 我正在使用 firestore 来存储数据 在这种特殊情况下 我将其作为文档存储在 Transactions 集合中 该集合将具有以下字
  • CEdit::GetLine() Windows 7

    我有以下代码段 其中m edit是一个 CEdit 控件 TCHAR lpsz MAX PATH 1 get the edit box text m edit GetLine 0 lpsz MAX PATH 这在运行 Windows XP
  • 在 C# 中使用原始套接字

    我想用 C 编写一个端口扫描器 但无法使用 SocketType Raw 因为原始套接字是从 Windows 桌面版本中取出的 我无法使用 SharpPcap 或 Winpcap 的其他包装器 因为我使用 PPPoE 进行互联网连接 而 W
  • 检查奇数时 & 比 % 更快吗?

    要检查奇数和偶数 最低位检查是否比使用模数更有效 gt gt gt def isodd num return num 1 and True or False gt gt gt isodd 10 False gt gt gt isodd 9
  • MySQL 有命名约定吗?

    我是这样做的 表名是小写的 使用下划线分隔单词 并且是单数 例如foo foo bar etc 我通常 并非总是 有一个自动增量 PK 我使用以下约定 tablename id e g foo id foo bar id etc 当表包含作
  • xmlHttpRequest.onerror 处理程序用例

    什么样的情况会导致调用此处理程序 我没有找到此方法引发错误的任何实例 我尝试让设备离线 我得到xmlHttpRequest status 0但没有错误 问题是我可以创建什么样的情况来测试此处理程序的功能 var xmlhttp new XM
  • C++/CLI 中的文字字段与常量变量

    我正在阅读一些 C CLI 材料 并且遇到了文字字段的概念 literal int inchesPerFoot 12 这比 const 更好吗 因为 constFIELD不能存在 因为字段无法初始化自身 所以 class aClass pr
  • 如何通过 Azure DevOps 在 Dockerfile 中设置环境变量

    在我的项目 Docker 文件中 我有一些环境变量 如下所示 ENV ACCEPT EULA Y ENV SA PASSWORD Password ENV MSSQL PID Developer ENV MSSQL TCP PORT 143
  • 在应用程序域之间来回传递集合对象

    以下示例基于 在应用程序域之间来回传递值 https stackoverflow com questions 1250774 passing values back and forth appdomains 其中 Marc Gravell
  • 扩展运算符类似物

    我有一个结构体和该结构体的实例 type Obj struct ssid string code string mit string and other props 23 var ValidObject Obj ssid AK93 KADJ
  • Android 应用程序连接到网络服务 - 不工作

    我正在尝试将我的应用程序连接到我在 asp net 中创建的 WCF 服务 该服务在我的本地计算机上运行 http localhost 8080 Service svc http localhost 8080 Service svc 但由于
  • 批量归一化 - Tensorflow

    我看过一些 BN 的例子 但还是有点困惑 所以我目前正在使用这个函数 它调用这里的函数 https github com tensorflow tensorflow blob master tensorflow g3doc api docs
  • 解压 sys.argv 时 Pylint 误报

    我有一个解压脚本sys argv到一个函数中 像这样 import sys def do something a b It doesn t matter what this function does print a b if name m
  • WPF 链绑定

    我想创建一个像这样的链绑定 我有一个用户控件 在具有类似依赖属性的窗口内具有依赖属性 我想将用户控件的依赖属性绑定到窗口的依赖属性 我创建了一个示例项目来演示我的问题 用户控件1 XAML
  • 打印到终端末尾

    Like this picture of apt get how can I print something at the end of the line just like the speed on the screen Although
  • 是否可以将 Google 服务帐户限制为项目内的特定 BigQuery 数据集?

    我已使用 GCP UI 为特定项目设置了一个服务帐号Project X 之内Project X有3个数据集 Dataset 1 Dataset 2 Dataset 3 如果我分配角色BigQuery Admin to Project X目前
  • 对于同一新对象多次调用 Firebase FEventTypeChildAdded 回调

    我正在开发一个 iOS 应用程序 并且我在 Firebase 的登录演示应用程序之上构建了我的项目 我可以通过 Facebook 进行身份验证 并与 Firebase 进行良好的通信 当我按下注销按钮时 运行的代码如下 void logou
  • 如何使用共享网址和命令行从 Google Colab 获取“原始”ipynb 文件?

    为 Google Colab 获取的 共享 url 链接到一个包含大量额外 HTML 的文件 因此当您尝试使用 wget 或 curl 下载该文件时 您不会获得有效的 Jupyter ipynb 文件 如何使用 wget 或 curl 等命