Bright Dataによる最安値フライト検索
中級
これはAI分野の自動化ワークフローで、9個のノードを含みます。主にHtml, HttpRequest, GoogleSheets, ManualTriggerなどのノードを使用、AI技術を活用したスマート自動化を実現。 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など)は別途料金が発生する場合があります。
関連ワークフロー
研究論文スパイダーをGoogleスプシへ
Bright Dataとn8nを使った研究論文収集の自動化
Set
Code
Html
+
Set
Code
Html
12 ノードYaron Been
人工知能
天気予報スクレイパー
Bright Data と n8n を使用して天気予報を自動のに取得する
Html
Http Request
Google Sheets
+
Html
Http Request
Google Sheets
9 ノードYaron Been
人工知能
Bright Dataを使って起こるべきイベントをスクレイピング
Bright Dataとn8nによる自動イベント発見
Code
Html
Http Request
+
Code
Html
Http Request
11 ノードYaron Been
人工知能
大規模超パーソナライズドアウトーチをBright DataとLLMで自動化
Bright Dataと大規模言語モデルを通じた大規模超パーソナライズドアッティングの自動化
If
Set
Wait
+
If
Set
Wait
21 ノードYaron Been
営業
Bright Dataを活用した自動ソーシャルメディアタイトル投稿ツール
Bright Dataとn8nを使ってソーシャルメディアのタイトルを自動化する
Set
Html
Twitter
+
Set
Html
Twitter
16 ノードYaron Been
人工知能
Bright Dataを活用した競合価格監視
Bright Dataとn8nを使用した自動のな競合価格モニタリング
If
Code
Html
+
If
Code
Html
15 ノードYaron Been
人工知能
ワークフロー情報
難易度
中級
ノード数9
カテゴリー1
ノードタイプ5
作成者
Yaron Been
@yaron-nofluffBuilding 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で表示 →
このワークフローを共有