#podcast #rss #fetches

nightly bin+lib podchamp

抓取您的播客

6 个版本 (3 个重大更改)

0.5.1 2022 年 1 月 11 日
0.5.0 2022 年 1 月 11 日
0.4.0 2021 年 4 月 29 日
0.3.0 2021 年 1 月 6 日
0.1.0 2020 年 10 月 28 日

#2320 in 命令行工具

MIT 许可证

28KB
592

Podchamp

是什么

一个用于抓取播客的无装饰工具。

开发中,但我已经连续六个月一直在使用它,没有出现任何重大问题。

为什么

我发现很少有几个播客工具不是要么非常臃肿(我不想我的下载器也是一个半吊子的媒体播放器),要么是尚可但脆弱的(shell 脚本;试图理解那些彻底损坏的源),或者不够灵活(坚持自己执行下载;想要知道文件名模式和目录)。

我已经使用了多年的 greg,但这个项目已经基本上死了,我不喜欢它的某些设计选择,所以这是一个替代品。

这是为我准备的。这个工具不会有播放或标记等额外功能;不要 @ 我。

如何

Podchamp 在一个小型数据库中记录了源和之前下载的剧集。当检查新剧集时,podchamp 会下载源 xml,解析它,并为它之前未下载的任何剧集启动下载。

您可以添加源如下

$ podchamp add mbmbam 'https://feeds.simplecast.com/wjQvYtdl'

然后按照这种方式抓取新剧集

$ podchamp fetch
Fetching mbmbam

如果有 MBMBaM 的新剧集,podchamp 会使用下载链接作为参数启动 PODCHAMP_DOWNLOADER。默认情况下这只是 wget,这不是非常有用;它旨在您编写自己的脚本来执行您认为合适的操作。例如,这是我的简化版

#!/usr/bin/fish
set dir "$HOME/podcasts/$PODCHAMP_FEED"
mkdir -p "$dir"
cd "$dir"
wget -q "$PODCAST_URI" -O - | \
    nice ffmpeg -y \
    -i pipe:0 -c:a libopus -b:a 64k \
    -metadata title="$PODCHAMP_DATE - $PODCHAMP_TITLE" \
    -metadata artist="$PODCHAMP_FEED" \
    "$PODCHAMP_DATE - $PODCHAMP_TITLE.opus"

通常,当您添加一个新的源时,它有一个 历史记录 为 1。这意味着第一次抓取时,它只会下载最新的剧集,以及随后的任何新剧集。如果您想下载更多,可以设置更大的历史记录

$ podchamp add -n 10 streetfight 'http://feeds.feedburner.com/streetfightradio'

或者,如果您已经添加了它(或重置了源),您可以更改历史记录

$ podchamp mod streetfight backlog 10

这将使您第一次抓取时下载 10 个最新剧集,以及随后的任何比这些中最老剧集更新的剧集。

目前尚无下载特定剧集的方法,但我会最终实现它。

如果您决定不喜欢某个播客,并希望 podchamp 停止抓取它,您可以删除其源

# to hell with bean dad
$ podchamp rm roderickontheline

如果您想重新下载播客的以前 episodes(例如,您丢失了文件,或者想重新编码),您可以重置源。

$ podchamp reset guaranteedaudio

当我对它满意时,这将被视为完成(即 1.0)。

在哪里

在 Linux 上,绝对是。在 Windows 或其他平台上,可能如此,但您自己负责;请不要寻求支持。

待办事项

  • 配置文件 - 相当简单,可能。
  • 更多元数据 - 只有一些源和剧集元数据可供下载脚本使用,并且可以轻松导出更多。
  • 测试 - 当然。
  • 更好的文档 - 上述内容不完整;我需要解释环境变量、命令行选项以及 fetch-since 日期。

可能

  • 自我下载 - 这可以轻松添加,但真的超出了范围。
  • 更健壮的排序和剧集跟踪 - 目前,Podchamp 忽略了任何没有 pubDateguid 的源项目;这可能在无需额外工作的前提下得到改善。
  • 列在文本文件中的源 - 每次想到这个,它似乎本质上是脆弱且易出错的;一个“导入”功能可能很有用。

不是

  • 回放 - 这是媒体播放器的用途。
  • 标记 - 一个绝对复杂的泥潭;可以通过现有工具更可靠地完成。
  • 支持损坏的源 - 我们可能不得不面对 RSS 的灾难,但我对让 Podchamp 尝试解决完全损坏的源没有兴趣。

从哪里来

Rachel Knight.

去哪里

这里的所有代码都是 MIT 许可的。

依赖关系

~38–54MB
~1M SLoC