gallery-dl

gallery-dl

跨平台多源图库批量下载工具

gallery-dl是一款开源的命令行图片下载工具,支持从多个图片托管网站批量获取图库和收藏。这款跨平台软件提供丰富的配置选项和灵活的文件命名功能。gallery-dl能够通过多种身份验证方式访问需要登录的内容,并支持过滤、搜索和自定义输出等进阶特性。作为批量下载在线图片资源的实用工具,gallery-dl适用于需要高效获取大量图片的场景。

gallery-dl图片下载命令行工具Python跨平台Github开源项目

========== gallery-dl

gallery-dl 是一个命令行程序,用于从多个图片托管网站下载图片库和集合(参见支持的网站<docs/supportedsites.md>__)。它是一个跨平台工具,具有许多配置选项<https://gdl-org.github.io/docs/configuration.html>和强大的文件命名功能<https://gdl-org.github.io/docs/formatting.html>

|pypi| |build|

.. 目录::

依赖项

  • Python_ 3.4+
  • Requests_

可选

  • yt-dlp_ 或 youtube-dl_: HLS/DASH 视频下载,ytdl 集成
  • FFmpeg_: Pixiv Ugoira 转换
  • mkvmerge_: 准确的 Ugoira 帧时间码
  • PySocks_: SOCKS 代理支持
  • brotli_ 或 brotlicffi_: Brotli 压缩支持
  • zstandard_: Zstandard 压缩支持
  • PyYAML_: YAML 配置文件支持
  • toml_: Python<3.11 的 TOML 配置文件支持
  • SecretStorage_: --cookies-from-browser 的 GNOME 密钥环密码

安装

Pip

gallery-dl 的稳定版本在 PyPI_ 上分发,可以使用 pip_ 轻松安装或升级:

.. code:: bash

python3 -m pip install -U gallery-dl

也可以使用 pip_ 直接从 GitHub 安装最新的开发版本:

.. code:: bash

python3 -m pip install -U -I --no-deps --no-cache-dir https://github.com/mikf/gallery-dl/archive/master.tar.gz

注意:Windows 用户应使用 :code:py -3 替代 :code:python3

建议使用最新版本的 pip_,包括基本包 :code:setuptools 和 :code:wheel。 要确保这些包是最新的,请运行

.. code:: bash

python3 -m pip install --upgrade pip setuptools wheel

独立可执行文件

预构建的可执行文件(包含 Python 解释器和所需的 Python 包)可用于:

  • Windows <https://github.com/mikf/gallery-dl/releases/download/v1.27.3/gallery-dl.exe>__ (需要 Microsoft Visual C++ 可再发行包(x86)<https://aka.ms/vs/17/release/vc_redist.x86.exe>__)
  • Linux <https://github.com/mikf/gallery-dl/releases/download/v1.27.3/gallery-dl.bin>__

每日构建

| 从最新提交构建的可执行文件可在以下位置找到 | https://github.com/gdl-org/builds/releases

Snap

使用支持 Snapd_ 的 Linux 发行版的用户可以从 Snap Store 安装 gallery-dl

.. code:: bash

snap install gallery-dl

Chocolatey

安装了 Chocolatey_ 的 Windows 用户可以从 Chocolatey Community Packages 存储库安装 gallery-dl

.. code:: powershell

choco install gallery-dl

Scoop

gallery-dl 也可以通过 Scoop_ "main" bucket 为 Windows 用户使用:

.. code:: powershell

scoop install gallery-dl

Homebrew

对于使用 Homebrew 的 macOS 或 Linux 用户:

.. code:: bash

brew install gallery-dl

MacPorts

对于使用 MacPorts 的 macOS 用户:

.. code:: bash

sudo port install gallery-dl

Docker

使用仓库中的 Dockerfile:

.. code:: bash

git clone https://github.com/mikf/gallery-dl.git
cd gallery-dl/
docker build -t gallery-dl:latest .

