はじめに
このガイドでは、ScrapelessとPipedreamのセットアップ方法を説明します。簡単な設定をするだけで、あらゆる検索エンジンからスクレイピングしたデータを自動的に収集および処理できます。
まず、以下の設定を完了する必要があります。
- Scrapeless APIキー: Scrapelessアカウントにサインアップしてください。登録が完了したら、ダッシュボードからAPIキーにアクセスできます。
- Pipedreamアカウント: Pipedreamアカウントを作成してください。
PipedreamでScrapeless APIキーを設定する
Scrapelessアカウントにログインし、ダッシュボードに移動してAPIキーを取得する必要があります。 取得したら、Pipedreamの**「アカウント」**タブに移動し、以下のようにキーを追加します。
その後、APIキーを次のように設定します。
最初のAPIリクエストを行う
PipedreamのScrapeless統合を使用して、Scrapeless APIからデータを取得します。 まず、新しいワークフローを作成します。Pipedreamダッシュボードで、**「新しいワークフロー」**ボタンをクリックします。これにより、新しいワークフロー作成ウィンドウが開きます。
ステップ1. トリガーステップを設定する
ワークフローを手動でトリガーするか、Webhook、HTTPリクエスト、またはその他の利用可能なトリガーを使用して自動的にトリガーするかを選択します。
このチュートリアルの目的では、ワークフローを開始するためにスケジュールトリガーを使用します。後で、手動実行やイベント駆動型アクションなど、他のトリガーを使用するように調整できます。
次のようになります。
保存後、このトリガーをワークフローで使用できるようになります。これで、アクションステップの設定に進みます。
ステップ2. アクションステップを設定する
- Pipedreamワークフローにアクションステップを追加しましょう。アクションドロップダウンメニューから、Scrapelessを選択します。
可能なアクションは次のとおりです。
- 次に、APIキーを設定したアカウントをこの手順に追加します。
完了したら、他のすべてのパラメータを追加してクエリをテストできます。上記の手順と同様に、Pipedreamで最初のリクエストを設定しました。
次に、ユースケースに基づいて設定した後、デプロイする準備が整います。
ナレッジグラフインテリジェントクロールシステムを作成する方法
前提条件
- Scrapelessに登録し、APIトークンを取得していること。
- Discord Webhook URL(通知を送信するため)を持っていること。
ステップ1. トリガーを追加する
- 種類: スケジュール
- トリガー時間: 毎日08:00(UTC)
- メソッド: Cronまたは固定時間間隔を使用する
ステップ2. パラメータを設定する
コンポーネント:
google-search
パラメータ設定:
query
: coffeegl
: us (オプション)hl
: en (オプション)
ステップ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にこのようなメッセージが届きます。