Workflow n8n

Automatisation Google Sheets avec n8n : extraction de livres en CSV

  • Ce workflow n8n a pour objectif d'automatiser l'extraction de livres depuis une URL donnée, de nettoyer le HTML et de sauvegarder les informations dans Google Sheets, tout en envoyant le résultat sous forme de fichier CSV par email. Ce processus est particulièrement utile pour les librairies en ligne, les blogueurs littéraires ou toute entreprise souhaitant gérer efficacement des données de livres. En utilisant l'automatisation n8n, les utilisateurs peuvent gagner du temps et réduire les erreurs manuelles dans la collecte de données.
  • Le workflow commence par un déclencheur Google Sheets qui surveille les nouvelles URL ajoutées dans une feuille de calcul. Lorsque qu'une nouvelle URL est détectée, le workflow utilise Dumpling AI pour extraire le contenu de la page web. Ensuite, les livres extraits sont triés par prix grâce à un noeud de tri. Chaque livre est ensuite traité individuellement pour extraire son prix. Les données sont ensuite converties en fichier CSV, prêtes à être envoyées par email. Le workflow se termine par l'envoi du fichier CSV à l'adresse email spécifiée, permettant ainsi une distribution rapide des informations collectées.
  • Les bénéfices de cette automatisation sont multiples : réduction du temps de collecte de données, minimisation des erreurs humaines et amélioration de la productivité. En intégrant ce workflow dans leur processus, les entreprises peuvent se concentrer sur des tâches à plus forte valeur ajoutée tout en s'assurant que les données sont toujours à jour et facilement accessibles.
Tags clés :automatisationGoogle Sheetsextraction de donnéesDumpling AIn8n
Catégorie: Google Sheets Trigger · Tags: automatisation, Google Sheets, extraction de données, Dumpling AI, n8n0

Workflow n8n Google Sheets, extraction de données, Dumpling AI : vue d'ensemble

Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.

Workflow n8n Google Sheets, extraction de données, Dumpling AI : détail des nœuds

  • Convert to CSV File

    Ce noeud convertit les données en un fichier CSV.

  • Extract all books from the page

    Ce noeud extrait toutes les informations sur les livres d'une page HTML.

  • Sort by price

    Ce noeud trie les livres par prix selon les critères spécifiés.

  • Extract individual book price

    Ce noeud extrait le prix individuel de chaque livre à partir du contenu HTML.

  • Send CSV via e-mail

    Ce noeud envoie le fichier CSV par e-mail à l'adresse spécifiée.

  • Sticky Note3

    Ce noeud crée une note autocollante avec le contenu spécifié.

  • Sticky Note

    Ce noeud génère une note autocollante avec une couleur et un contenu définis.

  • Sticky Note1

    Ce noeud crée une note autocollante avec des paramètres de couleur et de taille.

  • Trigger- Watches For new URL in Spreadsheet

    Ce noeud déclenche le workflow lorsqu'une nouvelle URL est ajoutée dans une feuille de calcul.

  • Scrape Website Content with Dumpling AI

    Ce noeud effectue une requête HTTP pour extraire le contenu d'un site web à l'aide de Dumpling AI.

  • Split HTML Array into Individual Books

    Ce noeud divise un tableau HTML en livres individuels.

