PROGETTO

Software di web scraping per dati puliti pronti all'esportazione

Sviluppo software personalizzato, Web scraping, Estrazione dati, Pulizia dati, Deduplicazione, Validazione dati, Integrazione con database, Automazione dell'esportazione

  • Settore: Servizi alle imprese
  • Lussemburgo Località: Lussemburgo
  • Tempi di consegna: 16 settimane
  • Tecnologie: Python, PHP
4+ mesi

Questo cliente dedica tempo alla raccolta di record da siti web, database e API prima che i dati siano pronti per l'analisi o l'importazione. Il software di web scraping acquisisce pagine, endpoint e file. Estrae i campi selezionati, quindi li pulisce e li valida. Restituisce dati coerenti per fogli di calcolo, database SQL o applicazioni. Offre a un'azienda di elaborazione dati un metodo ripetibile per preparare record provenienti da fonti diverse, riducendo il lavoro manuale e le rielaborazioni.

Riepilogo

Problema

Il cliente dedica tempo alla raccolta e alla preparazione manuale di record provenienti da fonti diverse.

Soluzione

La soluzione è diventata un flusso di lavoro ripetibile per web scraping e pulizia dei dati, con estrazione, validazione ed esportazione.

Risultato

Il software è progettato per ridurre il tempo di preparazione manuale e gli errori prima che i dati raggiungano la destinazione.

Storia del cliente

Il cliente è un'azienda di elaborazione dati del Lussemburgo. Consolida record provenienti da siti web, database e API per utilizzarli in seguito.

La raccolta e la preparazione manuali richiedono tempo perché le fonti hanno strutture e formati diversi. Anche i campi non uniformi causano rielaborazioni prima dell'esportazione o dell'importazione.

La richiesta era semplice: creare flussi di lavoro ripetibili basati su Python, riga di comando, notebook o applicazioni. Dovevano estrarre, pulire e validare i dati prima di inviarli alla destinazione richiesta.

La soluzione è stata strutturata attorno alla configurazione delle fonti, a un'area di lavoro per pulizia e validazione e all'esportazione strutturata. Le regole per campi, schemi e destinazioni sono rimaste visibili, così il team cliente poteva lavorare secondo i propri standard.

Il cliente ha richiesto

  1. Eseguire flussi di lavoro ripetibili basati su Python, riga di comando, notebook o applicazioni.
  2. Esportare risultati puliti in formato CSV, Excel, Parquet, JSON, Sheets, testo o SQL.
  3. Pulire, normalizzare, trasformare, deduplicare, filtrare, ordinare e consolidare i dati.
  4. Fornire log, report degli errori, documentazione, istruzioni di configurazione, codice e dipendenze.

Perché il software pronto all'uso non era adatto

I prodotti pronti all'uso coprono parti dell'attività: raccolta web, estrazione gestita, integrazione dei dati o regole di scraping configurabili. La bozza descrive funzionalità separate per l'estrazione dalle fonti, la pulizia e la validazione. Descrive inoltre la mappatura delle destinazioni e la reportistica. L'intero flusso del cliente richiedeva quindi una combinazione specifica.

Panoramica del progetto

La soluzione è stata progettata in tre fasi: configurazione delle fonti e dell'estrazione, pulizia e validazione, esportazione strutturata. In questo modo il percorso dal record di origine alla destinazione resta chiaro.

La prima schermata riunisce siti web, database e API in un'unica configurazione. Accetta anche file e definisce i campi e la struttura di destinazione per ogni esecuzione.

Per gestire formati di origine diversi, sono stati forniti flussi di lavoro Python per l'estrazione e la preparazione. Parsing HTML, accesso ai database, lettura dei fogli di calcolo e conversione dei documenti supportano le fonti specificate.

L'area di lavoro per la pulizia mostra valori grezzi e puliti, gruppi di duplicati e risultati della validazione. Le regole di pulizia e deduplicazione preparano una struttura coerente.

La vista di esportazione associa colonne e schemi a destinazioni CSV, Excel o database. Riepiloghi dell'elaborazione e log delle esecuzioni rendono visibile lo stato di ogni operazione.

Sono stati inclusi documentazione, istruzioni di configurazione e codice sorgente. Le informazioni sulle dipendenze e i log operativi aiutano il team cliente a gestire i flussi di lavoro e ad adattarli alle proprie regole sui dati.

Funzionalità principali realizzate

  • Web scraping per pagine e campi selezionati
  • Estrazione da database, API, file e documenti
  • Flussi di lavoro ripetibili in Python e basati su applicazioni
  • Pulizia, normalizzazione e trasformazione
  • Rilevamento dei duplicati e unione dei record
  • Validazione di schemi e campi
  • Report dei record ignorati e degli errori
  • Esportazione in CSV, Excel, Parquet, JSON, testo, Sheets e SQL

