3

编辑:翻译

我有一个要解析的 RSS 提要。这是一个播客,我只想要 MP3-url 来使用 wget 下载它们。

这是播客:http: //feeds.feedburner.com/Film-UndKino-trailerVideopodcast

标题应包含一个(de)以获取德语剧集。发布日期应该是今天。

如果有人可以帮助我,那就太好了——我走了这么远:

wget -q -O-view-source:http://feeds.feedburner.com/Film-UndKino-trailerVideopodcast?format=xml| awk '开始{RS=""}
/(日期 +'%d %M %Y')/{
gsub(/.*|.*/,"")
打印
}

但它不起作用。

在此先感谢,arneb3rt

4

1 回答 1

3

您需要从 wget 命令中删除“view-source:”并在 awk 命令之外执行 date 命令(使用 %b 打印缩写月份而不是 %M)。以下 bash 脚本使用 grep 而不是 awk 来生成 wget 可以获取播客的 URL。

请注意,可能是由于假期,自 2011 年 12 月 24 日以来,提要中没有播客,因此我硬编码了最后一个播客的日期以进行测试:

url='http://feeds.feedburner.com/Film-UndKino-trailerVideopodcast?format=xml'
d=$(date +'%d %b %Y')
d="24 Dec 2011"
echo "Checking podcasts for date: ${d}"
wget -q -O- ${url} |\
 grep -A6 "(de)" |\
 grep -A1 "${d}" |\
 egrep -o 'http[^ ]*de.mp4' |\
 sort | uniq

上述 bash 脚本的输出列出了两个 URL(一个 feedburner 和另一个 iTunes):

Checking podcasts for date: 24 Dec 2011
http://feedproxy.google.com/~r/Film-UndKino-trailerVideopodcast/~5/pzeSvkVK-3A/trailer01_de.mp4
http://www.moviemaze-trailer.de/ipod/6841/trailer01_de.mp4

因此,您可以从上述任一 URL 获取 2011 年 12 月 24 日的播客。

于 2011-12-29T08:18:39.303 回答