コマンドラインでHTMLパーサするために pup を入れる(導入)
pup は、HTMLをCSSセレクタで解析できる軽量なコマンドラインツールです。
WebスクレイピングやHTMLの一部抽出を簡単に行いたいときに非常に便利です。
この記事では、Homebrew を使って pup をインストールし、Macで実際に使えるようにするまでの手順を紹介します。
環境は macOS + zsh(Oh My Zsh 使用)です。
インストール方法
公式Formulaページはこちら:
https://formulae.brew.sh/formula/pup
インストールは Homebrew で一発です。
1
brew install pup
入れましたが動きませんでした。
1
2
3
❯ pup --version
Password:
sudo: port: command not found
alias がすでに貼られていて動かなかった
私は Oh-my-zsh を使っているのですが、何か別の alias が貼られていました。
1
2
❯ which pup
pup: aliased to psu && puo
MacPorts用のコマンド?のようですが、Homebrew を使っていて MacPorts は不要ですので、この alias は不要です。
MacPorts を使っている方は \pup でバックスラッシュをつければネイティブのコマンドを叩けるのでそちらで対応するのが良いかと思います。
pupのaliasを unalias で解除します。
1
unalias pup
再度確認すると、正しい実行ファイルが参照されていることが分かります。
1
2
❯ which pup
/opt/homebrew/bin/pup
動作確認
例として、example.com の
1
2
3
4
5
❯ curl -s https://example.com | pup 'title text{}'
Example Domain
❯ curl -s https://example.com | pup 'a attr{href}'
https://www.iana.org/domains/example
問題なく HTML をパースできています。
This post is licensed under
CC BY 4.0
by the author.