連携Pipedream

Pipedream

Pipedream とは?

Pipedream は強力なサーバーレス統合プラットフォームで、開発者が何百ものアプリとAPIsを簡単に接続し、自動化されたワークフローを迅速に構築できるようにします。ユーザーはインフラ管理なしに、JavaScript、Python、その他の言語を使用してカスタムロジックを記述できます。

イベント駆動型アーキテクチャをサポートし、Slack、Notion、GitHub、Stripe などの人気サービスと統合できます。Pipedream は、Webhookの構築、データ同期、通知システム、その他の自動化シナリオに特に適しており、開発効率と柔軟性を大幅に向上させます。

Scrapeless はPipedream内で以下のモジュールを提供しています:

  1. Crawler
    • クローラーによるスクレイピング: 単一のウェブページからデータを抽出。
    • クローラーによるクロール: ウェブサイトとそのリンクされたページをクロールし、包括的なデータを抽出。
  2. Scraping API
    • Google SERPおよびGoogle Trendsから豊かな検索データを簡単にアクセスして取得できます。
  3. Web Unlocker API
    • 保護されたページや動的ページにアクセス可能。自動的にアンチスクレイピング機構を処理します。

はじめに

このガイドでは、 Scrapeless を Pipedreamと連携する方法を順を追って説明します。いくつかの基本設定を行うだけで、任意の検索エンジンからスクレイピングしたデータを自動的に収集・処理できます。

まず、以下の設定を完了する必要があります:

  1. Scrapeless APIキー:まず Scrapelessアカウントを登録してください。登録後、ダッシュボードからAPIキーを取得できます。

  1. Pipedream アカウント:Pipedream アカウントを作成します。

Pipedream に Scrapeless API キーを設定する

Scrapeless アカウントにログインし、ダッシュボードに移動して API キーを取得する必要があります。 取得したら、Pipedreamの “Accounts” タブに移動し、下記のようにそこにキーを追加します:

その後、次のようにあなたの API キーを設定します:


最初の API リクエストを作成する

データ取得には PipedreamのScrapeless統合機能 を使用して、Scrapeless APIからデータを取得します。 まず、新しいワークフローを作成します。Pipedreamダッシュボードで、 「新しいワークフロー」 ボタンをクリックしてください。これにより、新しいワークフロー作成ウィンドウが開きます:


ステップ1. トリガーステップを設定

ワークフローを手動で起動するか、Webhook、HTTP リクエスト、またはその他の利用可能なトリガーを使って自動的に起動するかを選択します。

このチュートリアルでは、ワークフローの開始に スケジュールトリガー を使用します。後で手動実行やイベント駆動型アクションなど、他のトリガーに変更することもできます。

次のようになります:

保存後、このトリガーをワークフローで使用できるようになります。次に、アクションステップの設定に進みます。

ステップ2. アクションステップを設定

  1. 次に、Pipedreamワークフローにアクションステップを追加しましょう。 Actions ドロップダウンメニューから、 Scrapelessを選択します:

利用可能なアクションは以下の通りです:

  1. 次に、API キーを設定したアカウントをこの手順に追加します:

完了後、他のすべてのパラメータを追加してクエリをテストできます。上記の手順と同様に、これでPipedreamで最初のリクエストを設定できました。

次に、使用事例に応じて設定を調整し、デプロイの準備を整えます。

ナレッジグラフ型インテリジェントクローリングシステムの作成方法

前提条件

  • Scrapeless に登録済みで、API トークンを取得しています。
  • Discord Webhook URL を所有しています(通知送信用)。

ステップ1:トリガーを追加

  • タイプ: スケジュール
  • トリガータイム: 毎日08:00(UTC)
  • メソッド: Cron または 固定時間間隔のいずれかを使用


ステップ2:パラメータを設定

コンポーネント:

  • google-search

パラメーター設定:

  • query: コーヒー
  • gl: 米国 (任意)
  • hl: 英語 (任意)


ステップ 3: 情報の抽出

この手順では、前のステップで取得したキーワードデータからナレッジパネルの情報を抽出します。

以下のコードでNode.jsコードステップを追加します:

export default defineComponent({
  async run({ steps }) {
    const searchResult = steps.scrape_google?.$return_value;
    const webResults = searchResult?.knowledge_graph.web_results
 
    if (!searchResult || !webResults) {
      throw new Error("❌ No valid results returned from Scrapeless Google Search.");
    }
 
    const links = webResults.map((item) => item.link)
 
    return {
      links,
    };
  }
});

ステップ 4: Discord 通知の送信

この手順では、ステップ 3 で取得した情報を指定した Discord チャンネルに送信します。

以下のサンプルコードでNode.jsステップを追加します:

import { axios } from "@pipedream/platform";
 
export default defineComponent({
  async run({ steps, $ }) {
    const results = steps.extract_coffee_search_results.$return_value?.links || []
    console.log("result", results)
    const sendLinks = results.slice(0, 5)
 
    if (!sendLinks || sendLinks.length === 0) {
      console.log("✅ No search results to notify.");
      return { status: "no_results" };
    }
 
    const webhookUrl = "https://discord.com/api/webhooks/1381829187223949404/mweRKdQfJmA5OskoSZ0V_IApucOrMK7AHxN4YaAvjE3SRzp1xnbK4SFZLvMYjwnIFy1V"; // 🟡 Please replace it with your webhook
 
    const lines = sendLinks.map(r => `📌 ${r}`).join("\n\n");
 
    const message = {
      content: `📡 **Keyword Monitor: "coffee"**\n\n${lines}\n\n⏰ Detected at: ${new Date().toLocaleString()}`
    };
 
    try {
      const res = await axios($, {
        method: "POST",
        url: webhookUrl,
        headers: {
          "Content-Type": "application/json"
        },
        data: message,
      });
 
      return { status: "sent", res };
    } catch (err) {
      console.error("❌ Discord webhook failed:", err);
      return { status: "error", error: err.message };
    }
  },
});

この行のURLを、ご自身の Discord Webhook に置き換えてください:

const webhookUrl = "https://discord.com/api/webhooks/your_webhook_id/your_webhook_token";

Webhook をまだ持っていない場合は、Discord で以下のように作成できます:

  1. 通知を送信したいチャンネルを開きます。
  2. 次の順にクリックします: チャンネル設定 > 連携 > Webhook。
  3. 新しいWebhookを作成し、そのURLをコピーして上記の webhookUrl として使用します。

プレビュー (送信されたメッセージ)

Jasper.ai のページが変更されると、Discord に次のようなメッセージが届きます: