Automatisation n8n : extraction de données en masse avec Bright Data
Ce workflow n8n a pour objectif d'automatiser l'extraction de données en masse à l'aide de Bright Data, un outil puissant pour le scraping web. Dans un contexte où la collecte d'informations précises et à jour est cruciale pour les entreprises, ce workflow permet de récupérer des données structurées efficacement. Les cas d'usage incluent la veille concurrentielle, l'analyse de marché et la recherche de leads, offrant ainsi une valeur ajoutée significative aux équipes marketing et commerciales.
- Étape 1 : le processus commence par un déclencheur manuel, permettant à l'utilisateur de tester le workflow à tout moment.
- Étape 2 : une condition est vérifiée pour déterminer la suite du processus.
- Étape 3 : le workflow définit un identifiant de snapshot, suivi par le téléchargement des données via une requête HTTP.
- Étape 4 : une attente est introduite pour s'assurer que le téléchargement est terminé.
- Étape 5 : une vérification des erreurs est effectuée, suivie d'une vérification du statut du snapshot.
- Étape 6 : une notification webhook est initiée pour informer l'utilisateur des résultats.
- Étape 7 : les réponses JSON sont agrégées pour une analyse simplifiée.
- Étape 8 : les données sont ensuite enregistrées sur le disque. Ce workflow permet ainsi de gagner du temps et d'améliorer la précision des données collectées, réduisant les risques d'erreurs manuelles et augmentant l'efficacité opérationnelle.
Workflow n8n data scraping, Bright Data, extraction de données : vue d'ensemble
Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.
Workflow n8n data scraping, Bright Data, extraction de données : détail des nœuds
Inscris-toi pour voir l'intégralité du workflow
Inscription gratuite
S'inscrire gratuitementBesoin d'aide ?{
"id": "OjwmaLrXhW4pO5ph",
"meta": {
"instanceId": "885b4fb4a6a9c2cb5621429a7b972df0d05bb724c20ac7dac7171b62f1c7ef40"
},
"name": "Structured Bulk Data Extract with Bright Data Web Scraper",
"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"
}
],
"nodes": [
{
"id": "1bdca5ae-1e56-4cf2-a8dc-e135a6a2dfec",
"name": "When clicking ‘Test workflow’",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-900,
-395
],
"parameters": {},
"typeVersion": 1
},
{
"id": "533968cd-1329-4a86-8875-478600ed82b7",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
200,
-470
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "6a7e5360-4cb5-4806-892e-5c85037fa71c",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "ready"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "83991fdf-0402-4de3-bbb5-7050e3e9fb62",
"name": "Set Snapshot Id",
"type": "n8n-nodes-base.set",
"position": [
-240,
-395
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "2c3369c6-9206-45d7-9349-f577baeaf189",
"name": "snapshot_id",
"type": "string",
"value": "={{ $json.snapshot_id }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "408a36af-decb-49b3-a95e-a2df0b6eea5f",
"name": "Download Snapshot",
"type": "n8n-nodes-base.httpRequest",
"position": [
640,
-520
],
"parameters": {
"url": "=https://api.brightdata.com/datasets/v3/snapshot/{{ $json.snapshot_id }}",
"options": {
"timeout": 10000
},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "format",
"value": "json"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "kdbqXuxIR8qIxF7y",
"name": "Header Auth account"
}
},
"typeVersion": 4.2
},
{
"id": "9d6cd882-c287-46ca-bc1e-df6b995fc422",
"name": "Wait",
"type": "n8n-nodes-base.wait",
"position": [
420,
-295
],
"webhookId": "631cd5de-36b3-4264-88ae-45b30e2c2ccc",
"parameters": {
"amount": 30
},
"typeVersion": 1.1
},
{
"id": "c9cf847a-6399-4c93-a901-30f1c0e7408a",
"name": "Check on the errors",
"type": "n8n-nodes-base.if",
"position": [
420,
-520
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "b267071c-7102-407b-a98d-f613bcb1a106",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.errors.toString() }}",
"rightValue": "0"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "b648614e-c33e-4818-8348-e95df56928c7",
"name": "Check Snapshot Status",
"type": "n8n-nodes-base.httpRequest",
"position": [
-20,
-395
],
"parameters": {
"url": "=https://api.brightdata.com/datasets/v3/progress/{{ $json.snapshot_id }}",
"options": {},
"sendHeaders": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "kdbqXuxIR8qIxF7y",
"name": "Header Auth account"
}
},
"typeVersion": 4.2
},
{
"id": "408a1584-666f-471e-bfcd-c4d857319688",
"name": "Initiate a Webhook Notification",
"type": "n8n-nodes-base.httpRequest",
"position": [
1080,
-520
],
"parameters": {
"url": "https://webhook.site/daf9d591-a130-4010-b1d3-0c66f8fcf467",
"options": {},
"sendBody": true,
"bodyParameters": {
"parameters": [
{
"name": "response",
"value": "={{ $json.data[0] }}"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "6548a794-a4fd-4050-b07d-bc7ca4517882",
"name": "Aggregate JSON Response",
"type": "n8n-nodes-base.aggregate",
"position": [
860,
-520
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData"
},
"typeVersion": 1
},
{
"id": "c84e195c-edd2-4f59-8986-516d116b7352",
"name": "Set Dataset Id, Request URL",
"type": "n8n-nodes-base.set",
"position": [
-680,
-400
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "c16061c8-c829-4bd3-b335-e79c605665f2",
"name": "dataset_id",
"type": "string",
"value": "gd_l7q7dkf244hwjntr0"
},
{
"id": "a4594c55-e39e-4a9e-80d6-d39370001e20",
"name": "request",
"type": "string",
"value": "[{ \"url\": \"https://www.amazon.com/Quencher-FlowState-Stainless-Insulated-Smoothie/dp/B0CRMZHDG8\" }]"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "ceae108e-ed78-40c5-8e58-7013591ccaad",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-900,
-700
],
"parameters": {
"width": 520,
"height": 280,
"content": "## Note\n\nDeals with the Amazon web scraping by utilizing Bright Data Web Scraper Product.\n\n\n**Please make sure to set the Bright Data \n -> Dataset Id, Request URL and update the Webhook Notification URL**\n\nRefer \n- https://brightdata.com/products/web-scraper/ai\n- https://brightdata.com/products/web-scraper"
},
"typeVersion": 1
},
{
"id": "1f55cffa-abd9-437b-bc9d-3fe0d8b02454",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-120,
-600
],
"parameters": {
"color": 5,
"width": 720,
"height": 500,
"content": "## Wait until the Snapshot is ready"
},
"typeVersion": 1
},
{
"id": "d8ba0f62-80a9-4e66-b70c-086ee5992df6",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-900,
-220
],
"parameters": {
"color": 4,
"width": 660,
"content": "## Who can benefit?\nData analysts, scientists, engineers, and developers seeking efficient methods to collect and analyze web data for AI, ML, big data applications, and more will find Scraper APIs particularly beneficial."
},
"typeVersion": 1
},
{
"id": "7fdffafd-f256-4760-b001-a42b5198dbad",
"name": "Create a binary data",
"type": "n8n-nodes-base.function",
"position": [
1100,
-720
],
"parameters": {
"functionCode": "items[0].binary = {\n data: {\n data: new Buffer(JSON.stringify(items[0].json, null, 2)).toString('base64')\n }\n};\nreturn items;"
},
"typeVersion": 1
},
{
"id": "934ab31a-cfb9-4e97-8d86-92cd95dd219c",
"name": "Write the file to disk",
"type": "n8n-nodes-base.readWriteFile",
"position": [
1320,
-720
],
"parameters": {
"options": {},
"fileName": "d:\\bulk_data.json",
"operation": "write"
},
"typeVersion": 1
},
{
"id": "1130523a-b598-425e-acf1-417ae8699f66",
"name": "HTTP Request to the specified URL",
"type": "n8n-nodes-base.httpRequest",
"position": [
-460,
-395
],
"parameters": {
"url": "https://api.brightdata.com/datasets/v3/trigger",
"method": "POST",
"options": {},
"jsonBody": "={{ $json.request }}",
"sendBody": true,
"sendQuery": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "dataset_id",
"value": "={{ $json.dataset_id }}"
},
{
"name": "format",
"value": "json"
},
{
"name": "uncompressed_webhook",
"value": "true"
}
]
},
"headerParameters": {
"parameters": [
{}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "kdbqXuxIR8qIxF7y",
"name": "Header Auth account"
}
},
"typeVersion": 4.2
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "8fb2eb85-ffd6-4632-9668-00f29bc91c34",
"connections": {
"If": {
"main": [
[
{
"node": "Check on the errors",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
},
"Wait": {
"main": [
[
{
"node": "Check Snapshot Status",
"type": "main",
"index": 0
}
]
]
},
"Set Snapshot Id": {
"main": [
[
{
"node": "Check Snapshot Status",
"type": "main",
"index": 0
}
]
]
},
"Download Snapshot": {
"main": [
[
{
"node": "Aggregate JSON Response",
"type": "main",
"index": 0
}
]
]
},
"Check on the errors": {
"main": [
[
{
"node": "Download Snapshot",
"type": "main",
"index": 0
}
]
]
},
"Create a binary data": {
"main": [
[
{
"node": "Write the file to disk",
"type": "main",
"index": 0
}
]
]
},
"Check Snapshot Status": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"Aggregate JSON Response": {
"main": [
[
{
"node": "Initiate a Webhook Notification",
"type": "main",
"index": 0
},
{
"node": "Create a binary data",
"type": "main",
"index": 0
}
]
]
},
"Set Dataset Id, Request URL": {
"main": [
[
{
"node": "HTTP Request to the specified URL",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request to the specified URL": {
"main": [
[
{
"node": "Set Snapshot Id",
"type": "main",
"index": 0
}
]
]
},
"When clicking ‘Test workflow’": {
"main": [
[
{
"node": "Set Dataset Id, Request URL",
"type": "main",
"index": 0
}
]
]
}
}
}Workflow n8n data scraping, Bright Data, extraction de données : pour qui est ce workflow ?
Ce workflow s'adresse aux entreprises de taille petite à moyenne, ainsi qu'aux équipes marketing et commerciales qui cherchent à automatiser la collecte de données. Un niveau technique intermédiaire est recommandé pour une personnalisation efficace.
Workflow n8n data scraping, Bright Data, extraction de données : problème résolu
Ce workflow résout le problème de la collecte manuelle de données, qui est souvent chronophage et sujette à des erreurs. En automatisant ce processus, les utilisateurs peuvent réduire les risques d'inexactitudes et gagner un temps précieux. Les résultats concrets incluent une extraction de données plus rapide et fiable, permettant aux équipes de se concentrer sur l'analyse et l'utilisation stratégique des informations collectées.
Workflow n8n data scraping, Bright Data, extraction de données : étapes du workflow
Étape 1 : le workflow est déclenché manuellement.
- Étape 1 : une condition est vérifiée pour déterminer la suite du processus.
- Étape 2 : un identifiant de snapshot est défini.
- Étape 3 : les données sont téléchargées via une requête HTTP.
- Étape 4 : une attente est introduite pour assurer la complétion du téléchargement.
- Étape 5 : une vérification des erreurs est effectuée.
- Étape 6 : le statut du snapshot est vérifié.
- Étape 7 : une notification webhook est envoyée.
- Étape 8 : les réponses JSON sont agrégées.
- Étape 9 : les données sont enregistrées sur le disque.
Workflow n8n data scraping, Bright Data, extraction de données : guide de personnalisation
Pour personnaliser ce workflow, vous pouvez modifier l'URL de la requête HTTP pour cibler des sources spécifiques de données. Il est également possible d'ajuster les conditions dans le noeud 'If' pour répondre à des critères particuliers. Pensez à adapter les paramètres de notification webhook pour qu'ils correspondent à votre système de gestion des alertes. Enfin, assurez-vous de vérifier les permissions d'accès aux données et de sécuriser les informations sensibles lors de l'enregistrement sur disque.