MAGAZINE
ルーターマガジン
chrome ヘッドレスの環境構築(CentOS編)
ここでは、chrome ヘッドレスの環境構築(Mac編)で説明しなかったCentOSでchrome ヘッドレスを動かす方法について説明したいと思います。
用意するもの
- CentOS
- [オプション]Ruby(2.3.4)
chrome ヘッドレスの起動設定(CentOS)
必要なライブラリをインストール
$ sudo yum install -y libX11 GConf2 fontconfig
設定ファイルの記述 /etc/yum.repos.dディレクトリに「google-chrome.repo」というファイルを作成し、以下の内容を記述する
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl.google.com/linux/linux_signing_key.pub
yumをアップデート
$ sudo yum update
chromeのインストール
$ yum install google-chrome-stable
chrome ヘッドレスの起動
ヘッドレス実行を試して見ましょう。
$ google-chrome --disable-setuid-sandbox --no-sandbox --headless --disable-gpu --dump-dom https://www.chromestatus.com/
ターミナル上にDOMツリーが表示されたら成功です。
Chrome ヘッドレスを用いたスクレイピング
ここからは、そのchrome ヘッドレスを使ってスクレイピングを行う方法を紹介します。
サンプルとして、Googleにログインしてユーザー名を取得するコードを紹介します。
chromedriverの設定
※chromedriverは更新されていくので、必要に応じてバージョン番号を変更してください(現在最新2.37) 最新バージョンの確認は以下のリンクにてできます。 https://sites.google.com/a/chromium.org/chromedriver/downloads
まずはchromedriverをダウンロード
#chromedriverを取得する $ wget https://chromedriver.storage.googleapis.com/2.37/chromedriver_linux64.zip $ unzip chromedriver_linux64.zip $ sudo mv chromedriver /usr/local/bin/ $ sudo chown root:root /usr/local/bin/chromedriver
実行できるか確認
$ chromedriver -v ChromeDriver 2.37.544337 (8c0344a12e552148c185f7d5117db1f28d6c9e85)
このようにバージョンの表記が出たらchromedriverの設定は完了です。
※以降は、「chrome ヘッドレスの環境構築(Mac編)」と同様です。
まとめ
今回はCentOS環境でのchrome ヘッドレスを用いたスクレイピング手法についてまとめました。普通のRubyを用いたスクレイピングとは違い、外部のプログラム(google chrome)を呼び出すプログラムなので、rubyのコードが合っていても呼び出しに失敗している場合などもあるので、ソースコードだけでなく環境変数等も確認するようにしましょう。 これから、クローラーを用いたクローリングや、ブラウザを用いたテストの自動化(RPA)を考えている人にも参考にしていただけたら幸いです。
CONTACT
お問い合わせ・ご依頼はこちらから