「n8nでScrapelessを使用してAI駆動のパイプラインを構築する方法は?」

Advanced Data Extraction Specialist
イントロダクション
今日のデータ駆動型の状況において、組織はウェブコンテンツを抽出、処理、分析するための効率的な方法を必要としています。従来のウェブスクレイピングは、多くの課題に直面しています:ボット対策、複雑なJavaScriptレンダリング、そして常時メンテナンスの必要性があります。さらに、非構造化のウェブデータを理解するには洗練された処理が必要です。
このガイドでは、n8nワークフロー自動化、Scrapelessウェブスクレイピング、インテリジェント抽出のためのClaude AI、そしてセマンティックストレージのためのQdrantベクトルデータベースを使用した完全なウェブデータパイプラインの構築方法を示します。知識ベースを構築したり、市場調査を行ったり、AIアシスタントを開発したりする際に、このワークフローは強力な基盤を提供します。
作成するもの
私たちのn8nワークフローは、いくつかの最先端技術を組み合わせています:
- Scrapeless Web Unlocker:JavaScriptレンダリングを用いた高度なウェブスクレイピング
- Claude 3.7 Sonnet:AI駆動のデータ抽出と構造化
- Ollama Embeddings:ローカルベクトル埋め込み生成
- Qdrantベクトルデータベース:セマンティックストレージと検索
- 通知システム:Webhookを介したリアルタイム監視
このエンドツーエンドパイプラインは、混乱したウェブデータを構造化されたベクトル化情報に変換し、セマンティック検索やAIアプリケーションの準備が整います。
インストールとセットアップ
n8nのインストール
n8nはNode.js v18、v20、またはv22を必要とします。バージョンの互換性の問題が発生した場合:
# Node.jsのバージョンを確認
node -v
# 新しい非サポートバージョン(例:v23+)を持っている場合、nvmをインストール
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
# Windowsの場合は、NVM for Windowsインストーラーを使用
# 互換性のあるNode.jsバージョンをインストール
nvm install 20
# インストールしたバージョンを使用
nvm use 20
# n8nをグローバルにインストール
npm install n8n -g
# n8nを実行
n8n
n8nインスタンスは、http://localhost:5678で使用できるようになっているはずです。
Claude APIの設定
- Anthropic Consoleにアクセスし、アカウントを作成
- APIキーセクションに移動
- 「キーを作成」をクリックし、適切な権限を設定
- n8nワークフローで使用するためのAPIキーをコピー(AIデータチェッカー、Claudeデータ抽出ツール、Claude AIエージェントで)

Scrapelessのセットアップ
- Scrapelessにアクセスし、アカウントを作成
- ダッシュボードのユニバーサルスクレイピングAPIセクションに移動 https://app.scrapeless.com/exemple/overview

- n8nワークフローで使用するためのトークンをコピー

このcurlコマンドを使用してScrapelessのウェブスクレイピングリクエストをカスタマイズし、n8nのHTTPリクエストノードに直接インポートできます:
curl -X POST "https://api.scrapeless.com/api/v1/unlocker/request" \
-H "Content-Type: application/json" \
-H "x-api-token: scrapeless_api_key" \
-d '{
"actor": "unlocker.webunlocker",
"proxy": {
"country": "ANY"
},
"input": {
"url": "https://www.scrapeless.com",
"method": "GET",
"redirect": true,
"js_render": true,
"js_instructions": [{"wait":100}],
"block": {
"resources": ["image","font","script"],
"urls": ["https://example.com"]
}
}
}'

