我想在我的 ReadyNas 上解析 rss 提要并下载播客,无论如何它都在 24/7 运行。
所以我正在考虑让一个 shell 脚本定期检查提要并生成 wget 来下载文件。
进行解析的最佳方法是什么?
谢谢!
我想在我的 ReadyNas 上解析 rss 提要并下载播客,无论如何它都在 24/7 运行。
所以我正在考虑让一个 shell 脚本定期检查提要并生成 wget 来下载文件。
进行解析的最佳方法是什么?
谢谢!
有时,一个带有 shell 标准命令的简单单行就足够了:
wget -q -O- "http://www.rss-specifications.com/rss-podcast.xml" | grep -o '<enclosure url="[^"]*' | grep -o '[^"]*$' | xargs wget -c
当然,这并不适用于所有情况,但通常已经足够好了。
你可以访问awk吗?也许你可以使用XMLGawk
我在这里和那里读到了关于XMLStartlet
但是有可用的 ReadyNas NV+ 端口吗?
我编写了以下用于从 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类似。
您可以使用libxml2中的 xsltproc并编写一个简单的 xsl 样式表来解析 rss 并输出链接列表。