Tích hợpPipedream

Pipedream

Pipedream là gì?

Pipedream là một nền tảng tích hợp serverless mạnh mẽ cho phép các nhà phát triển dễ dàng kết nối hàng trăm ứng dụng và API, giúp xây dựng nhanh chóng các quy trình tự động hóa. Người dùng có thể viết logic tùy chỉnh bằng JavaScript, Python và các ngôn ngữ khác mà không cần quản lý bất kỳ hạ tầng nào.

Nó hỗ trợ kiến trúc hướng sự kiện và tích hợp với các dịch vụ phổ biến như Slack, Notion, GitHub và Stripe. Pipedream đặc biệt phù hợp để xây dựng webhook, đồng bộ hóa dữ liệu, hệ thống thông báo và các kịch bản tự động hóa khác, giúp nâng cao đáng kể hiệu suất và tính linh hoạt trong phát triển.

Scrapeless cung cấp các module sau trong Pipedream:

  1. Crawler
    • Crawler Scrape: Trích xuất dữ liệu từ một trang web đơn lẻ.
    • Crawler Crawl: Thu thập dữ liệu từ một website và các trang được liên kết để trích xuất dữ liệu toàn diện.
  2. Scraping API
    • Dễ dàng truy cập và lấy dữ liệu tìm kiếm phong phú từ Google SERP và Google Trends.
  3. Web Unlocker API
    • Truy cập các trang được bảo vệ hoặc trang động. Tự động xử lý các cơ chế chống thu thập dữ liệu.

Bắt đầu

Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách thiết lập Scrapeless với Pipedream. Chỉ với một vài cấu hình cơ bản, bạn có thể tự động thu thập và xử lý dữ liệu được lấy từ bất kỳ công cụ tìm kiếm nào.

Trước tiên, bạn cần hoàn thành các bước thiết lập sau:

  1. Scrapeless API Key: Vui lòng đăng ký một tài khoản Scrapeless. Sau khi đăng ký, bạn có thể truy cập API key của mình từ bảng điều khiển.

  1. Tài khoản Pipedream: Tạo một tài khoản Pipedream.

Thiết lập Scrapeless API Key của bạn trong Pipedream

Bạn cần đăng nhập vào tài khoản Scrapeless và truy cập bảng điều khiển để lấy API key của mình. Khi đã có, hãy vào tab “Accounts” trong Pipedream và thêm key vào đó, như minh họa dưới đây:

Sau đó, thiết lập API key của bạn như sau:


Thực hiện yêu cầu API đầu tiên của bạn

Chúng ta sẽ sử dụng tích hợp Scrapeless của Pipedream để lấy dữ liệu từ Scrapeless API. Trước tiên, hãy tạo một workflow mới. Trên bảng điều khiển Pipedream, nhấp vào nút “New Workflow”. Thao tác này sẽ mở một cửa sổ tạo workflow mới:


Bước 1. Thiết lập bước Trigger

Chọn xem bạn muốn kích hoạt workflow theo cách thủ công hay tự động bằng webhook, yêu cầu HTTP hoặc bất kỳ trigger có sẵn nào khác.

Cho mục đích của hướng dẫn này, chúng ta sẽ sử dụng một Scheduled Trigger để bắt đầu workflow. Bạn có thể điều chỉnh sau này để sử dụng các trigger khác, chẳng hạn như thực thi thủ công hoặc các hành động hướng sự kiện.

Nó sẽ trông như thế này:

Sau khi lưu, bạn sẽ có thể sử dụng trigger này trong workflow của mình. Bây giờ chúng ta có thể tiến hành cấu hình bước hành động.

Bước 2. Thiết lập bước Action

  1. Bây giờ, hãy thêm một bước hành động vào workflow Pipedream. Từ menu thả xuống Actions, chọn Scrapeless:

Đây là các hành động khả dụng:

  1. Tiếp theo, thêm tài khoản mà bạn đã cấu hình API key vào quy trình này:

Sau khi hoàn tất, bạn có thể thêm tất cả các tham số khác và kiểm thử truy vấn. Giống như các bước ở trên, bây giờ bạn đã thiết lập yêu cầu đầu tiên của mình trong Pipedream.

Tiếp theo, sau khi cấu hình dựa trên trường hợp sử dụng của bạn, bạn sẽ sẵn sàng để triển khai nó.

Cách tạo Hệ thống thu thập dữ liệu thông minh dựa trên Knowledge Graph

Điều kiện tiên quyết

  • Bạn đã đăng ký trên Scrapeless và có được một API token.
  • Bạn có một Discord Webhook URL (để gửi thông báo).

Bước 1: Thêm một Trigger

  • Type: Schedule
  • Trigger Time: Hằng ngày lúc 08:00 (UTC)
  • Method: Sử dụng Cron hoặc một khoảng thời gian cố định


Bước 2: Cấu hình các tham số

Component:

  • google-search

Cài đặt tham số:

  • query: coffee
  • gl: us (tùy chọn)
  • hl: en (tùy chọn)


Bước 3: Trích xuất thông tin

Bước này trích xuất thông tin knowledge panel từ dữ liệu từ khóa thu được ở bước trước.

Thêm một bước code Node.js với đoạn code sau:

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,
    };
  }
});

Bước 4: Gửi thông báo Discord

Bước này gửi thông tin thu được ở Bước 3 đến kênh Discord bạn đã chỉ định.

Thêm một bước Node.js với đoạn code ví dụ sau:

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 };
    }
  },
});

Thay thế URL trong dòng này bằng Discord Webhook của riêng bạn:

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

Nếu bạn chưa có Webhook, bạn có thể tạo một cái trong Discord như sau:

  1. Mở kênh mà bạn muốn gửi thông báo.
  2. Nhấp vào Channel Settings > Integrations > Webhooks.
  3. Tạo một Webhook mới và sao chép URL của nó để sử dụng làm webhookUrl được đề cập ở trên.

Xem trước (Tin nhắn đã gửi)

Khi trang Jasper.ai thay đổi, bạn sẽ nhận được một tin nhắn như thế này trong Discord: