ホーム / n8n ワークフローテンプレート / AIとWebスクレイピングを使用したWebデータ検索と要約(自動化されたワークフローで)

AIとWebスクレイピングを使用したWebデータ検索と要約(自動化されたワークフローで)

Search & Summarize Web Data with Perplexity, Gemini AI & Bright Data to Webhooks

このワークフローは、Bright Dataのスクレイパーを使用してPerplexity経由でWebデータを検索し、Google Gemini AIで読み取り可能なコンテンツを抽出し、要約し、統合のために結果をWebhookに送信します。

手動15 ノードAI・機械学習エンジニアリングAI

このワークフローについて

Perplexity、Gemini AI、Bright Data を使用した Web データの検索と要約(Webhook へ)– ワークフロー分析

この N8n ワークフローテンプレートは、Bright Data の Web スクレーパー API 経由の Perplexity を使用して Web 上の情報を検索し、Google Gemini AI を使用して HTML レスポンスから読み取り可能なコンテンツを抽出し、LangChain を利用した要約チェーンを通じて抽出されたデータを要約するプロセスを自動化します。最終的な要約出力は、Webhook 通知を介して外部サービスに送信されます。AI によるデータ抽出と処理のために設計されたこのワークフローは、n8n オートメーションプラットフォーム内での Web スクレイピング、言語モデル、および条件付きロジック間の高度な統合を示しています。

ワークフローの機能

ワークフローは Perplexity.ai(Bright Data のデータセットトリガーシステム経由)で検索クエリを開始し、結果のスナップショットが準備できるまで待機し、それをダウンロードし、Google Gemini を使用して HTML レスポンスからクリーンで人間が読めるテキストを抽出し、別の Gemini モデルを使用してコンテンツを要約し、最後に要約を設定可能な Webhook エンドポイントに送信します。これには、エラー処理、ポーリングメカニズム、および構造化された AI 処理が含まれており、自動化されたリサーチタスクの堅牢性と精度を保証します。

非構造化された Web コンテンツを簡潔で実行可能な要約に効果的に変換します。これは、競合インテリジェンス、市場調査、または知識集約システムに最適です。


主な機能と能力

  • 自動化された Web リサーチ: Bright Data の API を使用して Perplexity でリアルタイム検索をトリガーします。
  • AI によるコンテンツ抽出: Google Gemini を使用して、複雑な HTML から関連する「読み取り可能なコンテンツ」のみを抽出します。
  • ドキュメント要約: LangChain の要約チェーンと Gemini Flash モデルを活用して、凝縮されたインサイトを生成します。
  • ポーリングメカニズム: スクレーパーが完了したスナップショットを返すまでジョブステータスを確認するループを実装します。
  • エラー処理: ダウンロードに進む前に、スクレイピング中にエラーが発生したかどうかを評価します。
  • Webhook 統合: HTTP POST を介して最終結果を任意の外部システムに出力します。
  • モジュール式 AI ノードの使用: LLM チェーン、ドキュメントローダー、テキストスプリッターのために @n8n/nodes-langchain ノードの使用を示します。
  • 認証情報管理: Bright Data および Google Gemini API の両方の保存された認証情報を安全に使用します。

主要ノードとその目的

ノード名 タイプ 目的
「ワークフローをテスト」をクリックしたとき 手動トリガー テスト目的でワークフローを手動で開始します。
Perplexity 検索リクエスト HTTP リクエスト Bright Data の API に POST リクエストを送信し、定義済みのプロンプト(「BrightData について教えてください」)で Perplexity.ai で検索をトリガーします。
スナップショット ID を設定 設定 後でポーリングとダウンロードに使用するために、最初のトリガーから返された snapshot_id を保存します。
スナップショットステータスを確認 HTTP リクエスト プログレスをクエリすることにより、スナップショット生成が完了したかどうかを確認するために Bright Data API をポーリングします。
もし(ステータスチェック) 条件分岐 レスポンスの status フィールドが "ready" と等しいかどうかを確認し、それに応じて実行をルーティングします。
待機 待機 まだ準備ができていない場合にステータスチェックを再試行する前に、30 秒間実行を一時停止します。
エラーを確認 条件分岐 ダウンロードに進む前に errors のカウントがゼロかどうかを検証します。
スナップショットをダウンロード HTTP リクエスト snapshot_id を使用して、完了したスナップショットの完全な JSON 結果を取得します。
読み取り可能なデータ抽出器 情報抽出器 (LangChain) Google Gemini を使用して answer_html を解析し、「読み取り可能なコンテンツ」のみをプレーンテキストとして抽出します。
Google Gemini チャットモデル1 LLM ノード データ抽出器の言語モデルバックエンドを提供します(gemini-2.0-flash-exp を使用)。
検索結果の要約 要約チェーン (LangChain) クリーンなテキストを取得し、ドキュメントローダーパターンを使用して簡潔な要約を生成します。
デフォルトデータローダー ドキュメントローダー (LangChain) 処理されたドキュメントを要約チェーンにフィードします。
再帰的文字テキストスプリッター テキストスプリッター (LangChain) 長いテキストを管理可能なチャンクに分割して準備します(100 文字のオーバーラップあり)。
Google Gemini チャットモデル LLM ノード 要約チェーンの LLM エンジンを提供します(実験的な gemini-2.0-flash-thinking-exp-01-21 モデルを使用)。
Webhook ノティファイア HTTP リクエスト 最終的な output(要約)を外部 URL(webhook.site プレースホルダー)に送信します。
付箋 注釈 認証情報の設定やフローロジックの理解のために、キャンバス内にドキュメントとガイダンスを提供します。

