curl - 使用 CLI 从外部 URL 下载 Jupyter Notebook

标签 curl jupyter-notebook wget jupyter

我需要在终端中下载 .ipynb 文件然后运行它(使用 nbconvert 或类似的东西)。

  • 我试过使用 wgetcurl为此,但我得到了网页(带有标签和 Javascript 代码)而不是可运行的 Notebook。
  • 然后我用了 Jupyter REST API .为了获取笔记本的内容,我使用了 /api/contents/<path>/<file> IE。我干脆改了notebooksapi/contents在网址中。我得到了带有一些附加文本的笔记本内容(稍后我必须对其进行过滤),并且......以一行的形式。所以,我有很多工作要把这一行转换成一个工作笔记本。

  • 是否可以通过终端下载 Jupyter Notebook 并运行 .ipynb 文件(与文件相同,可以在 Jupyter Web UI 中通过 download as .ipynb 下载)。

    最佳答案

    您必须使用 Authorization header 和 Content-Type application/json,然后笔记本将位于返回的字典的“内容”部分。您可以使用 jq 来获取字典的内容部分。如果在 Mac OS X 上只是 brew install jq

    curl -H "Authorization: Token {YOUR_TOKEN}" -H "Content-Type: application/json" -XGET https://{YOUR_JUPYTER_DOMAIN}/user/{USERNAME}/api/contents/{PATH_TO_IPYNB} | jq ".content"
    

    您也可以在 jq 部分 > my_downloaded.ipynb 之后添加输出重定向

    然后用jupyter notebook打开

    对于/user 确保您的个人服务器已启动,为此您必须登录到您的用户帐户或进入您的控制面板,如果它未打开或已被剔除。
    对于/services 服务器通常被代理,因此它应该始终处于打开状态。

    用于/services 的 URL
    https://{YOUR_JUPYTER_DOMAIN}/services/{SERVICENAME}/api/contents/{PATH_TO_IPYNB}
    

    关于curl - 使用 CLI 从外部 URL 下载 Jupyter Notebook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45521864/

    相关文章:

    post - 优步API |为 Ride 请求请求访问 token 返回 'invalid_grant' 错误

    python-3.x - 在 Jupyter 笔记本上设置 pythonpath

    python - 如何在 ipython notebook 中嵌入网站

    php - 需要帮助创建 Cron 来每天下载 XML 文件

    linux - 为什么一个HTTP请求请求是在第一个ack包之后发送的?

    java - 带有发布数据、用户名和密码的 curl url 以及作为文件的响应

    ssl - curl: (35) SSL 连接错误

    python - 黑盒功能的交互/交互

    bash - Docker:https的wget不起作用

    python - pycurl: RETURNTRANSFER 选项不存在