Workflow n8n

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.
Tags clés :automatisationdata scrapingBright Datan8nextraction de données
Catégorie: Manual · Tags: automatisation, data scraping, Bright Data, n8n, extraction de données0

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

  • When clicking ‘Test workflow’

    Déclenche le workflow lorsque l'utilisateur clique sur 'Test workflow'.

  • If

    Évalue une condition pour déterminer le chemin à suivre dans le workflow.

  • Set Snapshot Id

    Définit un identifiant de snapshot à utiliser dans le workflow.

  • Download Snapshot

    Effectue une requête HTTP pour télécharger un snapshot à partir d'une URL spécifiée.

  • Wait

    Met le workflow en pause pendant une durée spécifiée.

  • Check on the errors

    Vérifie si des erreurs se sont produites et dirige le flux en conséquence.

  • Check Snapshot Status

    Effectue une requête HTTP pour vérifier le statut d'un snapshot.

  • Initiate a Webhook Notification

    Initie une notification webhook en envoyant une requête HTTP à une URL spécifiée.

  • Aggregate JSON Response

    Agrège les réponses JSON reçues pour les traiter ensemble.

  • Set Dataset Id, Request URL

    Définit un identifiant de dataset et une URL de requête à utiliser dans le workflow.

  • Sticky Note

    Crée une note autocollante avec des dimensions et un contenu spécifiés.

  • Sticky Note1

    Crée une note autocollante colorée avec des dimensions et un contenu spécifiés.

  • Sticky Note2

    Crée une note autocollante colorée avec un contenu spécifié.

  • Create a binary data

    Crée des données binaires à l'aide d'un code de fonction personnalisé.

  • Write the file to disk

    Écrit un fichier sur le disque selon les options et le nom de fichier spécifiés.

  • HTTP Request to the specified URL

    Effectue une requête HTTP vers une URL spécifiée avec les paramètres appropriés.

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.