ユースケースとメリット

ユースケース:

  • 市場インテリジェンス収集: 競合分析、製品レビュー、業界トレンドを自動的に要約します。
  • コンテンツ集約システム: オンライン記事や Q&A プラットフォームをプルして凝縮することにより、内部ナレッジベースを構築します。
  • リサーチ自動化: 手動でのブラウジングとメモ取りを、AI 主導の検索と要約パイプラインに置き換えます。
  • リード生成とアウトリーチ準備: アウトリーチ前に企業や個人の背景情報を迅速に収集します。
  • ニュース監視: Perplexity がキュレーションした回答などのソース全体で、ブランド、テクノロジー、またはイベントの言及を追跡します。

メリット:

  • 時間効率: 手動での読み取りと要約に費やす時間を数時間削減します。
  • 精度: AI により、意味のあるコンテンツのみが保持され、要約されます。
  • スケーラビリティ: 複数のクエリに対してスケジュールまたは一括でトリガーできます。
  • 統合しやすい: Webhook 経由で配信される出力により、Slack、CRM、データベース、またはメールエンジンに接続できます。
  • エラー耐性: 内蔵ループと条件分岐により、タイミングの問題や一時的なエラーによる障害を防ぎます。

ステップバイステップのワークフローロジック

  1. トリガー実行

    • ユーザーが「ワークフローをテスト」をクリック → 手動トリガーノードをアクティブ化します。
  2. 検索クエリの開始

    • https://api.brightdata.com/datasets/v3/trigger に POST リクエストを送信します。
      • 対象 URL: https://www.perplexity.ai
      • プロンプト: "tell me about BrightData"
      • 国: "US"
      • データセット ID と認証ヘッダーが含まれます。
    • レスポンスには snapshot_id が含まれます。
  3. スナップショット ID の保存

    • Set Snapshot Id ノードは、ポーリングとダウンロードのために前のレスポンスから snapshot_id を保存します。
  4. 完了のポーリング

    • Check Snapshot Status は .../progress/{snapshot_id} でプログレスをリクエストします。
    • If ノードは status === "ready" かどうかを確認します。
      • true の場合 → 続行します。
      • false の場合 → Wait (30s) をトリガー → ステータスを再確認するためにループバックします。
  5. エラー検証

    • ステータスが準備完了になったら、別の If ノードが errors.toString() === "0" かどうかを確認します。
    • 続行する前にスクレイピング中にエラーが発生しなかったことを確認します。
  6. 最終結果のダウンロード

    • 検証が成功したら、.../snapshot/{snapshot_id} から JSON 形式でスナップショットをダウンロードします。
  7. 読み取り可能なコンテンツの抽出

    • answer_html フィールドが Readable Data Extractor に渡されます。
    • Google Gemini Flash Exp によって強化され、ノイズの多い HTML からクリーンで読み取り可能なテキストを分離します。
  8. 要約の準備

    • 抽出されたテキストが Summarization Chain にフィードされます。
    • 要約する前に、次の処理を行います。
      • Recursive Character Text Splitter → 大きなテキストをチャンクに分割します。
      • Default Data Loader → 分割されたテキストを AI 用のドキュメントとしてロードします。
  9. 要約の生成

    • Summarization of search result ノードは、2 番目の Gemini モデル(thinking-exp)を使用して、一貫性のある高レベルの要約を作成します。
  10. Webhook 経由での出力送信

    • 最終要約($json.output)が POST 経由で https://webhook.site/... に送信されます。
    • 任意の目的のエンドポイント(例: Slack、Airtable、カスタム API)に置き換えることができます。

このワークフローは、n8n がローコードオートメーションと強力な AI 機能を組み合わせて、生の Web データをインテリジェントな出力に変換する方法を示しています。これは、情報処理ワークフローをスケーリングしたい開発者、研究者、およびビジネスアナリストに最適です。

使い方:JSON をダウンロードし、n8n で「ファイルからインポート」を選択します。