shell 使用bash获取RSS提要的标题

wqnecbli  于 2023-06-06  发布在  Shell
关注(0)|答案(2)|浏览(558)

如何使用Bash获取RSS提要的标题?假设我想从MacRumors获取最新的文章。他们的RSS提要链接是http://feeds.macrumors.com/MacRumors-All。如何使用Bash获取最近的文章标题?

ctzwtxfj

ctzwtxfj1#

xmllint的替代品是xmlstarlet,因此:

curl -s http://feeds.macrumors.com/MacRumors-All |  xmlstarlet sel -t -m "/rss/channel/item[1]" -v "title"

使用xmlstarletsel命令选择我们要查找的XPath,然后使用-v显示特定的元素。

isr3a4wc

isr3a4wc2#

您可以合并curl和XPath表达式(这里使用xmllint),并依赖于提要是按时间倒序排列的事实:

curl http://feeds.macrumors.com/MacRumors-All | xmllint --xpath '/rss/channel/item[1]/title/text()' -

请参阅How to execute XPath one-liners from shell?了解其他计算XPath的方法。
特别是,如果你有一个没有--xpath的旧xmllint,你可以使用this wrapper建议的技术:

echo 'cat /rss/channel/item[1]/title/text()' | xmllint --shell <(curl http://feeds.macrumors.com/MacRumors-All)

相关问题