Rasberry Pi 4でcron を用いてSeleniumを実行する

データサイエンティスト

Rasberry Pi4を用いてPythonのウェブスクレイピングを定期的に行いたかったので、Rasberry Pi4のcronでpython fileを実行 するための手順を備忘録として以下に示します。

Rasberry Piのcronでpython fileを実行

まずはcronによりpythonを実行して’hello cron’と表示させるようにします。

なおRaspberry PiでPythonを使用するには「Thonny Python IDE」を使用します。

Thonny Python IDE

Pythonについては以下の記事で広く学習方法などをまとめているので興味がある人は参照してみてください。

機械学習を理解するために Pythonを独学で学ぶ
この記事では、プログラミング初心者が人工知能を学ぶために、まず「 Pythonを独学で学ぶ 」ことを目的とした記事です。 はじめは「Pythonって何? 蛇?」というレベルでしたが、人工知能を学ぶ上でどのようにしてこの「Python」...

「Thonny Python IDE」が起動したらpythonのコードを以下のように記述し’hello-cron.py’と名前をつけて「デスクトップ」に保存します。

ラズパイの画面左上側に表示されている、LXLXTerminalをクリックしターミナルを起動し、cronを実行するためにターミナルに「crontab -e」と入力しEnterで設定を行います。するとvim/viが立ち上がるので以下のコマンドの通り操作を行います。

crontab -eで入力するコマンドは以下の通りで、「毎分’hello-cron.py’を実行する」というコマンドです。またこのpythonファイルでは「print()」を実行させますが、この結果はターミナル上で「’mail’」コマンドを実行しないと見れないので、実行コマンドの後ろに

‘>> /Users/mark/Desktop/cron_error.txt 2>&1’

と入力します。このように記載することでデスクトップに「cron_error.txt」というlog fileを作成することができます。

またcronでfileを実行する際にはPATHを適切に設定しないと正常に動作しないことがあるため、以下の複数のPATHを設定することでcronの実行をターミナルでの実行環境と同じとすることができます。

また日本語を含むファイルの文字化けを防ぐためのコードも追記し、PATHとcrontabの実行コードを以下のように記載します。

PATH設定に関する試行錯誤はこちらの記事をご参照ください。

実行が成功するとデスクトップに「cron_error.txt」というファイルが作成されているのでそちらを確認すると、python fileが実行されて「’hello cron’」と出力されていることを確認できます。

cronによるselenium立ち上げの確認 selenium_open.py

Selenium, Chromium-Chromedriverのインストール

ターミナルから以下のコマンドを入力してインストールを行います。

Chromedriverはこちらからダウンロードします。

 

インストールが終わったら以下のコードを打ち込んでSeleniumからWebブラウザ(今回はChromeをシークレットモード)が立ち上がることを確認します。

これを実行して無事にブラウザが立ち上がり数秒後に閉じれば成功です。

なお私の場合上記ファイルを実行した際に以下のエラー文が表示されてしまいました。このエラーを回避するために6行目のコメントアウトを外して「option.add_argument(‘–headless’) # ヘッドレスモード(画面表示させない)設定」を有効としてください。そうすると、webdriverが立ち上がっても画面上に表示されませんが裏で実行されます。

crontab -eでコマンドが実行されているかを確認するためにも、実行コマンドの後ろに

‘>> /Users/mark/Desktop/cron_error.txt 2>&1’

をつけてlog fileを出力させるようにしてください。

Error文

 

 

コメント

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