Dockerを使ったQdrantのインストール
# Qdrantイメージをプル
docker pull qdrant/qdrant
# データ永続性を持つQdrantコンテナを実行
docker run -d \
--name qdrant-server \
-p 6333:6333 \
-p 6334:6334 \
-v $(pwd)/qdrant_storage:/qdrant/storage \
qdrant/qdrant
Qdrantが実行されていることを確認:
curl http://localhost:6333/healthz
Ollamaのインストール
macOS:
brew install ollama
Linux:
curl -fsSL https://ollama.com/install.sh | sh
Windows: Ollamaのウェブサイトからダウンロードしてインストールしてください。
Ollamaサーバーを起動:
ollama serve
必要な埋め込みモデルをインストール:
ollama pull all-minilm
モデルのインストールを確認:
ollama list
n8nワークフローの設定
ワークフローの概要
私たちのワークフローは、これらの主要なコンポーネントで構成されています:
- 手動/スケジュールトリガー:ワークフローを開始
- コレクションチェック:Qdrantコレクションが存在するか確認
- URL設定:ターゲットURLとパラメータを設定
- Scrapelessウェブリクエスト:HTMLコンテンツを抽出
- Claudeデータ抽出:データを処理し構造化する
- Ollama 埋め込み: ベクトル埋め込みを生成します
- Qdrant ストレージ: ベクトルとメタデータを保存します
- 通知: Webhook を通じてステータス更新を送信します
ステップ 1: ワークフロートリガーとコレクションチェックの設定
手動トリガーノードを追加し、その後に HTTP リクエストノードを追加して、Qdrant コレクションが存在するかどうかを確認します。この初期ステップでコレクション名をカスタマイズできます。ワークフローは、存在しない場合に自動的にコレクションを作成します。
重要な注意: デフォルトの「hacker-news」と異なるコレクション名を使用したい場合は、Qdrant を参照するすべてのノードで一貫して変更してください。
ステップ 2: Scrapeless Web リクエストの設定
Scrapeless ウェブスクレイピング用の HTTP リクエストノードを追加します。以前提供された curl コマンドを参考にしてノードを設定し、YOUR_API_TOKEN を実際の Scrapeless API トークンに置き換えます。
Scrapeless Web Unlocker でより高度なスクレイピングパラメータを設定できます。
ステップ 3: Claude データ抽出
HTML コンテンツを処理するノードを追加します。認証のために Claude API キーを提供する必要があります。Claude エクストラクターは HTML コンテンツを分析し、JSON 形式で構造化データを返します。
ステップ 4: Claude 出力のフォーマット
このノードは Claude の応答を受け取り、関連情報を抽出して適切にフォーマットし、ベクトル化のために準備します。
ステップ 5: Ollama 埋め込み生成
このノードは構造化されたテキストを Ollama に送信して埋め込みを生成します。Ollama サーバーが実行中であり、all-minilm モデルがインストールされていることを確認してください。
ステップ 6: Qdrant ベクトルストレージ
このノードは生成された埋め込みを取得し、それを関連メタデータと共に Qdrant コレクションに保存します。
ステップ 7: 通知システム
最終ノードは、構成された webhook を通じてワークフロー実行のステータスを通知します。
一般的な問題のトラブルシューティング
n8n Node.js バージョンの問題
以下のようなエラーが表示された場合:
Your Node.js version X is currently not supported by n8n.
Please use Node.js v18.17.0 (recommended), v20, or v22 instead!
nvm をインストールし、設定セクションに記載された互換性のある Node.js バージョンを使用して修正します。
Scrapeless API 接続の問題
- API トークンが正しいか確認してください
- API レート制限に引っかかっていないか確認してください
- 正しい URL フォーマットになっているか確認してください
Ollama 埋め込みエラー
一般的なエラー: connect ECONNREFUSED ::1:11434
修正:
- Ollama が実行中であることを確認: ollama serve
- モデルがインストールされていることを確認: ollama pull all-minilm
- localhost の代わりに直接 IP (127.0.0.1) を使用してください
- 他のプロセスがポート 11434 を使用していないか確認してください
高度な使用シナリオ
複数の URL のバッチ処理
一度のワークフロー実行で複数の URL を処理するには:
- Split In Batches ノードを使用して URL を並行して処理します
- 各バッチに対して適切なエラーハンドリングを設定します
- Merge ノードを使用して結果を結合します
定期データ更新
スケジュールされた更新でベクトルデータベースを最新の状態に保ちます:
- 手動トリガーをスケジュールノードに置き換えます
- 更新頻度を設定します (日次、週次など)
- If ノードを使用して新規または変更されたコンテンツのみを処理します
カスタム抽出テンプレート
Claude の抽出をさまざまなコンテンツタイプに適応させます:
- ニュース記事、製品ページ、文書などの特定のプロンプトを作成します
- Switch ノードを使用して適切なプロンプトを選択します
- 抽出テンプレートを環境変数として保存します
結論
この n8n ワークフローは、Scrapeless ウェブスクレイピング、Claude AI 抽出、ベクトル埋め込み、および Qdrant ストレージの強みを組み合わせた強力なデータパイプラインを作成します。これらの複雑なプロセスを自動化することで、取得の技術的課題よりも抽出されたデータの利用に集中できます。
n8n のモジュラーな性質は、このワークフローを追加の処理ステップ、他のシステムとの統合、または特定のニーズに応じたカスタムロジックで拡張できることを可能にします。AI 知識ベースの構築、競合分析の実施、またはウェブコンテンツの監視を行う場合でも、このワークフローは堅固な基盤を提供します。
Scrapelessでは、適用される法律、規制、およびWebサイトのプライバシーポリシーを厳密に遵守しながら、公開されているデータのみにアクセスします。 このブログのコンテンツは、デモンストレーションのみを目的としており、違法または侵害の活動は含まれません。 このブログまたはサードパーティのリンクからの情報の使用に対するすべての責任を保証せず、放棄します。 スクレイピング活動に従事する前に、法律顧問に相談し、ターゲットウェブサイトの利用規約を確認するか、必要な許可を取得してください。