跳转到主要内容

归档您喜欢的播客的所有剧集

项目描述

播客归档器

Podcast Archiver Logo

version python downloads

Docker Build Tests pre-commit.ci

Maintainability codecov

ruff poetry pre-commit

一个快速简单的命令行客户端,用于归档您喜欢的播客的所有剧集。

播客归档器会获取您喜欢的播客的feed URL,并为您下载所有可用的剧集——即使那些在分页feed中“隐藏”的剧集。您将获得您节目的完整归档。归档器还支持更新现有归档,因此它可以设置为cron作业。

安装

通过pipx安装

pipx install podcast-archiver

通过brew安装

brew install janw/tap/podcast-archiver

或者通过Docker使用

docker run --tty --rm ghcr.io/janw/podcast-archiver --help

默认情况下,docker镜像将剧集下载到挂载在/archive的卷中。

用法

运行podcast-archiver --help获取如何使用的详细信息

poetry run podcast-archiver --help

示例调用

podcast-archiver -d ~/Music/Podcasts \
    -f http://logbuch-netzpolitik.de/feed/m4a \
    -f http://raumzeit-podcast.de/feed/m4a/ \
    -f https://feeds.lagedernation.org/feeds/ldn-mp3.xml

这种方式,您可以轻松地向列表中添加和删除源,并通过将其添加到cron任务中让归档器抓取最新剧集,例如。

源也可以从本地文件中“抓取”。

podcast-archiver -f file:/Users/janw/downloaded_feed.xml

更改文件名格式

Podcast Archiver有一个--filename-template选项,允许您更改归档的特定命名方案。默认值--filename-templatepodcast-archiver --help中显示,以及所有可用变量。基本的有

  • 剧集:episode.titleepisode.subtitleepisode.authorepisode.published_timeepisode.original_filename
  • 播客:show.titleshow.subtitleshow.authorshow.language

注意,episode.published_time是Python原生datetime,因此其确切格式可以根据{episode.published_time:%Y-%m-%d %H%M%S}进一步调整,使用strftime占位符。默认使用%Y-%m-%d(例如2024-12-31)。

示例

  • 更精确的发布时间

    {show.title}/{episode.published_time:%Y-%m-%d %H%M%S %Z} - {episode.title}.{ext}
    

    结果为…/That Show/2023-03-12 123456 UTC - Some Episode.mp3

  • 使用原始文件名(大致等同于预1.0的--subdirs

    {show.title}/{episode.original_filename}
    

    结果为…/That Show/ts001-episodefilename.mp3

  • 使用原始文件名(大致等同于预1.0的--subdirs + --date-prefix

    {show.title}/{episode.published_time} {episode.original_filename}
    

    结果为…/That Show/2023-03-12 ts001-episodefilename.mp3

使用配置文件

可以将命令行参数替换为YAML配置文件中的条目。可以使用以下命令生成示例配置

podcast-archiver --config-generate > config.yaml

修改设置以符合您的喜好后,可以运行podcast-archiver

podcast-archiver --config config.yaml

或者(例如,如果您正在Docker中运行podcast-archiver),您可以使用环境变量PODCAST_ARCHIVER_CONFIG=path/to/config.yaml将其指向配置文件。

使用环境变量

Podcast Archiver的一些设置也作为环境变量提供。检查podcast-archiver --help以查看旁边有env var: …的选项。

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。

源分布

podcast_archiver-1.6.0.tar.gz (18.7 kB 查看哈希值)

上传时间

构建分布

podcast_archiver-1.6.0-py3-none-any.whl (21.6 kB 查看哈希值)

上传时间 Python 3

支持