8
n8n 한국어amn8n.com

Bright Data를 통해 가장 저렴한 항공편을 찾기

중급

이것은AI분야의자동화 워크플로우로, 9개의 노드를 포함합니다.주로 Html, HttpRequest, GoogleSheets, ManualTrigger 등의 노드를 사용하며인공지능 기술을 결합하여 스마트 자동화를 구현합니다. Bright Data와 n8n을 사용하여 가장 저렴한 항공편을 자동으로 찾아

사전 요구사항
  • 대상 API의 인증 정보가 필요할 수 있음
  • Google Sheets API 인증 정보

카테고리

워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "id": "YhwckWo4y8FNZ4v4",
  "meta": {
    "instanceId": "60046904b104f0f72b2629a9d88fe9f676be4035769f1f08dad1dd38a76b9480",
    "templateCredsSetupCompleted": true
  },
  "name": "Cheapest_Flight_Finder_via_Bright_Data",
  "tags": [],
  "nodes": [
    {
      "id": "6da8e17f-3448-4195-b812-43564470d376",
      "name": "수동 트리거",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -480,
        2340
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "6e92c67b-3e06-4de8-ac8f-f09d33bc6115",
      "name": "메모9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2460,
        500
      ],
      "parameters": {
        "color": 4,
        "width": 1300,
        "height": 320,
        "content": "=======================================\n            WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n    Yaron@nofluff.online\n\nExplore more tips and tutorials here:\n   - YouTube: https://www.youtube.com/@YaronBeen/videos\n   - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
      },
      "typeVersion": 1
    },
    {
      "id": "ffb0ba94-e697-409d-9190-1e6f8656c775",
      "name": "메모4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2460,
        840
      ],
      "parameters": {
        "color": 4,
        "width": 1289,
        "height": 2458,
        "content": "# 🧳 ✈️ **Flight Price Scraper from Skiplagged using Bright Data**\n\nThis automation helps you extract **cheap flight prices** from [Skiplagged.com](https://skiplagged.com) using **Bright Data** and automatically logs those prices into a **Google Sheet** for review and tracking.\n\n---\n\n## 🔹 **SECTION 1: Getting the Flight Prices**\n\n*Combining: Manual Trigger + HTTP Request (Bright Data)*\n\n### 🌩️ 1. **Manual Trigger**\n\n* **🧠 What it does**: Starts the workflow when you click **Execute Workflow** in n8n.\n* **👨‍🏫 For beginners**: Think of it like a **start button**. No schedule, just run it manually whenever you want to check for deals.\n\n---\n\n### 🌐 2. **Fetch Flight Details from Skiplagged via Bright Data**\n\n* **🔧 Node Type**: `HTTP Request` (POST)\n\n* **🌍 What's happening**:\n\n  * Uses Bright Data Web Unlocker to **bypass bot protection** and fetch HTML content from Skiplagged.\n  * You’re sending a POST request to `https://api.brightdata.com/request`, asking Bright Data to open:\n    `https://skiplagged.com/flights/DUB/LON/2024-06-30` (or a dynamic route).\n  * Headers & proxy make it **look like a real browser**.\n\n* **💡 Why it’s useful**:\n\n  * **Skiplagged is tricky to scrape** directly, but Bright Data makes it easy.\n  * You get the **entire HTML** of the search results page, ready to extract price info.\n\n* ✅ **Returns**: HTML of the page (not yet structured — we handle that next)\n\n---\n\n## 🔹 **SECTION 2: Extracting & Storing Flight Prices**\n\n*Combining: HTML Node + Google Sheets*\n\n### 🖥️ 3. **HTML Extract (extractHtmlContent)**\n\n* **🔧 Node Type**: `HTML Extract`\n\n* **🎯 Goal**: Pull out **all flight prices** from the raw HTML.\n\n* **How it works**:\n\n  * Uses a selector like `.flights-landing__flight-price` to find every element that matches.\n  * **Returns multiple values** if \"Return All Matches\" is enabled.\n\n* 🧠 **Beginner Note**: Imagine your browser looking for all `<div class=\"flights-landing__flight-price\">`. This is like **copying all price tags off the screen**.\n\n* ✅ **Returns**:\n\n  ```json\n  [\n    \"$104\", \"$117\", \"$99\", \"$88\"\n  ]\n  ```\n\n---\n\n### 📊 4. **Google Sheets (append: sheet)**\n\n* **🔧 Node Type**: `Google Sheets Append`\n\n* **📋 What it does**: Appends each flight price as a new row in your spreadsheet.\n\n* **🛠️ Tip**: Make sure your sheet has one column titled something like `Price` and authentication is set up.\n\n* ❌ **Error Warning**: If this node is red, likely issues are:\n\n  * Missing Google credentials\n  * Sheet name doesn’t match\n  * Field mapping mismatch\n\n* ✅ **Returns**: New rows in your sheet like:\n\n| Price |\n| ----- |\n| \\$88  |\n| \\$99  |\n| \\$104 |\n\n---\n\n## 🌟 Final Thoughts: Why This Is Powerful\n\n✅ **Perfect for spontaneous travelers** who want to grab last-minute deals.\n✅ **Low-cost** thanks to free tools (n8n + Google Sheets) and flexible Bright Data usage.\n✅ **Easy to expand**: Add logic to filter cheapest flight, add Telegram/email alert, or schedule it daily.\n\n---\n\n## 🧭 Next Steps You Could Add\n\n* 📅 Add a **Cron node** to automate daily checks.\n* 📬 Add **Telegram or Email node** to notify when price < \\$100.\n* 🔧 Use **Set node** to make route and date dynamic.\n\n---\n\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "3e3a26e0-eeed-4a0f-85bb-ac49e438eb43",
      "name": "HTML",
      "type": "n8n-nodes-base.html",
      "position": [
        20,
        2340
      ],
      "parameters": {
        "options": {},
        "operation": "extractHtmlContent",
        "extractionValues": {
          "values": [
            {
              "key": "Title",
              "cssSelector": "<span class=\"flights-landing__flight-logo-txt\" data-translate=\"false\">United</span>"
            },
            {
              "key": "Price",
              "cssSelector": "<div class=\"flights-landing__flight-price\">$114</div>"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "4213760f-1d00-4d4c-b918-5b46728c78e8",
      "name": "Google 스프레드시트",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        240,
        2340
      ],
      "parameters": {
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "r2mDaisH6e9VkwHl",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "c1bda948-e9f0-4539-ba18-fa37ac431d91",
      "name": "Fetch flight details from skiplegged via bright data",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -260,
        2340
      ],
      "parameters": {
        "url": "https://api.brightdata.com/request",
        "method": "POST",
        "options": {},
        "jsonBody": "{\n  \"zone\": \"n8n_unblocker\",\n  \"url\": \"https://skiplagged.com/flights/NYC/LAX/2024-07-01\",\n  \"country\": \"ie\",\n  \"format\": \"raw\",\n  \"headers\": {\n    \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36\",\n    \"Accept-Language\": \"en-US,en;q=0.9\",\n    \"Accept\": \"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\"\n  }\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer API_KEY"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "6f4009d4-bd47-4bda-a4b1-cd6bdfa59821",
      "name": "메모5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -500,
        1340
      ],
      "parameters": {
        "color": 3,
        "width": 400,
        "height": 1200,
        "content": "## 🔹 **SECTION 1: Getting the Flight Prices**\n\n*Combining: Manual Trigger + HTTP Request (Bright Data)*\n\n### 🌩️ 1. **Manual Trigger**\n\n* **🧠 What it does**: Starts the workflow when you click **Execute Workflow** in n8n.\n* **👨‍🏫 For beginners**: Think of it like a **start button**. No schedule, just run it manually whenever you want to check for deals.\n\n---\n\n### 🌐 2. **Fetch Flight Details from Skiplagged via Bright Data**\n\n* **🔧 Node Type**: `HTTP Request` (POST)\n\n* **🌍 What's happening**:\n\n  * Uses Bright Data Web Unlocker to **bypass bot protection** and fetch HTML content from Skiplagged.\n  * You’re sending a POST request to `https://api.brightdata.com/request`, asking Bright Data to open:\n    `https://skiplagged.com/flights/DUB/LON/2024-06-30` (or a dynamic route).\n  * Headers & proxy make it **look like a real browser**.\n\n* **💡 Why it’s useful**:\n\n  * **Skiplagged is tricky to scrape** directly, but Bright Data makes it easy.\n  * You get the **entire HTML** of the search results page, ready to extract price info.\n\n* ✅ **Returns**: HTML of the page (not yet structured — we handle that next)\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "15115b20-c08a-4953-be0b-8e7a7f2a4030",
      "name": "메모6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -20,
        1080
      ],
      "parameters": {
        "color": 5,
        "width": 400,
        "height": 1460,
        "content": "## 🔹 **SECTION 2: Extracting & Storing Flight Prices**\n\n*Combining: HTML Node + Google Sheets*\n\n### 🖥️ 3. **HTML Extract (extractHtmlContent)**\n\n* **🔧 Node Type**: `HTML Extract`\n\n* **🎯 Goal**: Pull out **all flight prices** from the raw HTML.\n\n* **How it works**:\n\n  * Uses a selector like `.flights-landing__flight-price` to find every element that matches.\n  * **Returns multiple values** if \"Return All Matches\" is enabled.\n\n* 🧠 **Beginner Note**: Imagine your browser looking for all `<div class=\"flights-landing__flight-price\">`. This is like **copying all price tags off the screen**.\n\n* ✅ **Returns**:\n\n  ```json\n  [\n    \"$104\", \"$117\", \"$99\", \"$88\"\n  ]\n  ```\n\n---\n\n### 📊 4. **Google Sheets (append: sheet)**\n\n* **🔧 Node Type**: `Google Sheets Append`\n\n* **📋 What it does**: Appends each flight price as a new row in your spreadsheet.\n\n* **🛠️ Tip**: Make sure your sheet has one column titled something like `Price` and authentication is set up.\n\n* ❌ **Error Warning**: If this node is red, likely issues are:\n\n  * Missing Google credentials\n  * Sheet name doesn’t match\n  * Field mapping mismatch\n\n* ✅ **Returns**: New rows in your sheet like:\n\n| Price |\n| ----- |\n| \\$88  |\n| \\$99  |\n| \\$104 |\n\n---\n"
      },
      "typeVersion": 1
    },
    {
      "id": "b151fc17-d628-4e38-a5e7-91b2555b8e1f",
      "name": "메모",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        460,
        1080
      ],
      "parameters": {
        "color": 7,
        "width": 380,
        "height": 240,
        "content": "## I’ll receive a tiny commission if you join Bright Data through this link—thanks for fueling more free content!\n\n### https://get.brightdata.com/1tndi4600b25"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "d966578d-4e22-4067-b7b6-1b310276ba5a",
  "connections": {
    "3e3a26e0-eeed-4a0f-85bb-ac49e438eb43": {
      "main": [
        [
          {
            "node": "Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Manual Trigger": {
      "main": [
        [
          {
            "node": "c1bda948-e9f0-4539-ba18-fa37ac431d91",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c1bda948-e9f0-4539-ba18-fa37ac431d91": {
      "main": [
        [
          {
            "node": "3e3a26e0-eeed-4a0f-85bb-ac49e438eb43",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

중급 - 인공지능

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
중급
노드 수9
카테고리1
노드 유형5
난이도 설명

일정 경험을 가진 사용자를 위한 6-15개 노드의 중간 복잡도 워크플로우

저자
Yaron Been

Yaron Been

@yaron-nofluff

Building AI Agents and Automations | Growth Marketer | Entrepreneur | Book Author & Podcast Host If you need any help with Automations, feel free to reach out via linkedin: https://www.linkedin.com/in/yaronbeen/ And check out my Youtube channel: https://www.youtube.com/@YaronBeen/videos

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34