macOSのcliコマンドで、rssドキュメントのxmlファイルをパースしてタイトルだけ取得する方法です。
コマンド
下記の例は、YahooニュースからITカテゴリのRSS(https://news.yahoo.co.jp/rss/topics/it.xml)を取得して、タイトルの一覧を取得する方法です。
curl -s "https://news.yahoo.co.jp/rss/topics/it.xml" | \
xmllint --xpath '//channel/item/title' - | \
recode html..utf-8
xmllintはmacOSにデフォルトでインストールされています。
--xpath '//channel/item/title'
で文字通りxpathを指定し、後続の-
で標準入力からxmlを取得します。
これで完了なのですが、macOS版のxmllintは日本語の文字をhtmlエンティティの形式(&#xXXXX)で返してくるので、これをrecodeで変換しています。
recodeはnkfやiconvと似たコマンドで、brewでインストールできます。
brew install recode
パラメータにhtml..utf-8
を指定して、html entity形式の文字列をutf-8文字列に変換します。
こちらもおススメ