今回はseleniumWebdriverとPythonを使って、WEBスクレイピング(ブラウザの自動操作)をする方法を紹介します。この記事はSeleniumを使いこなせるように、第2回まで連載します。

以下の順序で解説をする予定です。
【1】Selenium Pythonでスクレイピング(環境構築)
【2】Selenium Pythonでスクレイピング(コードを書く)

環境

今回、本記事で使用する環境は以下のとおりです。

  • CentOS7
  • GoogleChrome
  • SeleniumWebdriver
  • python3.6

Seleniumの準備

gitをインストール

$ sudo yum install -y git

pyenvをインストール(pyenvとはpythonのバージョンを簡単に切り替えてくれるもの)

$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv

~/.bash_profileに記述

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

~/.bash_profileの読み込み

$ source ~/.bash_profile

pyenvのバージョン確認

$ pyenv -v
pyenv 1.2.9-16-g9baa6ef

Pythonに必要なパッケージをインストール

$ sudo yum install -y zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel gcc

pythonをインストール

$ pyenv install 3.6.6
Downloading Python-3.6.6.tar.xz...
-> https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tar.xz
Installing Python-3.6.6...
Installed Python-3.6.6 to /home/user/.pyenv/versions/3.6.6

pythonのバージョン切り替え

$ pyenv global 3.6.6

pythonのバージョンを確認

$ python --version
Python 3.6.6

chromeのインストール

$ sudo vi /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
$ sudo yum update
$ sudo yum -y install google-chrome-stable

pipのインストール

$ pip install --upgrade pip

seleniumのインストール

$ pip install selenium

chromedriverのインストール

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

zipファイルの解凍

$ unzip geckodriver-v0.18.0-linux64.tar.gz

pathが通っている場所にchromedriverを置く

$ sudo mv chromedriver /usr/local/bin

pythonを実行するディレクトリを作成して移動する

$ sudo mkdir -m a+x /var/sele && cd /var/sele

pyhonを実行するファイルを作成する

$ sudo vi test.py
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument('--headless')
options.add_argument('--disable-gpu')

driver = webdriver.Chrome(chrome_options=options)
driver.get('https://www.google.co.jp/')
print(driver.title)

実行すると端末上に「Google」の文字が出力されます。

$ python test.py
Google

これでGoogleのトップページにアクセスをして、サイトタイトルを取得したことを確認出来ました。次の連載第2弾では、pythonでもう少し長いコードを書いてブラウザを動かしてみます。