Inscris-toi pour voir l'intégralité du workflow

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "id": "DswhuYzoemjA6iNN",
  "meta": {
    "instanceId": "a1ae5c8dc6c65e674f9c3947d083abcc749ef2546dff9f4ff01de4d6a36ebfe6",
    "templateCredsSetupCompleted": true
  },
  "name": "Scrape Books from URL with Dumpling AI, Clean HTML, Save to Sheets, Email as CSV",
  "tags": [
    {
      "id": "TlcNkmb96fUfZ2eA",
      "name": "Tutorials",
      "createdAt": "2025-04-15T17:02:00.249Z",
      "updatedAt": "2025-04-15T17:02:00.249Z"
    }
  ],
  "nodes": [
    {
      "id": "2e4f64a5-353c-4dd3-9822-62df795d4940",
      "name": "Convert to CSV File",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        1640,
        340
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "472442d3-a691-4310-93f8-019579d0c473",
      "name": "Extract all books from the page",
      "type": "n8n-nodes-base.html",
      "position": [
        760,
        340
      ],
      "parameters": {
        "options": {},
        "operation": "extractHtmlContent",
        "dataPropertyName": "content",
        "extractionValues": {
          "values": [
            {
              "key": "books",
              "cssSelector": ".row > li",
              "returnArray": true,
              "returnValue": "html"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "92765257-d64d-47c9-bd57-50914342138b",
      "name": "Sort by price",
      "type": "n8n-nodes-base.sort",
      "position": [
        1420,
        340
      ],
      "parameters": {
        "options": {},
        "sortFieldsUi": {
          "sortField": [
            {
              "order": "descending",
              "fieldName": "price"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "efc2f33f-1bef-4906-b3b7-b02868080a54",
      "name": "Extract individual book price",
      "type": "n8n-nodes-base.html",
      "position": [
        1200,
        340
      ],
      "parameters": {
        "options": {},
        "operation": "extractHtmlContent",
        "dataPropertyName": "books",
        "extractionValues": {
          "values": [
            {
              "key": "title",
              "attribute": "title",
              "cssSelector": "h3 > a",
              "returnValue": "attribute"
            },
            {
              "key": "price",
              "cssSelector": ".price_color"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "74c7c3af-d63c-4b6c-95a0-15f45b19134b",
      "name": "Send CSV via e-mail",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1860,
        340
      ],
      "webhookId": "40f2d609-52ed-40bf-b190-1f1cebbe3fb7",
      "parameters": {
        "sendTo": "",
        "message": "Hey, here's the scraped data from the online bookstore!",
        "options": {
          "attachmentsUi": {
            "attachmentsBinary": [
              {}
            ]
          }
        },
        "subject": "bookstore csv",
        "emailType": "text"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "j70r3RTMED1pgN3R",
          "name": "Gmail account 2"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "95c7998b-ece0-4dea-b99e-97ac22fb8a59",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        140,
        -260
      ],
      "parameters": {
        "width": 619,
        "height": 297,
        "content": "### Scrape Books from URL with Dumpling AI, Clean HTML, Save to Sheets, Email as CSV\n\n📌 This workflow scrapes book data from a website, turns it into a CSV, saves it, and sends it by email.\n\n🔧 It starts from a Google Sheets trigger, fetches the page using DumplingAI, extracts books, sorts by price, and emails the CSV.\n\n✅ Make sure APIs for Gmail, Sheets & Drive are enabled in Google Cloud. Update the URL in the \"Fetch website content\" node.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "f599028a-49a9-4b85-b484-5abf1229e373",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        140,
        60
      ],
      "parameters": {
        "color": 4,
        "width": 900,
        "height": 300,
        "content": "### 🔁 Trigger to Raw Book HTML\n\n1. **Google Sheets Trigger**  \n   Watches a sheet for new row entries. Once a new URL is added, the workflow starts.\n\n2. **Fetch Website Content (Dumpling AI)**  \n   Makes an HTTP POST request to Dumpling AI to scrape and return the full HTML of the target URL.\n\n3. **Extract All Books**  \n   Uses CSS selectors to isolate the list items (`li.row > li`) containing book entries.\n\n4. **Split Out Node**  \n   Breaks the array of book HTML blocks into individual items, so each book can be processed separately in the next steps.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "bc6ab72c-de03-4e79-9da0-ca12ddf31811",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1140,
        60
      ],
      "parameters": {
        "color": 6,
        "width": 840,
        "height": 300,
        "content": "### 📦 Parse, Sort, Export & Email\n\n5. **Extract Individual Book Data**  \n   From each book, extract the title (`<h3>a` title attribute) and price (`.price_color` content).\n\n6. **Sort by Price**  \n   Organizes the extracted data in descending order using the price field.\n\n7. **Convert to CSV File**  \n   Transforms the sorted JSON data into a downloadable CSV file format.\n\n8. **Send CSV via Gmail**  \n   Automatically sends an email with the CSV file attached to the predefined address.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "a1246b4e-212f-4bd3-970b-b0ff8db2f834",
      "name": "Trigger- Watches For new URL in Spreadsheet",
      "type": "n8n-nodes-base.googleSheetsTrigger",
      "position": [
        320,
        340
      ],
      "parameters": {
        "event": "rowAdded",
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1pb4WLqv2EruLM1z9-utehcINolSj0vlUqZionyLoRUs/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1pb4WLqv2EruLM1z9-utehcINolSj0vlUqZionyLoRUs/edit?usp=drivesdk",
          "cachedResultName": "URLs"
        }
      },
      "credentials": {
        "googleSheetsTriggerOAuth2Api": {
          "id": "qDzHSzTkclwDHpSR",
          "name": "Google Sheets Trigger account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "b19aa287-3be4-4e16-908d-b0cb484519e3",
      "name": "Scrape Website Content with Dumpling AI",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        540,
        340
      ],
      "parameters": {
        "url": "https://app.dumplingai.com/api/v1/scrape",
        "method": "POST",
        "options": {
          "allowUnauthorizedCerts": true
        },
        "jsonBody": "={\n  \"url\": \"{{ $('Trigger- Watches For new URL in Spreadsheet')}}\", \n  \"format\": \"html\",\n  \"cleaned\": \"True\"\n  }",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "credentials": {
        "httpBasicAuth": {
          "id": "mznexGH3YDtrUTAk",
          "name": "Unnamed credential"
        },
        "httpHeaderAuth": {
          "id": "xamyMqCpAech5BeT",
          "name": "Header Auth account"
        }
      },
      "typeVersion": 4.1
    },
    {
      "id": "02cbc6f9-bdcb-45fc-9973-ded42346ffbc",
      "name": "Split HTML Array into Individual Books",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        980,
        340
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "books"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "264412ff-9d74-443c-a2ff-69be1e042a82",
  "connections": {
    "Sort by price": {
      "main": [
        [
          {
            "node": "Convert to CSV File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert to CSV File": {
      "main": [
        [
          {
            "node": "Send CSV via e-mail",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract individual book price": {
      "main": [
        [
          {
            "node": "Sort by price",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract all books from the page": {
      "main": [
        [
          {
            "node": "Split HTML Array into Individual Books",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split HTML Array into Individual Books": {
      "main": [
        [
          {
            "node": "Extract individual book price",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Scrape Website Content with Dumpling AI": {
      "main": [
        [
          {
            "node": "Extract all books from the page",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Trigger- Watches For new URL in Spreadsheet": {
      "main": [
        [
          {
            "node": "Scrape Website Content with Dumpling AI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Workflow n8n Google Sheets, extraction de données, Dumpling AI : pour qui est ce workflow ?

Ce workflow s'adresse aux entreprises, blogueurs et librairies en ligne qui souhaitent automatiser la collecte de données de livres. Il est adapté aux utilisateurs ayant une connaissance de base des outils numériques et des automatisations, et convient aussi bien aux petites qu'aux grandes organisations.

Workflow n8n Google Sheets, extraction de données, Dumpling AI : problème résolu

Ce workflow résout le problème de la collecte manuelle de données de livres, qui peut être chronophage et sujet à des erreurs. En automatisant ce processus, les utilisateurs éliminent les frustrations liées à la saisie manuelle et au tri des informations. Le résultat est une base de données de livres propre et organisée, accessible rapidement et facilement, ce qui permet une prise de décision plus rapide et éclairée.

Workflow n8n Google Sheets, extraction de données, Dumpling AI : étapes du workflow

Étape 1 : Le workflow est déclenché par l'ajout d'une nouvelle URL dans Google Sheets.

  • Étape 1 : Il utilise Dumpling AI pour extraire le contenu de la page web.
  • Étape 2 : Les livres extraits sont triés par prix.
  • Étape 3 : Chaque livre est traité pour extraire son prix individuel.
  • Étape 4 : Les données sont converties en fichier CSV.
  • Étape 5 : Le fichier CSV est envoyé par email à l'adresse spécifiée.

Workflow n8n Google Sheets, extraction de données, Dumpling AI : guide de personnalisation

Pour personnaliser ce workflow, vous pouvez modifier l'URL de la feuille de calcul Google Sheets à surveiller. Il est également possible d'ajuster les paramètres d'extraction dans le noeud Dumpling AI pour cibler des éléments spécifiques de la page. Pour le noeud d'envoi d'email, vous pouvez changer l'adresse email de destination et le sujet du message. Assurez-vous de tester le flux après chaque modification pour garantir son bon fonctionnement.