LoginSignup
4
5

More than 5 years have passed since last update.

Puppeteer を Raspberry Pi (Raspbian) 上で使う

Last updated at Posted at 2019-04-29

Puppeteer を Raspberry Pi (Raspbian) 上で使う場合

  • puppeteerが自動でダウンロードする Chromium は Raspbian では使えない
  • puppeteer の最新版は Raspbianにapt-getでインストールできる(あるいははじめから入っている)バージョンの Chromium に対応していない(場合がある)。

そのため puppeteer のバージョンを落とすか、 最新版 puppeteer に対応する Chromium をインストールするか という方法が考えられますが、後者の方法でうまくいく方法が見つけられませんでした。
この記事では puppeteer のバージョンを落とす方を試します。

Raspbian への Node.jsやChromiumのインストール はこの記事では紹介しません。

今回使用したバージョン

  • Raspbian raspbian-2018-11-15
  • Node.js v10.15.1
  • Chromium 65.0.3325.181 (後述の方法で確認)
  • Puppeteer 1.0.0 (後述の方法で決定)

Raspbian 上の Chromium のバージョンを確認

まず、Raspbian にインストールされている Chromium のバージョンを確認します。

$ /usr/bin/chromium-browser --version
Chromium 65.0.3325.181 Built on Raspbian , running on Raspbian 9.8

対応したpuppeteerのインストール

puppeteer のバージョンを落とすと言っても具体的にどのバージョンまで落とせばいいか・・・
実は公式ドキュメントに対応しているバージョンが書いてあります。

左上のバージョン部分をクリックすると puppeteer の各バージョンがどのバージョンのChromium に対応しているかの表が見られます。

puppeteer_versions.png

今回の例の場合、Chromiumのメジャーバージョンは65だったので puppeteer は v1.0.0 を使えばいいことがわかります。

npm でインストール時にバージョンを指定してやります。

その際、puppeteer が自動でChromiumをダウンロードしますが、先述通りこれはRaspbianでは使えません。
使わないだけなのでダウンロードされても別に構わないのですがその分無駄な容量を食ってしまうため
Chromiumのダウンロードを無効にする 環境変数PUPPETEER_SKIP_CHROMIUM_DOWNLOADを設定してpuppeteerをインストールすることをおすすめします。

※もし、対応している puppeteer のバージョンが v1.7.0 以上だったら puppeteer-coreを使ったほうがいいです。puppeteer-core は Chromium をダウンロードしません。

PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true npm install puppeteer@1.0.0

package.jsonやpackage-lock.jsonからインストールする場合

PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true npm install

Raspbian上で使えるか確認

index.js

index.js
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({
    executablePath: '/usr/bin/chromium-browser',
    headless: true,
  });
  const page = await browser.newPage();
  await page.goto('https://www.google.com');
  await page.screenshot({ path: 'google.png' });

  await browser.close();
})();
$ node index.js

撮れたスクリーンショット

google.png

参考URL

Puppeteer
Raspberry Piでpuppeteerを動かす方法
PuppeteerをRaspberry Piで使う - チカラの技術
RaspberryPiでpuppeteerを動かす方法 - 新しいことにはウェルカム

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5