🌐

【さくらレンタルサーバー】Pythonのseleniumで定期実行する

2022/07/29に公開

さくらレンタルサーバーでPythonのプログラムを定期実行することが可能です。
本記事ではさくらレンタルサーバーにPythonプログラムをデプロイ、定期実行までの設定を行う方法を解説します。

コマンドプロンプトでさくらサーバーにログイン

下記コマンドを実行

ssh [ユーザー名]@[IPアドレス]

パスワードの入力が求められるのでパスワードを入力

Python3.6.8をインストール

インストール

sudo yum install -y bzip2-devel
sudo yum install zlib-devel
sudo yum install epel-release
sudo yum install openssl11 openssl11-devel

Pythonのアーカイブファイルをダウンロード

ダウンロード用のフォルダ作成

mkdir -p ~/workspace/python3

カレントディレクトリを変更

cd ~/workspace/python3

Pythonのアーカイブファイルをダウンロード

wget --no-check-certificate https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz

tgzファイルを解凍する

tar -zxvf ./Python-3.6.8.tgz

Python3.6.8をインストール

cd ./Python-3.6.8
./configure CPPFLAGS="-I/usr/local/ssl/include" LDFLAGS="-L/usr/local/ssl/lib" --prefix=$HOME/local/python
make
make install

.cshrcを編集してパスを通す

vi ~/.cshrc

編集するときは「i」、書き込み終了時は「escボタン」、編集終了時は「:wq」を入力

# 以下を追加
set path = ($path $HOME/local/python/bin)
setenv PYTHON $HOME/local/python/lib
setenv PYTHONPATH $HOME/local/python/lib/python3.6/site-packages
setenv LD_LIBRARY_PATH $HOME/local/python/lib
setenv CPPLAGS -I$(HOME)/opt/openssl/include
setenv LDFLAGS -L$(HOME)/opt/openssl/lib

bashからtcshに変更

setenvやrehashコマンドを使用するためにはtcshもしくはcshでなければ使用できないため以下のコマンドで変更する

tcsh

変更した設定を反映

source ~/.cshrc
rehash

バージョンを確認

環境変数PATHの設定が反映されていること、Pythonのバージョンを確認

which python3
which pip
python3 --version

pip3インストール

curl https://bootstrap.pypa.io/pip/3.6/get-pip.py -o get-pip.py
python3 get-pip.py --force-reinstall

作業用ディレクトリを削除

rm -r ~/workspace

ライブラリのインストール

個人的によく使用しているライブラリをインストールしています。

pip3 install selenium==3.141.0
pip3 install pandas
pip3 install tweepy
pip3 install beautifulsoup4
pip3 install oauth2client
pip3 install gspread
pip3 install pytz
pip3 install Pillow

Google Chromeのインストール

google-chrome.repoを作成

sudo vim /etc/yum.repos.d/google-chrome.repo

編集するときは「i」、書き込み終了時は「escボタン」、編集終了時は「:wq」を入力

[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

Google Chromeインストール

sudo yum -y install google-chrome-stable libOSMesa

インストールしたChromeのバージョン確認

google-chrome --version

chromedriverのインストール

必要なパッケージのインストール

sudo yum -y install libX11 GConf2 fontconfig

chromedriverのインストール

添付URLからGoogle Chromeのバージョンと一致するchromedriverのURL取得(Linux)
https://sites.google.com/chromium.org/driver/

下記コマンドを実行してchromedriverをインストール(URLは上記で取得したURLに変更)

wget https://chromedriver.storage.googleapis.com/93.0.4577.63/chromedriver_linux64.zip

圧縮ファイルを解凍

unzip chromedriver_linux64.zip

chromedriverの使用権限を付与

sudo mv chromedriver /usr/local/bin/
chmod 755 /usr/local/bin/chromedriver

Python側でのchromedriverの宣言コード

options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('window-size=1440,990')
driver = webdriver.Chrome(chrome_options=options)

さくらサーバーへファイルをデプロイ

下記コマンドを実行

scp [Pythonファイルのパス] [ユーザー名]@[IPアドレス]:/home/[ユーザー名]/

パスワードの入力が求められるのでパスワードを入力

定期実行設定

cron設定のvimを開く

crontab -e

3日に1回実行するように設定

* * */3 * * python3 [Pythonファイルパス]

これで設定した間隔でPythonのプログラムが動作するようになりました。

以上でさくらレンタルサーバーへのPythonプログラムのデプロイは完了です。

良かったら他の記事も見てください。

Discussion