物忘れの激しいエンジニアのメモ

スクレイピング、映像系、アプリ、webなど...

Raspberry pi 3のChrome HeadlessでWebスクレイピング

はじめに

最近、毎日のスクレイピングタスクをこなすベストプラクティスを考えていて、一つの案であるラズパイで運用する環境を整えてみました。

chromedriverのインストール

aptで簡単にできました。

sudo apt update
sudo apt upgrade
sudo apt-get install chromium-browser
sudo apt-get install chromium-chromedriver

後は何も考えずにHeadless Chrome が使えました。

安定化&省電力化

連続で運用していると、たまにChromeが立ち上がらない時がある・・・

原因は不明ですが、USBとHDMI端子を無効にしたら、少し安定した・・・かな・・・?

端子の無効で発熱(消費電力)が抑えられるし・・・

echo 0 | sudo tee /sys/devices/platform/soc/3f980000.usb/buspower
/opt/vc/bin/tvservice --off

安定化 その2

たまにChromeが立ち上がらない問題、原因を探ったところ、Chromeが強制終了した時のプロセスが残っていて、メモリを食っていたことが原因のようでした。

psコマンドでプロセスがたくさんあるのを確認しました。

ps aux | grep Chrome

なので、cronの実行時にpkillするようにしたところ、今の所(一週間くらい)立ち上がらない問題は起きていないです。

pkill Chrome

参考