使用shell脚本阅读RSS提要

时间:2011-12-26 00:07:32

标签: bash unix rss feed podcast

修改:已翻译

我有一个我要解析的RSS-feed。这是一个播客,我只想用MP3-urls下载wget。

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

标题应包含(de)以获得德国剧集。 发布日期应该是今天。

如果有人可以帮助我会很棒 - 我走到这一步:

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

但它不起作用。

提前致谢, arneb3rt

1 个答案:

答案 0 :(得分:2)

您需要从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

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