我想解析rss feed并在我的ReadyNas上下载podcasts,无论如何都要全天候运行。
所以我正在考虑让shell脚本定期检查提要并生成wget来下载文件。
进行解析的最佳方法是什么?
谢谢!
答案 0 :(得分:21)
有时,带有shell标准命令的简单单行程序就足够了:
wget -q -O- "http://www.rss-specifications.com/rss-podcast.xml" | grep -o '<enclosure url="[^"]*' | grep -o '[^"]*$' | xargs wget -c
当然这并不适用于所有情况,但它通常都足够好。
答案 1 :(得分:2)
你有权访问awk吗?也许你可以使用XMLGawk
答案 2 :(得分:1)
我了解了XMLStartlet here和there
但ReadyNas NV +是否有可用的端口?
答案 3 :(得分:1)
我编写了以下用于从Amazon S3下载XML的简单脚本,因此它可用于解析不同类型的XML文件:
#!/bin/bash
#
# Download all files from the Amazon feed
#
# Usage:
# ./dl_amazon_feed_files.sh http://example.s3.amazonaws.com/
# Note: Don't forget about slash at the end
#
wget -qO- "$1" | grep -o '<Key>[^<]*' | grep -o "[^>]*$" | xargs -I% -L1 wget -c "$1%"
这与@leo answer类似。
答案 4 :(得分:0)
您可以使用libxml2中的xsltproc编写一个简单的xsl样式表来解析rs并输出链接列表。