使用 Bright Data API 和 Google Sheets 集成的 Zillow 房产列表按位置和类别抓取器
高级
这是一个AI, Marketing领域的自动化工作流,包含 16 个节点。主要使用 If, Wait, FormTrigger, HttpRequest, GoogleSheets 等节点,结合人工智能技术实现智能自动化。 基于 Bright Data 和 Google Sheets 的 Zillow 房产抓取器,按位置筛选
前置要求
- •可能需要目标 API 的认证凭证
- •Google Sheets API 凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "0eFmaRUQnmJfkcaI",
"meta": {
"instanceId": "bc8ca75c203589705ae2e446cad7181d6f2a7cc1766f958ef9f34810e53b8cb2",
"templateCredsSetupCompleted": true
},
"name": "使用 Bright Data API 和 Google Sheets 集成的 Zillow 房产列表按位置和类别抓取器",
"tags": [],
"nodes": [
{
"id": "3ac2c390-45ef-4c40-99ba-7c41e387f88c",
"name": "📝 表单触发器 - 开始房产搜索",
"type": "n8n-nodes-base.formTrigger",
"position": [
-2040,
620
],
"webhookId": "1485a089-e3a3-4aff-8043-9e2e24a24bad",
"parameters": {
"options": {},
"formTitle": "Zillow Property Search",
"formFields": {
"values": [
{
"fieldLabel": "Location",
"requiredField": true
},
{
"fieldType": "dropdown",
"fieldLabel": "Listing Category",
"fieldOptions": {
"values": [
{
"option": "House for rent"
},
{
"option": "House for sale"
}
]
}
}
]
}
},
"typeVersion": 2.2
},
{
"id": "e8976089-8572-45f0-b895-3517bf157801",
"name": "📤 触发 Bright Data 抓取任务",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1800,
620
],
"parameters": {
"url": "https://api.brightdata.com/datasets/v3/trigger",
"method": "POST",
"options": {},
"jsonBody": "={\n \"input\": [\n {\n \"location\": \"{{ $json.Location }}\",\n \"listingCategory\": \"{{ $json['Listing Category'] }}\",\n \"HomeType\": \"\",\n \"days_on_zillow\": \"\"\n }\n ]\n}",
"sendBody": true,
"sendQuery": true,
"sendHeaders": true,
"specifyBody": "json",
"queryParameters": {
"parameters": [
{
"name": "dataset_id",
"value": "gd_lfqkr8wm13ixtbd8f5"
},
{
"name": "include_errors",
"value": "true"
},
{
"name": "type",
"value": "discover_new"
},
{
"name": "discover_by",
"value": "input_filters"
},
{
"name": "limit_per_input",
"value": "2"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer BRIGHT_DATA_API_KEY"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "1a3a3572-b249-4ca0-9b18-0fc2341aea93",
"name": "表单提交说明",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2080,
545
],
"parameters": {
"color": 7,
"width": 180,
"height": 240,
"content": "当用户通过表单提交位置和类别时启动工作流"
},
"typeVersion": 1
},
{
"id": "902fe79f-8373-4a17-9e6a-a8449bcd48f5",
"name": "API 触发器说明",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1850,
545
],
"parameters": {
"color": 2,
"width": 200,
"height": 240,
"content": "向 Bright Data API 发送搜索请求以触发 Zillow 数据抓取"
},
"typeVersion": 1
},
{
"id": "eea4519d-eaca-4bba-b31b-67c12bdd943b",
"name": "状态检查说明",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1610,
545
],
"parameters": {
"color": 6,
"width": 200,
"height": 240,
"content": "监控抓取任务状态并等待完成"
},
"typeVersion": 1
},
{
"id": "0992cf05-aa2c-449f-af0f-c4cbd4cb340d",
"name": "⏳ 检查抓取任务状态",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1560,
620
],
"parameters": {
"url": "=https://api.brightdata.com/datasets/v3/progress/{{ $json.snapshot_id }}",
"options": {},
"sendQuery": true,
"sendHeaders": true,
"queryParameters": {
"parameters": [
{
"name": "format",
"value": "json"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer BRIGHT_DATA_API_KEY"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "ce4357aa-e6de-4082-8cef-7cb3aa9727a2",
"name": "等待计时器说明",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1140,
660
],
"parameters": {
"color": 6,
"width": 220,
"height": 220,
"content": "在重新检查抓取任务状态前等待 1 分钟"
},
"typeVersion": 1
},
{
"id": "5be9e5cb-57d3-47db-ba39-543799a1ecad",
"name": "⏱️ 重试前等待",
"type": "n8n-nodes-base.wait",
"position": [
-1100,
720
],
"webhookId": "7047efad-de41-4608-b95c-d3e0203ef620",
"parameters": {
"unit": "minutes",
"amount": 1
},
"typeVersion": 1.1
},
{
"id": "60878135-aa34-4b71-98ca-ac9dccc6b7e9",
"name": "数据验证说明",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1140,
420
],
"parameters": {
"color": 5,
"width": 220,
"height": 220,
"content": "验证抓取结果中是否找到房产数据"
},
"typeVersion": 1
},
{
"id": "4b6df4c2-c72a-4a29-8077-17332184a038",
"name": "数据检索说明",
"type": "n8n-nodes-base.stickyNote",
"position": [
-880,
400
],
"parameters": {
"color": 4,
"width": 220,
"height": 220,
"content": "使用快照 ID 检索实际的房产数据"
},
"typeVersion": 1
},
{
"id": "fc1fcdd3-f3cf-43aa-ac63-bfc5270b3663",
"name": "📥 获取房产列表数据",
"type": "n8n-nodes-base.httpRequest",
"position": [
-820,
460
],
"parameters": {
"url": "=https://api.brightdata.com/datasets/v3/snapshot/{{ $json.snapshot_id }}",
"options": {},
"sendQuery": true,
"sendHeaders": true,
"queryParameters": {
"parameters": [
{
"name": "format",
"value": "json"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer BRIGHT_DATA_API_KEY"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "b980cf99-85cc-4dd9-9c41-405f20e45827",
"name": "Google Sheets 保存说明",
"type": "n8n-nodes-base.stickyNote",
"position": [
-640,
400
],
"parameters": {
"color": 3,
"height": 220,
"content": "将抓取的房产数据保存到您的 Google 表格"
},
"typeVersion": 1
},
{
"id": "a9daf529-3b67-4f07-8d55-95af66861baf",
"name": "📄 将房产数据保存到 Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
-600,
460
],
"parameters": {
"columns": {
"value": {
"URL": "={{ $json.hdpUrl }}",
"City": "={{ $json.city }}",
"Country": "={{ $json.country }}",
"Home Type": "={{ $json.homeType }}",
"Zestimate": "={{ $json.zestimate }}",
"Year Built": "={{ $json.yearBuilt }}",
"Agent Phone": "={{ $json.listing_provided_by.phone_number }}",
"Home Status": "={{ $json.homeStatus }}",
"School Rating": "={{ $json.schools[0].rating }}",
"Street Address": "={{ $json.address }}",
"Interior Details": "={{ $json.interior_full[0].values }}"
},
"schema": [
{
"id": "URL",
"type": "string",
"display": true,
"required": false,
"displayName": "URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "City",
"type": "string",
"display": true,
"required": false,
"displayName": "City",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Agent Phone",
"type": "string",
"display": true,
"required": false,
"displayName": "Agent Phone",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Home Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Home Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Street Address",
"type": "string",
"display": true,
"required": false,
"displayName": "Street Address",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Zestimate",
"type": "string",
"display": true,
"required": false,
"displayName": "Zestimate",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "School Rating",
"type": "string",
"display": true,
"required": false,
"displayName": "School Rating",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Year Built",
"type": "string",
"display": true,
"required": false,
"displayName": "Year Built",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Home Type",
"type": "string",
"display": true,
"required": false,
"displayName": "Home Type",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Country",
"type": "string",
"display": true,
"required": false,
"displayName": "Country",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Interior Details",
"type": "string",
"display": true,
"required": false,
"displayName": "Interior Details",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "Zillow",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit#gid=0",
"cachedResultName": "Zillow"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "YOUR_GOOGLE_SHEET_ID",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit",
"cachedResultName": "Property Data Sheet"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "YOUR_GOOGLE_SHEETS_CREDENTIAL_ID",
"name": "Google Sheets OAuth2"
}
},
"typeVersion": 4.6
},
{
"id": "74062322-6e62-40d6-8876-dada77a319fc",
"name": "✅ 检查抓取是否完成",
"type": "n8n-nodes-base.if",
"position": [
-1320,
540
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "or",
"conditions": [
{
"id": "35ed620d-b5d5-4e97-bcc5-52b283d85616",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "ready"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "25326b0a-7fb3-4ee5-9d6a-56c2d1d4cf41",
"name": "📊 验证房产数据是否存在",
"type": "n8n-nodes-base.if",
"position": [
-1080,
480
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "f01bd215-c406-493c-a6e4-2b8ec5686b44",
"operator": {
"type": "number",
"operation": "notEquals"
},
"leftValue": "={{ $json.records }}",
"rightValue": "={{ 0 }}"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "3a7c4645-e5e9-4feb-8635-0953b6ae6a6a",
"name": "Google 表格模板说明",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2080,
300
],
"parameters": {
"color": 7,
"width": 280,
"content": "示例 Google 表格模板:"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "1be06750-3f46-4f87-ab33-829b4e8f3079",
"connections": {
"⏱️ Wait Before Retry": {
"main": [
[
{
"node": "⏳ Check Scraping Job Status",
"type": "main",
"index": 0
}
]
]
},
"⏳ Check Scraping Job Status": {
"main": [
[
{
"node": "✅ Check If Scraping Complete",
"type": "main",
"index": 0
}
]
]
},
"✅ Check If Scraping Complete": {
"main": [
[
{
"node": "📊 Validate Property Data Exists",
"type": "main",
"index": 0
}
],
[
{
"node": "⏱️ Wait Before Retry",
"type": "main",
"index": 0
}
]
]
},
"📥 Fetch Property Listing Data": {
"main": [
[
{
"node": "📄 Save Property Data to Google Sheets",
"type": "main",
"index": 0
}
]
]
},
"📊 Validate Property Data Exists": {
"main": [
[
{
"node": "📥 Fetch Property Listing Data",
"type": "main",
"index": 0
}
]
]
},
"📤 Trigger Bright Data Scraping Job": {
"main": [
[
{
"node": "⏳ Check Scraping Job Status",
"type": "main",
"index": 0
}
]
]
},
"📝 Form Trigger - Start Property Search": {
"main": [
[
{
"node": "📤 Trigger Bright Data Scraping Job",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 人工智能, 营销
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
潜在客户工作流:通过 BrightData 进行 Yelp 和 Trustpilot 抓取 + OpenAI 分析
通过 Yelp 和 Trustpilot 抓取 + AI 驱动的邮件外联生成销售线索
If
Code
Wait
+9
32 节点Incrementors
销售
集成Bright Data与Telegram提醒的Google Play评论智能系统
使用Bright Data和Telegram提醒的Google Play评论智能分析系统
If
Wait
Telegram
+4
18 节点Incrementors
人工智能
使用Bright Data、Gemini AI和Google Sheets按关键词分析Crunchbase初创公司
使用Bright Data、Gemini AI和Google Sheets按关键词分析Crunchbase初创公司
If
Code
Wait
+7
13 节点Gleb D
人工智能
使用关键词在 X 和其他社交媒体平台发布最新新闻
使用关键词和 Bright Data 通过 AI 内容生成自动发布最新新闻到 X
If
Code
Wait
+8
16 节点Dvir Sharon
设计
通过竞争对手内容分析发现市场研究和 SEO 的内容空白
使用 InfraNodus GraphRAG 分析竞争对手网站内容空白,助力 SEO
If
Code
Wait
+12
37 节点InfraNodus
人工智能
使用 Bright Data 和 GPT 抓取 Glassdoor 发现高意向销售线索
通过 Bright Data 和 GPT 抓取 Glassdoor 发现高意向销售线索
If
Wait
Split Out
+6
16 节点Yaron Been
销售