Funzionalità aggiungibili

+ Gestione della paginazione + Supporto per pagine dinamiche e JavaScript + Gestione dei limiti di frequenza + Gestione dei CAPTCHA + Connettori aggiuntivi per le destinazioni + Documentazione dell'elaborazione e supporto alla configurazione

Chi altro può usare questa soluzione

Le aziende con attività simili di preparazione dei dati possono adattare la stessa soluzione alle proprie fonti, regole e destinazioni.

Un team di ricerca e analisi

Attività Prepara record provenienti da siti web, API, file e database per analisi e reportistica.
Come aiuta la soluzione La soluzione estrae i campi selezionati, li valida, rimuove i duplicati ed esporta un dataset coerente.

Un'azienda di elaborazione documenti

Attività Elabora batch di PDF, report, fatture, moduli e documenti scansionati.
Come aiuta la soluzione La soluzione estrae i dati dai documenti, applica regole di pulizia e validazione e registra gli elementi ignorati o non elaborati.

Un team addetto alle operazioni sui dati

Attività Importa i record estratti in fogli di calcolo, database SQL o applicazioni.
Come aiuta la soluzione La soluzione associa le colonne pulite alla destinazione richiesta e conserva un riepilogo dell'elaborazione per ogni esecuzione.

Stack tecnologico

Python

Flussi di lavoro per estrazione e pulizia

Python esegue flussi di lavoro ripetibili che estraggono, puliscono, normalizzano, validano e consolidano i record.

PHP

Importazione ed esportazione di fogli di calcolo

PHP supporta l'elaborazione di fogli di calcolo e CSV quando il flusso utilizza strumenti basati su PHP.

JavaScript / TypeScript (Node.js)

Elaborazione web e dei fogli di calcolo

Node.js supporta il parsing HTML, la gestione dei fogli di calcolo e le connessioni ai database nei flussi basati su applicazioni.

SQLAlchemy

Astrazione dei database

