Pipedream
Pipedream とは?
Pipedream は強力なサーバーレス統合プラットフォームで、開発者が何百ものアプリとAPIsを簡単に接続し、自動化されたワークフローを迅速に構築できるようにします。ユーザーはインフラ管理なしに、JavaScript、Python、その他の言語を使用してカスタムロジックを記述できます。
イベント駆動型アーキテクチャをサポートし、Slack、Notion、GitHub、Stripe などの人気サービスと統合できます。Pipedream は、Webhookの構築、データ同期、通知システム、その他の自動化シナリオに特に適しており、開発効率と柔軟性を大幅に向上させます。
Scrapeless はPipedream内で以下のモジュールを提供しています:
- Crawler
- クローラーによるスクレイピング: 単一のウェブページからデータを抽出。
- クローラーによるクロール: ウェブサイトとそのリンクされたページをクロールし、包括的なデータを抽出。
- Scraping API
- Google SERPおよびGoogle Trendsから豊かな検索データを簡単にアクセスして取得できます。
- Web Unlocker API
- 保護されたページや動的ページにアクセス可能。自動的にアンチスクレイピング機構を処理します。

はじめに
このガイドでは、 Scrapeless を Pipedreamと連携する方法を順を追って説明します。いくつかの基本設定を行うだけで、任意の検索エンジンからスクレイピングしたデータを自動的に収集・処理できます。
まず、以下の設定を完了する必要があります:
- Scrapeless APIキー:まず Scrapelessアカウントを登録してください。登録後、ダッシュボードからAPIキーを取得できます。

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

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

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

ステップ1. トリガーステップを設定
ワークフローを手動で起動するか、Webhook、HTTP リクエスト、またはその他の利用可能なトリガーを使って自動的に起動するかを選択します。
このチュートリアルでは、ワークフローの開始に スケジュールトリガー を使用します。後で手動実行やイベント駆動型アクションなど、他のトリガーに変更することもできます。
次のようになります:

保存後、このトリガーをワークフローで使用できるようになります。次に、アクションステップの設定に進みます。
ステップ2. アクションステップを設定
- 次に、Pipedreamワークフローにアクションステップを追加しましょう。 Actions ドロップダウンメニューから、 Scrapelessを選択します:

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

- 次に、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 で以下のように作成できます:
- 通知を送信したいチャンネルを開きます。
- 次の順にクリックします: チャンネル設定 > 連携 > Webhook。
- 新しいWebhookを作成し、そのURLをコピーして上記の
webhookUrlとして使用します。
プレビュー (送信されたメッセージ)
Jasper.ai のページが変更されると、Discord に次のようなメッセージが届きます:
