归档您喜欢的播客的所有剧集
项目描述
播客归档器
一个快速简单的命令行客户端,用于归档您喜欢的播客的所有剧集。
播客归档器会获取您喜欢的播客的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
获取如何使用的详细信息
示例调用
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-template
在podcast-archiver --help
中显示,以及所有可用变量。基本的有
- 剧集:
episode.title
、episode.subtitle
、episode.author
、episode.published_time
、episode.original_filename
- 播客:
show.title
、show.subtitle
、show.author
、show.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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 90bcdbc6848180b36e7132a1750da922a7f27c8a8a94be68a5571a60d00a0578 |
|
MD5 | 4813c9f80a10a2587aabe2e1e37190c9 |
|
BLAKE2b-256 | d11068a11303e63a619ef05cffb8ba53205f37d8788ee481aa32ed8ddfe10aaf |