Docker Hub <https://hub.docker.com/r/mikf123/gallery-dl>__ 拉取镜像:

.. code:: bash

docker pull mikf123/gallery-dl
docker tag mikf123/gallery-dl gallery-dl

GitHub Container Registry <https://github.com/mikf/gallery-dl/pkgs/container/gallery-dl>__ 拉取镜像:

.. code:: bash

docker pull ghcr.io/mikf/gallery-dl
docker tag ghcr.io/mikf/gallery-dl gallery-dl

要运行容器,您可能需要挂载主机上的一些目录,以便配置文件和下载内容可以在多次运行之间保持。

确保下载仓库中引用的示例配置文件并将其放置在挂载卷的位置,或在那里创建一个空文件。

如果您给容器一个不同的标签或使用 podman,请确保进行相应调整。运行 docker image ls 检查名称(如果不确定)。

这将在每次使用后删除容器,因此您始终有一个全新的环境来运行。如果您设置了 ci-cd 管道来自动构建容器,还可以添加 --pull=newer 标志,这样当您运行时,docker 会检查是否有更新的容器并在运行之前下载它。

.. code:: bash

docker run --rm  -v $HOME/Downloads/:/gallery-dl/ -v $HOME/.config/gallery-dl/gallery-dl.conf:/etc/gallery-dl.conf -it gallery-dl:latest

您还可以为 "gallery-dl" 添加一个别名到您的 shell 中,或创建一个简单的 bash 脚本并将其放在 $PATH 中的某个位置,作为此命令的包装器。

使用方法

要使用 gallery-dl,只需使用您希望下载图片的 URL 调用它:

.. code:: bash

gallery-dl [选项]... URL...

使用 :code:gallery-dl --help 或查看 <docs/options.md>__ 获取所有命令行选项的完整列表。

示例

下载图片;在本例中,通过标签搜索 'bonocho' 从 danbooru 下载:

.. code:: bash

gallery-dl "https://danbooru.donmai.us/posts?tags=bonocho"

从支持用户名和密码认证的网站获取图片的直接 URL:

.. code:: bash

gallery-dl -g -u "<用户名>" -p "<密码>" "https://twitter.com/i/web/status/604341487988576256"

按章节号和语言过滤漫画章节:

.. code:: bash

gallery-dl --chapter-filter "10 <= chapter < 20" -o "lang=fr" "https://mangadex.org/title/59793dd0-a2d8-41a2-9758-8197287a8539"

| 在远程资源中搜索 URL 并从中下载图片: | (找不到提取器的 URL 将被静默忽略)

.. code:: bash

gallery-dl "r:https://pastebin.com/raw/FLwrCYsT"

如果网站的地址对其提取器来说是非标准的,您可以在 URL 前加上提取器的名称,以强制使用特定的提取器:

.. code:: bash

gallery-dl "tumblr:https://sometumblrblog.example"

配置

gallery-dl 的配置文件使用基于 JSON 的文件格式。

文档

所有可用配置选项及其描述的列表 可以在 <https://gdl-org.github.io/docs/configuration.html>__ 找到。

| 有关默认配置文件(包含设置为默认值的可用选项), 请参见 <docs/gallery-dl.conf>__。

| 有关更多涉及设置和选项使用的注释示例, 请参见 <docs/gallery-dl-example.conf>__。

位置

gallery-dl 在以下位置搜索配置文件:

Windows: * %APPDATA%\gallery-dl\config.json * %USERPROFILE%\gallery-dl\config.json * %USERPROFILE%\gallery-dl.conf

(``%USERPROFILE%`` 通常指用户的主目录,
即 ``C:\Users\<用户名>\``)

Linux, macOS 等: * /etc/gallery-dl.conf * ${XDG_CONFIG_HOME}/gallery-dl/config.json * ${HOME}/.config/gallery-dl/config.json * ${HOME}/.gallery-dl.conf

当作为可执行文件<独立可执行文件_>__运行时, gallery-dl 还会在与该可执行文件相同的目录中查找 gallery-dl.conf 文件。

