8
n8n 中文网amn8n.com

Google Play商店和SerpApi应用排名与评分监控

中级

这是一个Market Research, Multimodal AI领域的自动化工作流,包含 15 个节点。主要使用 Code, Wait, SerpApi, GoogleSheets, SplitInBatches 等节点。 Google Play商店和SerpApi应用排名与评分监控系统

前置要求
  • Google Sheets API 凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "meta": {
    "instanceId": "886f6aad18962318bf6e0e61dcc99fe4272655356eb72558c67fde0caf721bc9",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "663b52e3-3baa-40b9-b236-7a2b9bac0f1f",
      "name": "更新排名与评分日志",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        820,
        40
      ],
      "parameters": {
        "columns": {
          "value": {
            "rank": "={{ $json.rank }}",
            "rating": "={{ $json.rating }}",
            "keyword": "={{ $('Search Google Play').item.json.search_parameters.q }}",
            "searched_at": "={{ $now.toISO() }}",
            "app_title_to_match": "={{ $('Loop Over Keywords').item.json.app_title_to_match }}"
          },
          "schema": [
            {
              "id": "searched_at",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "searched_at",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "app_title_to_match",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "app_title_to_match",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "keyword",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "keyword",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "rank",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "rank",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "rating",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "rating",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {
          "useAppend": true
        },
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "url",
          "value": ""
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": ""
        }
      },
      "credentials": {},
      "typeVersion": 4.5
    },
    {
      "id": "c2840876-46bb-4355-9e89-b90743a5ed4c",
      "name": "等待",
      "type": "n8n-nodes-base.wait",
      "position": [
        1260,
        115
      ],
      "webhookId": "71256d52-4b36-45a3-9e45-f55f28df091a",
      "parameters": {
        "amount": 4
      },
      "typeVersion": 1.1
    },
    {
      "id": "cd4f9a3b-2ef8-4d7d-b016-887a81eda107",
      "name": "计划触发器",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -280,
        115
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 10
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "d8f9a1e2-8686-4aef-9ab4-49e694ff494a",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        -180
      ],
      "parameters": {
        "color": 7,
        "width": 200,
        "height": 460,
        "content": "## 计划安排"
      },
      "typeVersion": 1
    },
    {
      "id": "f6ce04bc-263c-44c6-b650-1b6947c1a1e4",
      "name": "便签 1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -100,
        -180
      ],
      "parameters": {
        "color": 7,
        "width": 400,
        "height": 460,
        "content": "## 获取匹配关键词和标题"
      },
      "typeVersion": 1
    },
    {
      "id": "2c3c0cbb-ff02-488d-b81b-cfac44bcea2a",
      "name": "便签 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        540,
        -180
      ],
      "parameters": {
        "color": 7,
        "width": 220,
        "height": 460,
        "content": "## 解析排名与评分"
      },
      "typeVersion": 1
    },
    {
      "id": "52f66150-7693-4a10-9751-f753a97de6d1",
      "name": "便签 3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        320,
        -180
      ],
      "parameters": {
        "color": 7,
        "width": 200,
        "height": 460,
        "content": "## 搜索Google Play"
      },
      "typeVersion": 1
    },
    {
      "id": "f4ea5441-9de0-42a2-9dea-aa545c23f18e",
      "name": "获取匹配关键词和标题",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -60,
        115
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "url",
          "value": ""
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": ""
        }
      },
      "credentials": {},
      "typeVersion": 4.5
    },
    {
      "id": "68f1519c-061d-4a95-8d45-f79ff7082ec6",
      "name": "遍历关键词",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        160,
        120
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "7c9a95f8-5e5e-44e3-a6ec-9eeb014ec3c7",
      "name": "搜索Google Play",
      "type": "n8n-nodes-serpapi.serpApi",
      "position": [
        380,
        40
      ],
      "parameters": {
        "q": "={{ $json.keyword }}",
        "operation": "google_play",
        "requestOptions": {},
        "additionalFields": {}
      },
      "credentials": {},
      "typeVersion": 1
    },
    {
      "id": "ab545189-47c1-4074-ba76-020667b0101c",
      "name": "解析目标应用的排名与评分",
      "type": "n8n-nodes-base.code",
      "position": [
        600,
        40
      ],
      "parameters": {
        "jsCode": "index = $input.first().json.organic_results[0].items.findIndex(obj => obj.title.includes($('Loop Over Keywords').first().json.app_title_to_match));\n\nif (index >= 0) {\n  rank = index + 1;\n  rating = $input.first().json.organic_results[0].items[index].rating\n} else {\n  rank = \"N/A\"\n  rating = \"N/A\"\n}\n\nreturn {\n  rank: rank,\n  rating: rating\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "f92cd971-38f9-4878-896b-a0781fee0f60",
      "name": "便签 4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        780,
        -460
      ],
      "parameters": {
        "width": 440,
        "height": 740,
        "content": "## 更新Google表格"
      },
      "typeVersion": 1
    },
    {
      "id": "3ed6ab74-e07f-4b8c-a57b-6f918204bba9",
      "name": "便签 5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1240,
        -180
      ],
      "parameters": {
        "color": 7,
        "width": 200,
        "height": 460,
        "content": "## 延迟"
      },
      "typeVersion": 1
    },
    {
      "id": "958079ab-11a4-464b-8a7d-fc832083bf5e",
      "name": "便签6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -860,
        -420
      ],
      "parameters": {
        "width": 520,
        "height": 1040,
        "content": "## Google Play商店应用排名与评分监控"
      },
      "typeVersion": 1
    },
    {
      "id": "dd0c2409-a2d4-49d4-81eb-9124d7628957",
      "name": "更新最新运行",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1040,
        40
      ],
      "parameters": {
        "columns": {
          "value": {
            "rank": "={{ $('Parse Rank & Rating for Target App').item.json.rank }}",
            "rating": "={{ $('Parse Rank & Rating for Target App').item.json.rating }}",
            "keyword": "={{ $('Loop Over Keywords').item.json.keyword }}",
            "searched_at": "={{ $now.toISO() }}",
            "app_title_to_match": "={{ $('Loop Over Keywords').item.json.app_title_to_match }}",
            "title_keyword_pair": "={{ $('Loop Over Keywords').item.json.title_keyword_pair }}"
          },
          "schema": [
            {
              "id": "app_title_to_match",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "app_title_to_match",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "keyword",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "keyword",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "title_keyword_pair",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "title_keyword_pair",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "rank",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "rank",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "rating",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "rating",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "searched_at",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "searched_at",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "title_keyword_pair"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "url",
          "value": ""
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": ""
        }
      },
      "credentials": {},
      "typeVersion": 4.5
    }
  ],
  "pinData": {},
  "connections": {
    "Wait": {
      "main": [
        [
          {
            "node": "Loop Over Keywords",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Get Keywords and Titles to Match",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update Latest Run": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Keywords": {
      "main": [
        [],
        [
          {
            "node": "Search Google Play",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Search Google Play": {
      "main": [
        [
          {
            "node": "Parse Rank & Rating for Target App",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update Rank & Rating Log": {
      "main": [
        [
          {
            "node": "Update Latest Run",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Keywords and Titles to Match": {
      "main": [
        [
          {
            "node": "Loop Over Keywords",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Rank & Rating for Target App": {
      "main": [
        [
          {
            "node": "Update Rank & Rating Log",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

中级 - 市场调研, 多模态 AI

需要付费吗?

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

工作流信息
难度等级
中级
节点数量15
分类2
节点类型7
难度说明

适合有一定经验的用户,包含 6-15 个节点的中等复杂度工作流

外部链接
在 n8n.io 查看

分享此工作流