8
n8n 中文网amn8n.com

从任何网站抓取并导入产品到 Shopify(含变体和图片)(针对鞋类优化 - NIKE 到 Shopify)

高级

这是一个Miscellaneous领域的自动化工作流,包含 25 个节点。主要使用 Set, Code, Merge, Slack, Shopify 等节点。 使用 BrowserAct 抓取并导入鞋类产品到 Shopify(含变体和图片)

前置要求
  • Slack Bot Token 或 Webhook URL
  • Shopify Admin API 凭证
  • 可能需要目标 API 的认证凭证
  • Google Sheets API 凭证

分类

工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "aaktvyaSrq2i9cyq",
  "meta": {
    "instanceId": "88804d8e264d231c18413147cc92e4245b20ae7b97d774bad847556f645c8192",
    "templateCredsSetupCompleted": true
  },
  "name": "从任何网站抓取并导入产品到 Shopify(含变体和图片)(针对鞋类优化 - NIKE 到 Shopify)",
  "tags": [],
  "nodes": [
    {
      "id": "cf968d6e-1777-4cb2-9d9e-ca21628363e2",
      "name": "当点击\"执行工作流\"时",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -208,
        -32
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "622cd69f-3b1e-4b0b-affa-b1c3c7c8e238",
      "name": "遍历项目",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        80,
        -32
      ],
      "parameters": {
        "options": {
          "reset": false
        }
      },
      "executeOnce": false,
      "typeVersion": 3
    },
    {
      "id": "5841f40a-d5af-4524-8cd0-b09890e16e87",
      "name": "合并",
      "type": "n8n-nodes-base.merge",
      "position": [
        1072,
        -32
      ],
      "parameters": {
        "mode": "combineBySql",
        "query": "SELECT\n  input2.*,\n  input1.product.id\nFROM input2\nLEFT JOIN input1\n",
        "options": {}
      },
      "executeOnce": false,
      "typeVersion": 3.2
    },
    {
      "id": "3805d6d4-b3ca-49cd-b254-0d8e2780d848",
      "name": "创建产品",
      "type": "n8n-nodes-base.shopify",
      "position": [
        672,
        -128
      ],
      "parameters": {
        "title": "={{ $json.Title }}",
        "resource": "product",
        "authentication": "accessToken",
        "additionalFields": {
          "tags": "={{ $json.Category }}",
          "vendor": "NIKE",
          "body_html": "={{ $json.Description }}"
        }
      },
      "credentials": {
        "shopifyAccessTokenApi": {
          "id": "TWH9cjHDZpE2e0iy",
          "name": "Shopify Access Token account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "b250920b-4c3d-4b05-96fc-8077dd072b3b",
      "name": "合并1",
      "type": "n8n-nodes-base.merge",
      "position": [
        1664,
        -16
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "2feda444-70c0-4907-8dff-8a36a3f1ddb5",
      "name": "发送消息",
      "type": "n8n-nodes-base.slack",
      "position": [
        240,
        -144
      ],
      "webhookId": "084643a6-5917-4036-8675-aebbace0cbf4",
      "parameters": {
        "text": "The Products Updated",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "C09KLV9DJSX",
          "cachedResultName": "all-browseract-workflow-test"
        },
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "id": "5rQCkyObBqbHIbZA",
          "name": "Slack account"
        }
      },
      "executeOnce": true,
      "typeVersion": 2.3
    },
    {
      "id": "ba92712b-f204-42e7-b59e-5698803b92fa",
      "name": "便签 - 介绍",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        192
      ],
      "parameters": {
        "width": 784,
        "height": 434,
        "content": "## 试试看!"
      },
      "typeVersion": 1
    },
    {
      "id": "7c89f1fa-1f23-48d2-8e90-65e32ff4b9ee",
      "name": "便签 - 如何使用",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        720,
        192
      ],
      "parameters": {
        "width": 592,
        "height": 276,
        "content": "## 使用方法"
      },
      "typeVersion": 1
    },
    {
      "id": "ffe26ba6-3166-4f7a-bf8a-e73b646c34d3",
      "name": "便签 - 需要帮助",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        720,
        480
      ],
      "parameters": {
        "width": 592,
        "height": 152,
        "content": "### 需要帮助?"
      },
      "typeVersion": 1
    },
    {
      "id": "6cb54cb6-4c54-4aff-8bcf-f1acba28e86d",
      "name": "便签 - 抓取和转换",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        -384
      ],
      "parameters": {
        "color": 5,
        "width": 704,
        "height": 220,
        "content": "### 🤖 1. 抓取和转换"
      },
      "typeVersion": 1
    },
    {
      "id": "64f3bc6b-b1f5-4720-bc5c-08d6b8af14e9",
      "name": "便签 - 创建基础产品",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        640,
        -384
      ],
      "parameters": {
        "color": 4,
        "width": 400,
        "height": 220,
        "content": "### 🛍️ 2. 创建基础产品和选项"
      },
      "typeVersion": 1
    },
    {
      "id": "6dc4c499-38aa-47c9-aa52-2d880a7d616f",
      "name": "便签 - 添加变体和图片",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1056,
        -384
      ],
      "parameters": {
        "color": 3,
        "width": 512,
        "height": 224,
        "content": "### 🎨 3. 添加变体和图片"
      },
      "typeVersion": 1
    },
    {
      "id": "fe34c840-d68a-4bb9-9ccd-aac88d2670c5",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        -144
      ],
      "parameters": {
        "color": 5,
        "width": 704,
        "height": 320,
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "8e7eb6ac-cd8c-4cee-9d0e-2363a18e6d47",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        640,
        -144
      ],
      "parameters": {
        "color": 4,
        "width": 400,
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "d58e493c-90fe-40ed-8ddd-a3ba751fd814",
      "name": "便签 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1056,
        -144
      ],
      "parameters": {
        "color": 3,
        "width": 512,
        "height": 304,
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "34f31749-7631-4a8b-922b-c4ba5e6e4b7b",
      "name": "添加选项",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        928,
        -128
      ],
      "parameters": {
        "url": "=https://browseract-2.myshopify.com/admin/api/2025-01/products/{{ $('Create a product').item.json.id }}.json",
        "method": "PUT",
        "options": {},
        "jsonBody": "={ \n  \"product\":\n    {\n       \"id\": \"{{ $('Create a product').item.json.id }}\",\n       \"options\": [{ \"name\": \"{{ $json.Option }}\" }]\n    }\n}\n",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "shopifyAccessTokenApi"
      },
      "credentials": {
        "shopifyAccessTokenApi": {
          "id": "TWH9cjHDZpE2e0iy",
          "name": "Shopify Access Token account"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "1b0412b7-5a09-4080-8c9f-06347565a59d",
      "name": "设置选项",
      "type": "n8n-nodes-base.set",
      "position": [
        800,
        -128
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "bb1db819-3fe9-452b-99b7-5b53f63d1337",
              "name": "Option",
              "type": "string",
              "value": "Shoe Size"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "7cbc6b3c-344d-49bb-a051-14bda23b7b0d",
      "name": "拆分鞋码",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1248,
        -128
      ],
      "parameters": {
        "include": "selectedOtherFields",
        "options": {},
        "fieldToSplitOut": "sizes",
        "fieldsToInclude": "input1.product->id"
      },
      "typeVersion": 1
    },
    {
      "id": "20ffa8de-a08d-4675-9c8e-3fdcef74267e",
      "name": "解析数据",
      "type": "n8n-nodes-base.code",
      "position": [
        512,
        -16
      ],
      "parameters": {
        "jsCode": "// 1. Get the JSON string from the specific input path you provided.\nconst jsonString = $input.first().json.output.string;\n\n// 2. Parse that string into a real JavaScript array.\nconst productArray = JSON.parse(jsonString);\n\n// 3. Map over the parsed array to transform each product.\nreturn productArray.map(product => {\n  \n  // Split the \"Size\" string into an array of objects.\n  const sizesList = product.Size.split(',').map(size => {\n    return { \"Size\": size.trim().replace(\" \", \"-\") };\n  });\n\n  // Split the \"Images\" string into an array of objects.\n  const imagesList = product.Images.split('||').map(url => {\n    return { \"Image\": url.trim() };\n  });\n\n  // Create the final, structured JSON object.\n  const outputData = {\n    \"Title\": product.Title,\n    \"Price\": product.Price,\n    \"Description\": product.Description,\n    \"Category\": product.Category,\n    \"sizes\": sizesList,\n    \"images\": imagesList\n  };\n  \n  // Return the data in the standard n8n format for the next node.\n  return { json: outputData };\n});"
      },
      "typeVersion": 2
    },
    {
      "id": "c4d22786-b5e1-4d26-9915-f5f0f5d5be3d",
      "name": "拆分图片",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1248,
        32
      ],
      "parameters": {
        "include": "selectedOtherFields",
        "options": {},
        "fieldToSplitOut": "images",
        "fieldsToInclude": "input1.product->id"
      },
      "typeVersion": 1
    },
    {
      "id": "53f6d29d-9885-4f11-adf3-96db68c88506",
      "name": "添加图片",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1424,
        32
      ],
      "parameters": {
        "url": "=https://browseract-2.myshopify.com/admin/api/2025-01/products/{{ $json[\"input1.product->id\"] }}/images.json",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"image\": {\n    \"src\": \"{{ $json.images.Image }}\"\n  }\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "shopifyAccessTokenApi"
      },
      "credentials": {
        "shopifyAccessTokenApi": {
          "id": "TWH9cjHDZpE2e0iy",
          "name": "Shopify Access Token account"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "8b8de02b-15ed-490c-ad29-78f0ba1a99db",
      "name": "添加变体",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueRegularOutput",
      "position": [
        1424,
        -128
      ],
      "parameters": {
        "url": "=https://browseract-2.myshopify.com/admin/api/2025-01/products/{{ $json[\"input1.product->id\"] }}/variants.json",
        "method": "POST",
        "options": {},
        "jsonBody": "= {\n    \"variant\": {\n      \"option1\": \"{{ $json.sizes.Size }}\",\n      \"price\": \"{{ $('Merge').item.json.Price }}\",\n      \"sku\": \"{{ $json['input1.product->id'] }}-SKU-{{$json.sizes.Size.replace(\".\",\"-\").replace(/\\\\s+/g, '-') }}\"\n    }\n  }\n",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "shopifyAccessTokenApi"
      },
      "credentials": {
        "shopifyAccessTokenApi": {
          "id": "TWH9cjHDZpE2e0iy",
          "name": "Shopify Access Token account"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "29e84c2a-d479-4bfa-8eea-976cc17d7334",
      "name": "获取列表",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -64,
        -32
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/136xfoE9dbi3Oe29REjwCvRBl9K1zYZQA6Wt5twPVhkQ/edit#gid=0",
          "cachedResultName": "Product Links"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "136xfoE9dbi3Oe29REjwCvRBl9K1zYZQA6Wt5twPVhkQ",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/136xfoE9dbi3Oe29REjwCvRBl9K1zYZQA6Wt5twPVhkQ/edit?usp=drivesdk",
          "cachedResultName": "Product List Links To add"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "wAMAqU43zjVjlpuA",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "27f2cc15-f5e8-4ab8-9fca-aa3761b76595",
      "name": "获取工作流数据",
      "type": "n8n-nodes-browseract-workflows.browserAct",
      "position": [
        384,
        -16
      ],
      "parameters": {
        "taskId": "={{ $json.id }}",
        "operation": "getTask",
        "maxWaitTime": 900,
        "waitForFinish": true
      },
      "credentials": {
        "browserActApi": {
          "id": "AzKMhR2eAlOjzDiJ",
          "name": "BrowserAct account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "dbd9504a-14ed-4d4f-9290-43c7558a24e5",
      "name": "运行工作流",
      "type": "n8n-nodes-browseract-workflows.browserAct",
      "position": [
        240,
        -16
      ],
      "parameters": {
        "workflowId": "57519762985270138",
        "inputParameters": {
          "parameters": [
            {
              "name": "Target_Product_Url",
              "value": "={{ $json[\"Product Link\"] }}"
            }
          ]
        },
        "additionalFields": {
          "saveBrowserData": false
        }
      },
      "credentials": {
        "browserActApi": {
          "id": "AzKMhR2eAlOjzDiJ",
          "name": "BrowserAct account"
        }
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "449baa6e-31c4-4eb5-9b64-364fd83cb783",
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Split Shoe Size",
            "type": "main",
            "index": 0
          },
          {
            "node": "Split Images",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge1": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get List": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Add Images": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Add Option": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Data": {
      "main": [
        [
          {
            "node": "Create a product",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Set Option": {
      "main": [
        [
          {
            "node": "Add Option",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Add Variant": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Images": {
      "main": [
        [
          {
            "node": "Add Images",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Run a workflow": {
      "main": [
        [
          {
            "node": "Get workflow Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Run a workflow",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Shoe Size": {
      "main": [
        [
          {
            "node": "Add Variant",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create a product": {
      "main": [
        [
          {
            "node": "Set Option",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get workflow Data": {
      "main": [
        [
          {
            "node": "Parse Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "Get List",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - 杂项

需要付费吗?

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

工作流信息
难度等级
高级
节点数量25
分类1
节点类型12
难度说明

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

作者
Madame AI Team | Kai

Madame AI Team | Kai

@madame-ai

I’m a PhD in Physics turned AI enthusiast, passionate about uncovering how AI is transforming content creation, business, and daily life.

外部链接
在 n8n.io 查看

分享此工作流