Scraping BrowserライブラリPuppeteer

Puppeteer

Scraping Browserは、動的なウェブサイトからデータ抽出のプロセスを簡素化するよう設計された、高性能でサーバーレスのプラットフォームを提供します。Puppeteerとのシームレスな統合により、開発者は、専用のサーバーを必要とせずに、ヘッドレスブラウザを実行、管理、監視でき、効率的なウェブ自動化とデータ収集が可能になります。

必要なライブラリのインストール

まず、既存のブラウザインスタンスに接続するために設計された、軽量バージョンのPuppeteerであるpuppeteer-coreをインストールします。

npm install puppeteer-core

Scraping Browserに接続するコードの記述

Puppeteerコードで、以下を使用してScraping Browserに接続します。

const puppeteer = require('puppeteer-core');
const connectionURL = 'wss://browser.scrapeless.com/browser?token=APIKey&session_ttl=180&proxy_country=ANY';
 
(async () => {
    const browser = await puppeteer.connect({browserWSEndpoint: connectionURL});
    const page = await browser.newPage();
    await page.goto('https://www.scrapeless.com');
    console.log(await page.title());
    await browser.close();
})();
 

これにより、スケーラビリティ、IPローテーション、グローバルアクセスを含む、Scraping Browserのインフラストラクチャを活用できます。

実践例

Scraping Browserを統合した後の、一般的なPuppeteer操作をいくつか紹介します。

  1. ナビゲーションとページコンテンツの抽出
const page = await browser.newPage();
await page.goto('https://www.example.com');
console.log(await page.title());
const html = await page.content();
console.log(html);
await browser.close();
 
  1. スクリーンショットの撮影
const page = await browser.newPage();
await page.goto('https://www.example.com');
await page.screenshot({ path: 'example.png' });
console.log('Screenshot saved as example.png');
await browser.close();
 
  1. カスタムコードの実行
const page = await browser.newPage();
await page.goto('https://www.example.com');
const result = await page.evaluate(() => document.title);
console.log('Page title:', result);
await browser.close();