라즈베리파이 puppeteer 구동하기
우분투 18.04.1 버전기준.
라즈베리파이및 기타 파이보드에서 pupeteer 설치시 x86버전의 크롬이 설치되므로 오류가난다. 크롬을 따로설치하려해도 기본적으론 arm용으로 빌드되어있지않다.
해결방법:
puppeteer-core만 설치.
arm용으로 빌드된 크롬을 설치
https://launchpad.net/~canonical-chromium-builds/+archive/ubuntu/stage/+build/16518366
요기서
chromium-codecs-ffmpeg-extra_73.0.3683.86-0ubuntu0.18.04.1_armhf.deb (936.3 KiB)
chromium-codecs-ffmpeg_73.0.3683.86-0ubuntu0.18.04.1_armhf.deb (683.4 KiB)
chromium-browser_73.0.3683.86-0ubuntu0.18.04.1_armhf.deb (47.9 MiB)
를 순서대로 설치한다.
방법은 어떻게든 pi에 다운로드 받은 뒤(나는 다운받은 뒤 filezilla를 통해 pi에 업로드함)
sudo dpkg -i "<파일명>"
으로 설치할 수 있다
작동예제
const puppeteer = require('puppeteer-core');
(async () => {
const browser = await puppeteer.launch({
args:['--no-sandbox'],
executablePath:'chromium-browser'
});
const page = await browser.newPage();
await page.goto('https://example.com');
await page.screenshot({path: 'example.png'});
await browser.close();
})();
음영처리된 부분이 중요하다.
또 한글폰트를 설치해야 pupeteer에서 한글이 깨지지 않는다.
sudo apt-get install fonts-unfonts-core