Python Selenium 自動化

CentOS8のVPSサーバーでSelenium+ChromeDriverによるスクレイピング環境を構築する

この記事は約5分で読めます。

 

先日クラウドワークスの依頼でレンタルサーバー上でSeleniumを実行してスクレイピングを行いたいという依頼をうけ調査した結果をブログにまとめておこうと思います。

 

環境

サーバー さくらVPS

OS CentOS8

言語 Python3.6

webブラウザ GoogleChome

ツール Selenium

 

Google-chromeのインストール

 

$ sudo vi /etc/yum.repos.d/google-chrome.repo

 

/etc/yum.repos.d/google-chrome.repoに以下のように記述します

[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

 

中身を追記したら保存して更新コマンドを叩きます。するとchromeのインストールが開始されます

 

$ sudo yum update

 

これでyum installが通るようになるので、最新版のchromeをインストールします。

 

$ sudo yum install google-chrome-stable
# バージョンを確認
$ google-chrome --version

 

ChromeDriverのインストール

 

インストールしたChromeのバージョンに合わせるのがポイントです。
マイナーバージョンの違いでも動かなくなることがあるのでなるべく近しいバージョンを探しましょう。
リリースの情報はここで確認できます。
バージョン一覧はここから探せます。

 

$ wget https://chromedriver.storage.googleapis.com/96.0.4664.45/chromedriver_linux64.zip

 

# zip解凍コマンドが入っていない場合は最初に↓コマンドでインストールが必須
$ sudo yum -y install unzip

$ unzip chromedriver_linux64.zip
$ sudo mv chromedriver /usr/local/bin/
$ sudo chmod 755 /usr/local/bin/chromedriver
$ rm chromedriver_linux64.zip

 

Pythonのインストール

 

次はPythonをインストールします。ちなみにバージョンを指定したPythonのインストールコマンドはCentOS7と8で代わっているみたいなので注意してください。

 

# Pythonをインストールする
$ sudo dnf install python36

 

インストールが確認できているか以下のコマンドで確認してください

 

$ python3 --version
Python 3.X.X

$ pip3 --version

 

参考:https://genchan.net/it/programming/python/12436/

 

スポンサーリンク
スポンサーリンク

Seleniumのインストールと動作確認

 

次はpythonのライブラリのseleniumとchromedriverをインストールします。

 

# seleniumとchromedriverをインストールする
$ pip3 install selenium
$ pip3 install chromedriver_binary

 

サンプルコードの実行

 

これで最低限の環境は整ったのでサンプルコードを実行してみます。

from selenium import webdriver
import time
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
import chromedriver_binary

options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument("--no-sandbox")
driver = webdriver.Chrome(executable_path = '/usr/local/bin/chromedriver', options=options)
driver.get('https://www.google.co.jp/')
print(driver.page_source)

 

これでページのソースがprintで表示されていれば環境構築は完了です。

 

関連記事:【Python】VPSサーバーでSelenium+GoogleChromeのスクレイピング環境を構築した時に遭遇したエラーまとめ

 

参考:https://qiita.com/gano/items/f46adc5dff055baf3785

 

 

コメント

タイトルとURLをコピーしました