mac cliでrssのxmlをパースする

カテゴリ: 未分類

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文字列に変換します。


Amazonでおトクに買い物する方法
AmazonチャージでポイントGET


Amazonは買いもの前にAmazonギフト券をチャージしてポイントをゲットしないと損!

こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です