技術共有

Puppeteer を使用したデータのスクレイピングと JSON としての保存

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Python_00044.png

パペッティアの紹介

Puppeteer は、Google Chrome チームによって開発された Node ライブラリで、Chrome または Chromium のヘッドレス バージョンを制御するための高レベル API を提供します。 Puppeteer は、ページ ナビゲーション、コンテンツ スクレイピング、スクリーンショット、PDF 生成など、さまざまなタスクを実行できます。

主な特徴

  • ヘッドレス ブラウザ コントロール: ブラウザ インターフェイスを開かずにタスクを実行します。
  • クロスプラットフォーム: Windows、Linux、macOS をサポートします。
  • リッチ API: ユーザーの動作をシミュレートするためのリッチ API を提供します。

データスクレイピングに Puppeteer を使用する

基本的なプロセス

  1. ブラウザを起動する: Puppeteer を使用してヘッドレス ブラウザを起動します。
  2. ページを開く: 新しいページ インスタンスを作成し、ターゲット URL に移動します。
  3. ページが読み込まれるまで待つ: ページが完全に読み込まれることを確認します。
  4. コンテンツの取得: Puppeteer が提供する API を使用して、ページのコンテンツを取得します。
  5. ログ: キャプチャされたコンテンツまたは関連情報をログ ファイルに記録します。
  6. ブラウザを閉じる: タスクが完了したらブラウザを閉じます。

実装プロセス

Web ページ上のテーブル データをクロールする必要があるとします。これを実現する手順は次のとおりです。

const puppeteer = require('puppeteer');
const http = require('http');

const proxyHost = "www.16yun.cn";
const proxyPort = "5445";
const proxyUser = "16QMSOML";
const proxyPass = "280651";

// 创建HTTP代理服务器
const proxy = http.createServer((req, res) =