8
n8n 中文网amn8n.com

通过Bright Data提取、总结和分析亚马逊产品降价情况

高级

这是一个AI, Marketing领域的自动化工作流,包含 26 个节点。主要使用 Set, Wait, Merge, SplitOut, McpClient 等节点,结合人工智能技术实现智能自动化。 使用Bright Data和Google Gemini提取、总结和分析亚马逊降价信息

前置要求
  • 可能需要目标 API 的认证凭证
  • Google Sheets API 凭证
  • Google Gemini API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "L6nGDqfxvxzlvDU2",
  "meta": {
    "instanceId": "885b4fb4a6a9c2cb5621429a7b972df0d05bb724c20ac7dac7171b62f1c7ef40",
    "templateCredsSetupCompleted": true
  },
  "name": "Extract, Summarize, Sentiment Analysis of Price Drops for Amazon Products via Bright Data",
  "tags": [
    {
      "id": "Kujft2FOjmOVQAmJ",
      "name": "Engineering",
      "createdAt": "2025-04-09T01:31:00.558Z",
      "updatedAt": "2025-04-09T01:31:00.558Z"
    },
    {
      "id": "ZOwtAMLepQaGW76t",
      "name": "Building Blocks",
      "createdAt": "2025-04-13T15:23:40.462Z",
      "updatedAt": "2025-04-13T15:23:40.462Z"
    },
    {
      "id": "ddPkw7Hg5dZhQu2w",
      "name": "AI",
      "createdAt": "2025-04-13T05:38:08.053Z",
      "updatedAt": "2025-04-13T05:38:08.053Z"
    }
  ],
  "nodes": [
    {
      "id": "c05c50b0-410e-428c-b9b9-c300b95b0ce8",
      "name": "When clicking ‘Test workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -760,
        -595
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "e2bef95f-a42a-47f1-b49f-1e18a7a76fc5",
      "name": "Bright Data MCP Client List Tools",
      "type": "n8n-nodes-mcp.mcpClient",
      "position": [
        -540,
        -595
      ],
      "parameters": {},
      "credentials": {
        "mcpClientApi": {
          "id": "JtatFSfA2kkwctYa",
          "name": "MCP Client (STDIO) account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "03126e8e-b3ef-4bc1-966f-23050034e717",
      "name": "Set input fields",
      "type": "n8n-nodes-base.set",
      "position": [
        -320,
        -595
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "0ac91db2-9848-40d4-b942-cd7288597ded",
              "name": "price_drop_url",
              "type": "string",
              "value": "https://camelcamelcamel.com/top_drops?t=daily"
            },
            {
              "id": "88826650-2a6f-4d19-8a2f-27b039296a00",
              "name": "webhook_notification_url",
              "type": "string",
              "value": "https://webhook.site/24878284-919d-4d39-bff0-5f36bfae17b6"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "bb47435e-750a-4767-85bc-8eb1d6af2bc7",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        160,
        -780
      ],
      "parameters": {
        "color": 3,
        "width": 440,
        "height": 140,
        "content": "## Disclaimer\nThis template is only available on n8n self-hosted as it's making use of the community node for MCP Client."
      },
      "typeVersion": 1
    },
    {
      "id": "377c7b92-4660-4130-a668-40752a52705a",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -300,
        -880
      ],
      "parameters": {
        "color": 5,
        "width": 440,
        "height": 240,
        "content": "## LLM Usages\n\nGoogle Gemini LLM is being utilized for the structured data extraction handling."
      },
      "typeVersion": 1
    },
    {
      "id": "45f786b2-e785-4da5-af17-cd048bc93887",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -760,
        -1280
      ],
      "parameters": {
        "color": 7,
        "width": 440,
        "height": 360,
        "content": "## Logo\n\n\n![logo](https://images.seeklogo.com/logo-png/43/1/brightdata-logo-png_seeklogo-439974.png)\n"
      },
      "typeVersion": 1
    },
    {
      "id": "83d52f24-3c6e-4640-9e95-e41c6c9cfa37",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -760,
        -880
      ],
      "parameters": {
        "width": 440,
        "height": 240,
        "content": "## Note\n\nDeals with the extraction of price drop information of ecommerce produce and scraping the site by leveraging the Bright Data MCP Client.\n\nThis workflow is also responsible for the structured data extraction, sentiment analysis and summarization of content.\n\n**Please make sure to set the input fields**"
      },
      "typeVersion": 1
    },
    {
      "id": "b0b39697-10e6-4066-8122-40775bb1472b",
      "name": "Split Out",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        496,
        -595
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "output"
      },
      "typeVersion": 1
    },
    {
      "id": "d73bf29c-b80c-47c4-b162-60a53bd4e0e0",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        716,
        -595
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "c6e5c79a-2a5b-40ae-a0e5-188d35f75c39",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        936,
        -770
      ],
      "webhookId": "19a19f31-87fa-442c-85b2-472001ac344a",
      "parameters": {
        "amount": 10
      },
      "typeVersion": 1.1
    },
    {
      "id": "fa7525b9-86b0-4646-994f-38b85a00f0d9",
      "name": "Summarize Content",
      "type": "@n8n/n8n-nodes-langchain.chainSummarization",
      "position": [
        1376,
        -1120
      ],
      "parameters": {
        "options": {},
        "chunkingMode": "advanced"
      },
      "retryOnFail": true,
      "typeVersion": 2.1
    },
    {
      "id": "1f6dd841-144f-44a7-9220-fd7aaf2090bd",
      "name": "Sentiment Analysis",
      "type": "@n8n/n8n-nodes-langchain.informationExtractor",
      "position": [
        1376,
        -620
      ],
      "parameters": {
        "text": "=Perform sentiment analysis of  {{ $json.result.content[0].text }}",
        "options": {},
        "schemaType": "manual",
        "inputSchema": "{\n  \"$schema\": \"http://json-schema.org/schema#\",\n  \"title\": \"EcommerceSentimentSubset\",\n  \"type\": \"object\",\n  \"properties\": {\n    \"sentiment\": {\n      \"type\": \"string\",\n      \"enum\": [\"positive\", \"neutral\", \"negative\"],\n      \"description\": \"Categorized sentiment from NLP analysis\"\n    },\n    \"sentimentScore\": {\n      \"type\": \"number\",\n      \"minimum\": -1,\n      \"maximum\": 1,\n      \"description\": \"Numeric sentiment polarity score (-1 = very negative, 1 = very positive)\"\n    },\n    \"topics\": {\n      \"type\": \"array\",\n      \"description\": \"Key aspects mentioned in the review (e.g., battery, build quality, delivery)\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    }\n  }\n}\n"
      },
      "retryOnFail": true,
      "typeVersion": 1.1
    },
    {
      "id": "db2330d2-2490-4822-b5c5-519fecb95c1d",
      "name": "Google Gemini Chat Model for Summarize Content",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        1380,
        -900
      ],
      "parameters": {
        "options": {},
        "modelName": "models/gemini-2.0-flash-exp"
      },
      "credentials": {
        "googlePalmApi": {
          "id": "YeO7dHZnuGBVQKVZ",
          "name": "Google Gemini(PaLM) Api account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "b887a1a5-4de1-43bb-b51c-fd218d5ca2e6",
      "name": "Google Gemini Chat Model for Sentiment Analysis",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        1464,
        -400
      ],
      "parameters": {
        "options": {},
        "modelName": "models/gemini-2.0-flash-exp"
      },
      "credentials": {
        "googlePalmApi": {
          "id": "YeO7dHZnuGBVQKVZ",
          "name": "Google Gemini(PaLM) Api account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e14757c2-3457-445b-9acf-5391de2d61fc",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        1752,
        -770
      ],
      "parameters": {},
      "typeVersion": 3.1
    },
    {
      "id": "fc1dc2fd-e407-4e7c-acf8-5d29ebb18956",
      "name": "Update Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2192,
        -520
      ],
      "parameters": {
        "columns": {
          "value": {
            "output": "={{ $json.data.toJsonString() }}"
          },
          "schema": [
            {
              "id": "output",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "output",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "output"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/10gAihQMT8-h8Mpehe9j-xxN4oTTpg8qwToI-I-Eauew/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1a1yb4XSMQ0Vs0Rg2RCwrcIVXwDN3ImXW_4OUebURKZI",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1a1yb4XSMQ0Vs0Rg2RCwrcIVXwDN3ImXW_4OUebURKZI/edit?usp=drivesdk",
          "cachedResultName": "Pricedrop Info"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "Zjoxh2BUZ6VXGQhA",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "65f7cc8e-7776-4712-b131-bc8374fbce20",
      "name": "Webhook Notification for Price Drop Info",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2192,
        -770
      ],
      "parameters": {
        "url": "={{ $('Set input fields').item.json.webhook_notification_url }}",
        "options": {},
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "response",
              "value": "={{ $json.data.toJsonString() }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "707977ff-cdfb-4020-86f4-5d0be44ee52f",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        100,
        -360
      ],
      "parameters": {
        "options": {},
        "modelName": "models/gemini-2.0-flash-exp"
      },
      "credentials": {
        "googlePalmApi": {
          "id": "YeO7dHZnuGBVQKVZ",
          "name": "Google Gemini(PaLM) Api account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "bbc02162-176f-4131-9f63-d5e39fb52b9b",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        320,
        -360
      ],
      "parameters": {
        "jsonSchemaExample": "[{\n\"id\": \"unique_id\",\n\"title\": \n\"Atosa MBF8005GR 52″ Reach-In Refrigerator for Restaurant Deli Cafeteria Steak House | Top Mount Compressor, 43.2 Cu. Ft. | 2-Solid Swing Door, 6 Adjustable Epoxy Coated Shelves | Stainless Steel, 115v\",\n\"price\": \n\"$2,919.48\",\n\"savings\": \n\"Save 18% ($649.36)\",\n\"link\": \n\"https://camelcamelcamel.com/product/07BH0Y75B4KUYI1YP78IB/go?context=top%5Fdrops&ctx%5Fpid=94751977&ctx%5Fcid=-1&ctx%5Faid=-1&ctx%5Fact=buy&ctx%5Fsrc=buy-button&&sjc=1\"\n}]"
      },
      "typeVersion": 1.2
    },
    {
      "id": "fd27eb98-e1ec-4747-9aeb-c0bf491e057a",
      "name": "Structure Data Extract Using LLM",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        120,
        -595
      ],
      "parameters": {
        "text": "=Extract structured data from  {{ $json.result.content[0].text }}",
        "batching": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "retryOnFail": true,
      "typeVersion": 1.7
    },
    {
      "id": "6a0bc566-2eb8-4eea-bf11-d040f352fbf7",
      "name": "MCP Client for Price Drop Data Extract",
      "type": "n8n-nodes-mcp.mcpClient",
      "position": [
        -100,
        -595
      ],
      "parameters": {
        "toolName": "scrape_as_markdown",
        "operation": "executeTool",
        "toolParameters": "={\n  \"url\": \"{{ $json.price_drop_url }}\"\n} "
      },
      "credentials": {
        "mcpClientApi": {
          "id": "JtatFSfA2kkwctYa",
          "name": "MCP Client (STDIO) account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "22d7cba2-5d8f-4e2a-8d99-e1dd2b232fd3",
      "name": "MCP Client for Price Drop Data Extract Within a Loop",
      "type": "n8n-nodes-mcp.mcpClient",
      "position": [
        1156,
        -770
      ],
      "parameters": {
        "toolName": "scrape_as_markdown",
        "operation": "executeTool",
        "toolParameters": "={\n  \"url\": \"{{ $json.link }}\"\n} "
      },
      "credentials": {
        "mcpClientApi": {
          "id": "JtatFSfA2kkwctYa",
          "name": "MCP Client (STDIO) account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "1ccf68b1-ab0c-4288-8892-f6736639f952",
      "name": "Aggregate",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        1972,
        -770
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData"
      },
      "typeVersion": 1
    },
    {
      "id": "cf8bdb20-18e5-4d29-b582-65b2b9c7aa32",
      "name": "Recursive Character Text Splitter",
      "type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
      "position": [
        1580,
        -900
      ],
      "parameters": {
        "options": {},
        "chunkSize": 5000
      },
      "typeVersion": 1
    },
    {
      "id": "3207d699-e620-4324-b71e-29aec2ffaf9a",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1880,
        -860
      ],
      "parameters": {
        "color": 5,
        "width": 560,
        "height": 640,
        "content": "## Output Data Handling "
      },
      "typeVersion": 1
    },
    {
      "id": "26874b27-2d9e-4564-ade2-87f236b250e0",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        640,
        -1200
      ],
      "parameters": {
        "color": 4,
        "width": 1080,
        "height": 980,
        "content": "## Loop and Extract Data\n\nPerform Summarization & Sentiment Analysis"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "c9e4ce77-7ccb-47dd-90b8-e9b45036ca5e",
  "connections": {
    "Wait": {
      "main": [
        [
          {
            "node": "MCP Client for Price Drop Data Extract Within a Loop",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "Update Google Sheets",
            "type": "main",
            "index": 0
          },
          {
            "node": "Webhook Notification for Price Drop Info",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set input fields": {
      "main": [
        [
          {
            "node": "MCP Client for Price Drop Data Extract",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Summarize Content": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Sentiment Analysis": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Update Google Sheets": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Structure Data Extract Using LLM",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Structure Data Extract Using LLM",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Structure Data Extract Using LLM": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Bright Data MCP Client List Tools": {
      "main": [
        [
          {
            "node": "Set input fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Recursive Character Text Splitter": {
      "ai_textSplitter": [
        [
          {
            "node": "Summarize Content",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Test workflow’": {
      "main": [
        [
          {
            "node": "Bright Data MCP Client List Tools",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "MCP Client for Price Drop Data Extract": {
      "main": [
        [
          {
            "node": "Structure Data Extract Using LLM",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model for Summarize Content": {
      "ai_languageModel": [
        [
          {
            "node": "Summarize Content",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model for Sentiment Analysis": {
      "ai_languageModel": [
        [
          {
            "node": "Sentiment Analysis",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "MCP Client for Price Drop Data Extract Within a Loop": {
      "main": [
        [
          {
            "node": "Summarize Content",
            "type": "main",
            "index": 0
          },
          {
            "node": "Sentiment Analysis",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

高级 - 人工智能, 营销

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
高级
节点数量26
分类2
节点类型17
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

作者
Ranjan Dailata

Ranjan Dailata

@ranjancse

A Professional based out of India specialized in handling AI-powered automations. Contact me at ranjancse@gmail.com

外部链接
在 n8n.io 查看

分享此工作流