curl+pup+Dockerを使ってシェルスクリプトでスクレイピング
はじめに
コマンドラインあるいはシェルスクリプトでスクレイピングするときに pup
というツールを使っていましたが、1から環境構築する場合を考え Docker を利用する方法を整理してみました。
検証環境
前提
以下のツールがインストールされていること
早速試してみる
ちょうど良さそうなサイトを探したところ、以下のサイトを見つけました。
表示されているイメージを収集してみます。
まずはページのHTMLを取得してみます。
これを pup
ツールに食わせてパースしたいのですが、今回はローカルPCに pup
をインストールせず、 pup
インストール済みの Docker
イメージを利用してみます。
( ※初回はDockerイメージを取得するため遅いです。 )
もし pup
がインストールされている場合は、以下のコマンドと同義です。
pup
は引数で抽出するDOM要素を指定できます。
今回はHTML内の以下の要素を取り出そうとしています。
attr{src}
で要素の src
属性が抽出できます。
最後に相対パスを絶対パスに変換します。
ひとこと
~/.bashrc
に以下の設定を加えれば、 pup
がローカルPCにインストールされているかのように使うことができます。
ディスカッション
コメント一覧
まだ、コメントがありません