集成Pipedream

Pipedream

什么是 Pipedream?

Pipedream 是一个功能强大的无服务器集成平台,让开发者能够轻松连接数百个应用和 API,从而快速构建自动化工作流。用户无需管理任何基础设施,即可使用 JavaScript、Python 等语言编写自定义逻辑。

它支持事件驱动架构,并与 Slack、Notion、GitHub、Stripe 等热门服务集成。Pipedream 特别适合构建 webhook、数据同步、通知系统等自动化场景,能够显著提升开发效率与灵活性。

Scrapeless 在 Pipedream 中提供以下模块:

  1. Crawler
    • Crawler Scrape:从单个网页中提取数据。
    • Crawler Crawl:抓取网站及其链接页面,以提取全面的数据。
  2. Scraping API
    • 轻松访问并获取来自 Google SERP 和 Google Trends 的丰富搜索数据。
  3. Web Unlocker API
    • 访问受保护或动态页面。自动处理反抓取机制。

快速开始

在本指南中,我将带你了解如何将 Scrapeless 与 Pipedream 结合使用。只需进行几项基本配置,你就可以自动收集并处理从任意搜索引擎抓取的数据。

首先,你需要完成以下设置:

  1. Scrapeless API Key:请注册一个 Scrapeless 账户。注册完成后,你可以从控制台获取你的 API key。

  1. Pipedream 账户:创建一个 Pipedream 账户。

在 Pipedream 中设置你的 Scrapeless API Key

你需要登录你的 Scrapeless 账户并进入控制台以获取 API key。 获取后,进入 Pipedream 中的 “Accounts” 选项卡并在此添加该 key,如下所示:

之后,像这样设置你的 API key:


发起你的第一个 API 请求

我们将使用 Pipedream 的 Scrapeless 集成从 Scrapeless API 获取数据。 首先,创建一个新的工作流。在 Pipedream 控制台中,点击 “New Workflow” 按钮。这将打开一个新的工作流创建窗口:


步骤 1. 设置触发器步骤

选择你希望手动触发工作流,还是通过 webhook、HTTP 请求或任意其他可用触发器自动触发。

在本教程中,我们将使用**定时触发器(Scheduled Trigger)**来启动工作流。你之后可以将其调整为使用其他触发器,例如手动执行或事件驱动操作。

它看起来应该是这样的:

保存后,你就可以在工作流中使用该触发器了。现在我们可以继续配置操作步骤。

步骤 2. 设置操作步骤

  1. 现在,让我们向 Pipedream 工作流添加一个操作步骤。从 Actions 下拉菜单中,选择 Scrapeless:

以下是可选的操作:

  1. 接下来,将你配置了 API key 的账户添加到此流程中:

完成后,你可以添加所有其他参数并测试查询。就像上面的步骤一样,你现在已经在 Pipedream 中设置好了你的第一个请求。

接下来,在根据你的使用场景完成配置后,你就可以部署它了。

如何创建一个知识图谱智能抓取系统

前提条件

  • 你已在 Scrapeless 注册并获取了 API token。
  • 你拥有一个 Discord Webhook URL(用于发送通知)。

步骤 1:添加触发器

  • 类型:Schedule
  • 触发时间:每天 08:00(UTC)
  • 方式:使用 Cron 或固定时间间隔


步骤 2:配置参数

组件:

  • google-search

参数设置:

  • query: coffee
  • gl: 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 中创建一个:

  1. 打开你想要发送通知的频道。
  2. 点击 Channel Settings > Integrations > Webhooks。
  3. 创建一个新的 Webhook 并复制其 URL,用作上面提到的 webhookUrl。

预览(已发送的消息)

当 Jasper.ai 页面发生变化时,你会在 Discord 中收到如下消息: