PROJET

Logiciel de web scraping pour des données propres prêtes à l’export

Développement logiciel sur mesure, Web scraping, Extraction de données, Nettoyage des données, Déduplication, Validation des données, Intégration de bases de données, Automatisation des exports

  • Secteur: Services aux entreprises
  • Luxembourg Localisation: Luxembourg
  • Délai de livraison: 16 semaines
  • Technologies: Python, PHP
4+ mois

Ce client consacre du temps à collecter des enregistrements depuis des sites web, des bases de données et des API avant que les données soient prêtes pour l’analyse ou l’importation. Le logiciel de web scraping prend en charge les pages, les points d’accès et les fichiers. Il extrait les champs sélectionnés, puis les nettoie et les valide. Il fournit des données cohérentes pour les feuilles de calcul, les bases SQL ou les applications. Il offre à une entreprise de traitement des données un moyen reproductible de préparer des enregistrements issus de sources variées, tout en réduisant le travail manuel et les reprises.

Résumé

Problème

Le client consacre du temps à collecter et préparer manuellement des enregistrements issus de sources variées.

Solution

La solution est devenue un workflow reproductible de web scraping et de nettoyage des données pour l’extraction, la validation et l’export.

Résultat

Le logiciel est conçu pour réduire le temps de préparation manuelle et les erreurs avant l’arrivée des données à destination.

Parcours client

Le client est une entreprise luxembourgeoise de traitement des données. Elle consolide des enregistrements provenant de sites web, de bases de données et d’API pour une utilisation ultérieure.

La collecte et la préparation manuelles prennent du temps, car les sources ont des structures et des formats différents. Des champs incohérents entraînent également des reprises avant l’export ou l’importation.

La demande était simple : créer des workflows reproductibles basés sur Python, la ligne de commande, des notebooks ou des applications. Ils devaient extraire, nettoyer et valider les données avant de les envoyer vers la destination requise.

La solution a été structurée autour de la configuration des sources, d’un espace de nettoyage et de validation, et d’un export structuré. Les règles relatives aux champs, aux schémas et aux destinations restaient visibles afin que l’équipe cliente puisse appliquer ses propres standards.

Le client demandait

  1. Exécuter des workflows reproductibles basés sur Python, la ligne de commande, des notebooks ou des applications.
  2. Exporter les résultats nettoyés au format CSV, Excel, Parquet, JSON, Sheets, texte ou SQL.
  3. Nettoyer, normaliser, transformer, dédupliquer, filtrer, trier et consolider les données.
  4. Fournir des journaux, rapports d’erreurs, documentation, instructions de configuration, code et dépendances.

Pourquoi les logiciels prêts à l’emploi ne convenaient pas

Les produits prêts à l’emploi couvrent certaines parties de la tâche : collecte web, extraction gérée, intégration de données ou règles de scraping configurables. Le projet décrit des fonctionnalités distinctes pour l’extraction, le nettoyage et la validation des sources. Il décrit également le mappage des destinations et les rapports. Le workflow complet du client nécessitait donc sa propre combinaison.

Présentation du projet

La solution a été conçue autour de trois étapes : configuration des sources et de l’extraction, nettoyage et validation, puis export structuré. Le parcours entre l’enregistrement source et sa destination reste ainsi clair.

Le premier écran regroupe les sites web, bases de données et API dans une seule configuration. Il accepte également les fichiers et définit les champs ainsi que la structure de destination pour chaque exécution.

Pour gérer des formats sources variés, des workflows Python ont été fournis pour l’extraction et la préparation. L’analyse HTML, l’accès aux bases de données, la lecture des feuilles de calcul et la conversion de documents prennent en charge les sources indiquées.

L’espace de nettoyage affiche les valeurs brutes et nettoyées, les groupes de doublons et les résultats de validation. Les règles de nettoyage et de déduplication préparent une structure cohérente.

La vue d’export associe les colonnes et les schémas aux destinations CSV, Excel ou aux bases de données. Les synthèses de traitement et les journaux d’exécution rendent l’état de chaque exécution visible.

La documentation, les instructions de configuration et le code source étaient inclus. Les informations sur les dépendances et les journaux opérationnels aident l’équipe cliente à gérer les workflows et à les adapter à ses propres règles de données.

Fonctionnalités clés fournies

  • Web scraping de pages et champs sélectionnés
  • Extraction depuis des bases de données, API, fichiers et documents
  • Workflows Python et applicatifs reproductibles
  • Nettoyage, normalisation et transformation
  • Détection des doublons et fusion des enregistrements
  • Validation des schémas et des champs
  • Rapports sur les enregistrements ignorés et les erreurs
  • Export CSV, Excel, Parquet, JSON, texte, Sheets et SQL

Peut être ajouté

+ Gestion de la pagination + Prise en charge des pages dynamiques et de JavaScript + Gestion des limites de débit + Gestion des CAPTCHA + Connecteurs de destination supplémentaires + Documentation du traitement et assistance à la configuration

Qui d’autre peut utiliser cette solution

Les entreprises confrontées à une tâche similaire de préparation des données peuvent adapter la même solution à leurs sources, règles et destinations.

Une équipe de recherche et d’analyse

Tâche Elle prépare des enregistrements issus de sites web, d’API, de fichiers et de bases de données pour l’analyse et les rapports.
Comment la solution aide La solution extrait les champs sélectionnés, les valide, supprime les doublons et exporte un jeu de données cohérent.

Une entreprise de traitement de documents

Tâche Elle traite des lots de PDF, rapports, factures, formulaires et documents numérisés.
Comment la solution aide La solution extrait les données des documents, applique des règles de nettoyage et de validation, et enregistre les éléments ignorés ou échoués.

Une équipe chargée des opérations de données

Tâche Elle importe les enregistrements extraits dans des feuilles de calcul, des bases SQL ou des applications.
Comment la solution aide La solution associe les colonnes nettoyées à la destination requise et conserve une synthèse du traitement pour chaque exécution.

Stack technologique

Python

Workflows d’extraction et de nettoyage

Python exécute les workflows reproductibles qui extraient, nettoient, normalisent, valident et consolident les enregistrements.

PHP

Import et export de feuilles de calcul

PHP prend en charge le traitement des feuilles de calcul et des fichiers CSV lorsque le workflow utilise des outils basés sur PHP.

JavaScript / TypeScript (Node.js)

Traitement web et des feuilles de calcul

Node.js prend en charge l’analyse HTML, la gestion des feuilles de calcul et les connexions aux bases de données dans les workflows applicatifs.

SQLAlchemy

Abstraction des bases de données

SQLAlchemy (une bibliothèque qui connecte les applications aux bases de données via une interface commune) prend en charge l’accès aux bases et la gestion des destinations.

PyMySQL

Accès aux bases MySQL

PyMySQL (un pilote Python pour MySQL et MariaDB) connecte le workflow aux enregistrements MySQL.

firecrawl-anydoc

Conversion de documents

firecrawl-anydoc (une bibliothèque qui convertit les documents et feuilles de calcul en Markdown) prend en charge l’extraction du contenu des documents.

openpyxl

Lecture et écriture XLSX

openpyxl (une bibliothèque Python pour les classeurs Excel) lit et écrit les fichiers XLSX.

cheerio

Analyse et scraping HTML

cheerio (une bibliothèque d’analyse et de manipulation HTML) extrait le contenu sélectionné des pages web.

CSV, XLSX, JSON, Parquet

Sorties de fichiers structurées

Ces formats transportent les enregistrements nettoyés vers des fichiers, feuilles de calcul, applications et outils d’analyse.

Intégrations

PostgreSQL, MySQL, and SQLite

Le workflow lit les enregistrements des bases de données et écrit les données nettoyées vers des destinations SQL.

Google Sheets

Les enregistrements nettoyés sont mappés dans des structures Google Sheets.

Excel

Le système lit les sources au format tableur et exporte les enregistrements mappés sous forme de fichiers Excel.

Websites and APIs

Le scraper reçoit les pages et les réponses d’API, puis extrait les champs sélectionnés.

Le résultat

Les sources et les champs restent définis au même endroit

L’écran de configuration des sources offre à l’entreprise de traitement des données un point de départ clair pour le web scraping et l’extraction de données. Il regroupe les détails des sources, les champs demandés et les sélecteurs HTML.

Les exécutions reproductibles utilisent les mêmes règles d’extraction pour les tâches récurrentes, tandis que le type de source couvre les sites web, bases de données et API.

Comment ça marche

  1. La configuration des sources lit les URL, points d’accès, détails des bases de données, chemins de fichiers, champs sélectionnés et éléments HTML cibles.
  2. Le workflow d’extraction analyse le contenu des sources et prépare les champs demandés.
  3. Le système applique au traitement le format de destination ou la base de données cible sélectionné.
  • Les champs des sites web peuvent être sélectionnés avec des sélecteurs d’éléments HTML.
  • Les sources de type base de données, API et fichier utilisent leurs informations de connexion ou chemins correspondants.
Conseil : Une première version fonctionnelle peut être testée sur des fichiers clients types avant d’affiner les règles restantes.
Configuration des sources et de l’extraction

Configuration des sources et de l’extraction

Fonctionnalités de cet écran
Extraire les données d’un site web Récupérer des données textuelles Extraire des données HTML

Les règles de nettoyage rendent les enregistrements cohérents

L’espace de nettoyage affiche les valeurs brutes et nettoyées côte à côte avec le statut de validation. Les groupes de doublons et les raisons des enregistrements ignorés facilitent l’examen des exceptions avant l’export.

Le résultat est une structure cohérente préparée pour l’analyse, l’importation ou les requêtes, plutôt qu’un ensemble d’enregistrements sources non traités.

Comment ça marche

  1. Le workflow de nettoyage normalise, transforme, filtre, trie et consolide les valeurs des champs.
  2. Le module de déduplication identifie les groupes de doublons et prépare les enregistrements fusionnés.
  3. Le module de validation vérifie les enregistrements par rapport aux schémas, modèles, listes de champs ou formats attendus.
  • Le statut de validation est affiché pour chaque enregistrement ou champ.
  • Les enregistrements ignorés et les erreurs de traitement restent visibles dans l’espace de travail.
Espace de nettoyage et de validation

Espace de nettoyage et de validation

Fonctionnalités de cet écran
Extraire des données avec Python Dédupliquer les données Valider les données en temps réel Valider les champs extraits Journaliser les enregistrements ignorés

Les enregistrements propres atteignent la destination requise

La vue d’export relie les données nettoyées à la structure de destination requise par le client. Elle associe les colonnes aux fichiers, feuilles de calcul ou bases de données.

Une synthèse du traitement et un journal d’exécution affichent les nombres d’éléments traités, ignorés et en erreur pour l’export.

Comment ça marche

  1. Le module d’export associe les colonnes nettoyées au format de sortie ou au schéma de destination sélectionné.
  2. Le système écrit les enregistrements au format CSV, Excel, Parquet, JSON, texte brut, Google Sheets, SQL ou dans une base de données.
  3. Le journal d’exécution enregistre la synthèse du traitement, les éléments ignorés et les erreurs.
  • Les destinations SQL incluent les enregistrements PostgreSQL, MySQL et SQLite.
  • Les destinations tableur peuvent utiliser des structures Excel ou Google Sheets.
Remarque : La documentation, les instructions de configuration, le code source et les informations sur les dépendances facilitent la gestion continue par l’équipe cliente.
Vue de l’export structuré et des destinations

Vue de l’export structuré et des destinations

Fonctionnalités de cet écran
Organiser les données extraites Outil d’export Excel Stocker les données dans une base SQL Mettre à jour automatiquement une base Excel Insérer de nouveaux enregistrements dans MySQL

Ce que la solution apporte

Grâce à cette solution, l’entreprise de traitement des données peut :

  • Exécuter des workflows d’extraction reproductibles pour les sources récurrentes
  • Extraire les champs sélectionnés de sites web et les enregistrements de fichiers, API et bases de données
  • Nettoyer, normaliser, transformer, consolider et dédupliquer les enregistrements
  • Valider les données avant leur arrivée à destination
  • Exporter des enregistrements cohérents vers des fichiers, feuilles de calcul, bases SQL ou applications
  • Examiner les enregistrements ignorés, les erreurs et les synthèses de traitement

Les systèmes prêts à l’emploi pourraient-ils faire le travail ?

Avant la conception, la tâche a été comparée aux produits prêts à l’emploi à partir de leurs propres descriptions.

Besoins du client Logiciels d’extraction de données Data Extraction Plateformes de web scraping Oxylabs, Zyte, Scrapfly Plateformes d’intégration de données Dataddo, Improvado Solution sur mesure
Exécuter des workflows d’extraction reproductibles
Exporter dans les formats de données requis —
Nettoyer et dédupliquer les données sources — — —
Fournir des journaux, du code et de la documentation — — —
Respecter les propres règles du client : étapes, rôles, rapports — — —
Toutes les étapes au même endroit — — —
Aucune étape manuelle entre les programmes partiellement partiellement partiellement

D’après les descriptions publiques des produits et de leur catégorie.

Les produits prêts à l’emploi couvrent l’extraction de données, la collecte web et le transfert de données. Un produit prêt à l’emploi suffit lorsqu’un seul de ces éléments est nécessaire.

Pour ce client, les sources, règles de nettoyage, validations, rapports et destinations requis devaient fonctionner ensemble au même endroit.

Les descriptions des produits ne présentaient pas la combinaison complète des règles propres au client et de la préparation des données de la source à la destination.

En conclusion

En conclusion, la solution a été conçue pour réduire le travail manuel entre les enregistrements issus de sources variées et les fichiers ou bases de données propres.

FAQ

Vous envisagez de créer un système similaire ? Consultez les réponses ci-dessous pour découvrir comment un workflow personnalisé d’extraction et de nettoyage des données peut s’adapter à vos sources et destinations.