如何使用Bash获取RSS提要的标题?假设我想从MacRumors获取最新的文章。他们的RSS提要链接是http://feeds.macrumors.com/MacRumors-All。如何使用Bash获取最近的文章标题?
http://feeds.macrumors.com/MacRumors-All
ctzwtxfj1#
xmllint的替代品是xmlstarlet,因此:
curl -s http://feeds.macrumors.com/MacRumors-All | xmlstarlet sel -t -m "/rss/channel/item[1]" -v "title"
使用xmlstarletsel命令选择我们要查找的XPath,然后使用-v显示特定的元素。
isr3a4wc2#
您可以合并curl和XPath表达式(这里使用xmllint),并依赖于提要是按时间倒序排列的事实:
curl
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建议的技术:
--xpath
echo 'cat /rss/channel/item[1]/title/text()' | xmllint --shell <(curl http://feeds.macrumors.com/MacRumors-All)
2条答案
按热度按时间ctzwtxfj1#
xmllint的替代品是xmlstarlet,因此:
使用xmlstarletsel命令选择我们要查找的XPath,然后使用-v显示特定的元素。
isr3a4wc2#
您可以合并
curl
和XPath表达式(这里使用xmllint
),并依赖于提要是按时间倒序排列的事实:请参阅How to execute XPath one-liners from shell?了解其他计算XPath的方法。
特别是,如果你有一个没有
--xpath
的旧xmllint
,你可以使用this wrapper建议的技术: