#背景
ある日、クローラが必要になった
調べてみると、なんとなくPython + Selenium が主流なのかな...
普段 Laravelを使っているし、PHPでなんとかしたいなぁ...
と、さらに調べたら、以下の組み合わせでいけそう
facebook/php-webdriver
+ chrome driver
一度Laravel duskも入れてみましたが、きっと似たような構成かと思われます。
今回はテスト用でもないので、facebook/php-webdriverのみ入れて使ってみました
今回は、その環境構築の手順メモです
#手順
##試した環境
CentOS 7.7
##1.Chromeのインストール
$ sudo yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
バージョン確認
$ google-chrome --version
Google Chrome 79.0.3945.130
できましたね
##2.ChromeDriverのインストール
Chromeをリモート操作するため、まずはChromeDriverを入手します。
▼ ChromeDriver - WebDriver for Chrome
https://sites.google.com/a/chromium.org/chromedriver/downloads
ChromeDriverはChromeのバージョンに合わせないとエラーが起きるようでした
今回は「Google Chrome 79」用に下記を取得です。
$ wget https://chromedriver.storage.googleapis.com/79.0.3945.36/chromedriver_linux64.zip
$ unzip chromedriver_linux64.zip
$ sudo mv chromedriver /usr/local/bin/
##3.php-webdriverのインストール
▼php-webdriver
https://github.com/php-webdriver/php-webdriver
これは普通にcomposerでプロジェクトに追加です
composer require php-webdriver/webdriver
とりあえず、準備は以上であります
##補足
上記でスクリーンショット撮影のサンプルを作ったら、取得したキャプチャの日本語が文字化けしていたので、フォントを追加
sudo yum -y install ipa-gothic-fonts ipa-mincho-fonts ipa-pgothic-fonts ipa-pmincho-fonts
fc-cache -fv
文字化けというか、フォントがなければ、それはそうですね・・・