ゲームエンジニアの雑記ブログ

ゲームエンジニアの雑記ブログ。テーマ自由、技術について解説します

SeleniumとPhantomJS連携のブラウザ経由スクレイピングする前のdocker環境構築

SeleniumとPhantomJS連携のブラウザ経由スクレイピングする前のdocker環境構築

こんにちは、エンジニアのオオバです。

[前回記事]からの続きです。

最低限の機械学習の知識を手に入れるため勉強中。

→11万文字で徹底解説した「DOTweenの教科書」Unityアニメーションの超効率化ツールはこちら

環境構築

  1. Dockerインストール
  2. DockerにUbuntuイメージをインストール
  3. Ubuntuを実行してログイン
  4. Ubuntuに各種ソフトウェアのインストール

1. Dockerインストール

brew install docker  
brew cask install docker  

※caskが未インストールの場合はbrew install caskroom/cask/brew-caskを実行
参考 : Docker環境をHomebrewで手軽に作成 - Qiita

2. DockerにUbuntuイメージをインストール

以下のコマンドでDockerにUbuntuイメージをインストールしようとすると...

docker pull ubuntu:16.04  

このようなエラーが発生します。

Warning: failed to get default registry endpoint from daemon (Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?). Using system default: https://index.docker.io/v1/  
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?  

まずはApplication/Docker.appを実行し、/var/run/docker.sockを生成する必要があるようです(自動生成)。

SeleniumとPhantomJS連携のブラウザ経由スクレイピングする前のdocker環境構築_0

Nextクリック。

SeleniumとPhantomJS連携のブラウザ経由スクレイピングする前のdocker環境構築_1

OKをクリックするとID/Passが求められます。

再度以下のコマンドを実行してUbuntuイメージをインストールします。

docker pull ubuntu:16.04  
Status: Downloaded newer image for ubuntu:16.04  

このようなログが出力されインストールは成功したようです。

3. Ubuntuを実行してログイン

docker run -it ubuntu:16.04  

Vagrantでいうところのvagrant sshみたいなものでしょうか。

4. Ubuntuに各種ソフトウェアのインストール

内容については基本以下のコマンドを読んで確認してください。

<GoogleAdsense type='1' />

## python3とpip3のインストール
apt-get update  
apt-get install -y python3 python3-pip  

## Seleniumのインストール
pip3 install selenium  

## BeautifulSoupのインストール
pip3 install beautifulsoup4  


#PhantomJSに必要なライブラリインストール
apt-get install -y wget libfontconfig  

<GoogleAdsense type='1' />

## PhantomJSのバイナリをBitbucketからダウンロード
wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2  

## jxvfオプションはとにかく書庫を解凍させる
tar jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2  

cd phantomjs-2.1.1-linux-x86_64/bin  
cp phantomjs /usr/local/bin/  

tarコマンドののオプションについてはコチラを参考
tarのオプションをまとめる - Qiita

5. 日本語フォント対応

apt-get install -y fonts-migmix  

6. Dockerのイメージを保存

docker ps -a  
docker commit 直近のコンテナID ubunts-phantomjs  

一旦環境構築はここまででです。

オススメ記事
検証環境
  • macOS 10.12.6
  • Python3.5.2
  • pip3 8.1.1
  • BeautifulSoup 4.6.0
  • docker 17.09.0-ce
  • Ubuntu 16.04