SQLAlchemy (una libreria che collega le applicazioni ai database tramite un'interfaccia comune) supporta l'accesso ai database e la gestione delle destinazioni.

PyMySQL

Accesso a database MySQL

PyMySQL (un driver Python per MySQL e MariaDB) collega il flusso ai record MySQL.

firecrawl-anydoc

Conversione dei documenti

firecrawl-anydoc (una libreria che converte documenti e fogli di calcolo in Markdown) supporta l'estrazione dei contenuti dai documenti.

openpyxl

Lettura e scrittura XLSX

openpyxl (una libreria Python per cartelle di lavoro Excel) legge e scrive file XLSX.

cheerio

Parsing HTML e scraping

cheerio (una libreria per il parsing e la manipolazione dell'HTML) estrae contenuti selezionati dalle pagine web.

CSV, XLSX, JSON, Parquet

Output in file strutturati

Questi formati trasferiscono i record puliti a file, fogli di calcolo, applicazioni e strumenti di analisi.

Integrazioni

PostgreSQL, MySQL, and SQLite

Il flusso legge i record dei database e scrive i dati puliti in destinazioni SQL.

Google Sheets

I record puliti vengono mappati nelle strutture di Google Sheets.

Excel

Il sistema legge le fonti dei fogli di calcolo ed esporta i record mappati come file Excel.

Websites and APIs

Lo scraper riceve pagine e risposte API, quindi estrae i campi selezionati.

Il risultato

Fonti e campi restano definiti in un unico punto

La schermata di configurazione delle fonti offre all'azienda di elaborazione dati un punto di partenza chiaro per web scraping ed estrazione dati. Riunisce dettagli della fonte, campi richiesti e selettori HTML.

Le esecuzioni ripetibili usano le stesse regole di estrazione per le attività ricorrenti, mentre il tipo di fonte copre siti web, database e API.

Come funziona

  1. La configurazione della fonte legge URL, endpoint, dettagli del database, percorsi dei file, campi selezionati ed elementi HTML di destinazione.
  2. Il flusso di estrazione analizza i contenuti della fonte e prepara i campi richiesti.
  3. Il sistema applica al flusso il formato di destinazione o il database selezionato.
  • I campi dei siti web possono essere selezionati tramite selettori di elementi HTML.
  • Le fonti database, API e file usano i relativi dettagli di connessione o percorso.
Suggerimento: Una prima versione funzionante può essere verificata su file cliente tipici prima di ottimizzare le regole rimanenti.
Configurazione delle fonti e dell'estrazione

Configurazione delle fonti e dell'estrazione

Funzioni in questa schermata
Recuperare dati dai siti web Recuperare dati testuali Estrarre dati dall'HTML

Le regole di pulizia rendono coerenti i record

L'area di lavoro per la pulizia mostra valori grezzi e puliti affiancati allo stato di validazione. I gruppi di duplicati e i motivi dei record ignorati facilitano la revisione delle eccezioni prima dell'esportazione.

Il risultato è una struttura coerente, pronta per analisi, importazione o interrogazioni, anziché una raccolta di record di origine non elaborati.

Come funziona

  1. Il flusso di pulizia normalizza, trasforma, filtra, ordina e consolida i valori dei campi.
  2. Il modulo di deduplicazione identifica i gruppi duplicati e prepara i record uniti.
  3. Il modulo di validazione verifica i record rispetto a schemi, modelli, elenchi di campi o formati previsti.
  • Lo stato di validazione viene mostrato per ogni record o campo.
  • I record ignorati e gli errori di elaborazione restano visibili nell'area di lavoro.
Area di lavoro per pulizia e validazione

Area di lavoro per pulizia e validazione

Funzioni in questa schermata
Estrarre dati con Python Deduplicare i dati Validazione dei dati in tempo reale Validare i campi estratti Registrare i record ignorati

I record puliti raggiungono la destinazione richiesta

La vista di esportazione collega i dati puliti alla struttura di destinazione richiesta dal cliente. Associa le colonne a file, fogli di calcolo o database.

Un riepilogo dell'elaborazione e log dell'esecuzione mostrano i conteggi degli elementi elaborati, ignorati e con errori per l'esportazione.

Come funziona

  1. Il modulo di esportazione associa le colonne pulite al formato di output o allo schema di destinazione selezionato.
  2. Il sistema scrive i record come CSV, Excel, Parquet, JSON, testo semplice, Google Sheets, SQL o record di database.
  3. Il log dell'esecuzione registra il riepilogo dell'elaborazione, gli elementi ignorati e gli errori.
  • Le destinazioni SQL includono record PostgreSQL, MySQL e SQLite.
  • Le destinazioni per fogli di calcolo possono usare strutture Excel o Google Sheets.
Nota: Documentazione, istruzioni di configurazione, codice sorgente e informazioni sulle dipendenze supportano la gestione continuativa da parte del team cliente.
Esportazione strutturata e vista della destinazione

Esportazione strutturata e vista della destinazione

Funzioni in questa schermata
Organizzare i dati estratti Strumento di esportazione Excel Salvare i dati in un database SQL Aggiornare automaticamente il database Excel Inserire nuovi record in MySQL

Cosa offre la soluzione

Con questa soluzione, l'azienda di elaborazione dati può:

  • Eseguire flussi di estrazione ripetibili per fonti ricorrenti
  • Recuperare campi selezionati dai siti web ed estrarre record da file, API e database
  • Pulire, normalizzare, trasformare, consolidare e deduplicare i record
  • Validare i dati prima che raggiungano una destinazione
  • Esportare record coerenti in file, fogli di calcolo, database SQL o applicazioni
  • Esaminare record ignorati, errori e riepiloghi dell'elaborazione

I sistemi pronti all'uso avrebbero potuto svolgere il lavoro?

Prima della progettazione, l'attività è stata confrontata con prodotti pronti all'uso sulla base delle relative descrizioni.

Esigenza del cliente Software per l'estrazione dati Data Extraction Piattaforme di web scraping Oxylabs, Zyte, Scrapfly Piattaforme di integrazione dati Dataddo, Improvado Soluzione personalizzata
Eseguire flussi di estrazione ripetibili
Esportare nei formati dati richiesti —
Pulire e deduplicare i dati di origine — — —
Fornire log, codice e documentazione — — —
Adattarsi alle regole del cliente: fasi, ruoli, report — — —
Tutti i passaggi in un unico punto — — —
Nessun passaggio manuale tra i programmi in parte in parte in parte

In base alle descrizioni pubbliche dei prodotti e della relativa categoria.

I prodotti pronti all'uso coprono l'estrazione dati, la raccolta web e il trasferimento dei dati; un prodotto pronto è sufficiente quando serve solo una di queste parti.

Per questo cliente, fonti, regole di pulizia, validazione, report e destinazioni dovevano funzionare insieme in un unico punto.

Le descrizioni dei prodotti non fornivano la combinazione completa delle regole proprie del cliente e della preparazione dalla fonte alla destinazione.

In conclusione

In conclusione, la soluzione è stata realizzata per ridurre il lavoro manuale tra record provenienti da fonti diverse e file o database puliti.

FAQ

Stai pensando di creare un sistema simile? Leggi le risposte qui sotto per capire come un flusso personalizzato di estrazione e pulizia dei dati può adattarsi alle tue fonti e destinazioni.