Puppeteerとは
Puppeteerは、Googleが開発・公開しているChrome/Chromiumをプログラムから操作するためのNode.jsライブラリです。「ヘッドレスブラウザ」と呼ばれる、画面表示なしでブラウザを制御する仕組みを提供します。
通常のHTTPリクエストベースのスクレイピング(cURLやHTTP Clientなど)では取得できない、JavaScriptで動的に生成されたコンテンツも取得できる点が最大の特徴です。
主な用途
1. Webスクレイピング
JavaScriptで描画される価格情報・在庫状況・ランキングデータなどを自動取得できます。楽天・Amazon・Yahoo!ショッピングなどのECサイトからのデータ収集に特に有効です。
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({ headless: true });
const page = await browser.newPage();
await page.goto('https://example.com/products');
const prices = await page.$$eval('.price', els =>
els.map(el => el.textContent.trim())
);
console.log(prices);
await browser.close();
})();
2. スクリーンショット・PDF生成
Webページのスクリーンショット取得やPDF出力が簡単にできます。レポート自動生成にも活用できます。
3. E2Eテスト
ページ遷移・フォーム入力・ボタンクリックなど、実際のユーザー操作を自動化したテストが可能です。
弊社での活用事例
弊社では主に以下のシーンでPuppeteerを活用しています。
ECモールの価格・在庫監視 楽天市場・Amazon・Qoo10などの主要ECモールについて、競合商品の価格変動・在庫状況を定期的に収集しています。収集したデータはGoogleスプレッドシートに書き出し、仕入れ判断の根拠として活用します。
市場トレンド調査 特定キーワードでの検索結果・商品ランキングの変動を時系列で取得し、市場のトレンド変化を把握します。
Webサイトの品質チェック お客様のWebサイトをリリース後に定期的にクロールし、リンク切れや表示崩れがないかを自動チェックするツールとしても利用しています。
まとめ
PuppeteerはWebスクレイピングの強力なツールであり、JavaScriptで動的に生成されるWebページのデータ収集に欠かせない存在です。弊社ではこのPuppeteerを中心に、データ収集→分析→マーケティング活用という流れを自動化しており、お客様のビジネス成長を支援しています。
スクレイピングやWebデータ収集ツールの開発についてはお気軽にご相談ください。