可以同时使用多个配置文件。 在这种情况下,第一个文件之后的任何值都将合并到已加载的设置中,并可能覆盖之前的值。

认证

用户名和密码

某些提取器要求您提供有效的登录凭据,即用户名和密码对。这对于 nijie 是必需的,对于 aryion, danbooru, e621, exhentai, idolcomplex, imgbb, inkbunny, mangadex, mangoxo, pillowfort, sankaku, subscribestar, tapas, tsumino, twitter, 和 zerochan 是可选的。

您可以在配置文件<配置_>__中设置必要的信息

.. code:: json

{
    "extractor": {
        "twitter": {
            "username": "<用户名>",
            "password": "<密码>"
        }
    }
}

或者您可以直接通过 :code:-u/--username 和 :code:-p/--password 或 :code:-o/--option 命令行选项提供它们

.. code:: bash

gallery-dl -u "<用户名>" -p "<密码>" "URL"
gallery-dl -o "username=<用户名>" -o "password=<密码>" "URL"

Cookies

对于由于 CAPTCHA 或类似原因而无法使用用户名和密码登录,或尚未实现登录功能的网站,您可以使用浏览器登录会话的 cookies 并将其输入到 gallery-dl 中。 这可以通过在配置文件中使用 cookies <https://gdl-org.github.io/docs/configuration.html#extractor-cookies>__ 选项来实现,具体方法如下:

  • 指定由浏览器插件导出的 Mozilla/Netscape 格式的 cookies.txt 文件路径 (例如 Chrome 浏览器的 Get cookies.txt LOCALLY <https://chrome.google.com/webstore/detail/get-cookiestxt-locally/cclelndahbckbenkjhflpdbgdldlbecc>, Firefox 浏览器的 Export Cookies <https://addons.mozilla.org/en-US/firefox/addon/export-cookies-txt/>)

  • 从浏览器的开发者工具中收集的名称-值对列表 (在 Chrome <https://developers.google.com/web/tools/chrome-devtools/storage/cookies>__ 中, 在 Firefox <https://developer.mozilla.org/en-US/docs/Tools/Storage_Inspector>__ 中)

  • 指定要提取 cookies 的浏览器名称 (支持基于 Chromium 的浏览器、Firefox 和 Safari)

例如:

.. code:: json

{
    "extractor": {
        "instagram": {
            "cookies": "$HOME/path/to/cookies.txt"
        },
        "patreon": {
            "cookies": {
                "session_id": "K1T57EKu19TR49C51CDjOJoXNQLF7VbdVOiBrC9ye0a"
            }
        },
        "twitter": {
            "cookies": ["firefox"]
        }
    }
}

你也可以使用 :code:--cookies 命令行选项指定 cookies.txt 文件, 或使用 :code:--cookies-from-browser 指定从哪个浏览器提取 cookies:

.. code:: bash

gallery-dl --cookies "$HOME/path/to/cookies.txt" "URL"
gallery-dl --cookies-from-browser firefox "URL"

OAuth

gallery-dl 支持某些提取器通过 OAuth_ 进行用户身份验证。 这对于 pixiv 是必需的, 对于 deviantartflickrredditsmugmugtumblrmastodon 实例是可选的。

将你的账户链接到 gallery-dl 授予它代表你的账户发出请求的能力, 使其能够访问公共用户无法获取的资源。

要进行链接,首先使用 oauth:<网站名称> 作为参数启动它。 例如:

.. code:: bash

gallery-dl oauth:flickr

你将被引导到网站的授权页面,并被要求授予 gallery-dl 读取权限。 授权后,你将看到一个或多个"令牌",应将其添加到你的配置文件中。

要与 mastodon 实例进行身份验证,请使用 oauth:mastodon:<实例> 作为参数运行 gallery-dl。 例如:

.. code:: bash

gallery-dl oauth:mastodon:pawoo.net
gallery-dl oauth:mastodon:https://mastodon.social/

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多