Estrazione dati da tabelle HTML

di il
2 risposte

Estrazione dati da tabelle HTML

Cari tutti,
vorrei sottoporvi un bel quesito a cui putroppo non trovo soluzione. Vi spiego brevemente il mio problema.

Vorrei popolare un database con i dati che sono presenti all'interno di una tabella in un file html e se possibile
rifare questa operazione per ogni file html, ne ho circa 2000 da elaborare.

Ho fatto molte ricerche su internet ed ho trovato alcune soluzioni basate su Regex ed altre tramite una
estensione, DOM Parser ma nessuna delle due ha funzionato correttamente.

Purtroppo la mia situazione e' un po' complicata perche' il file html che contiene la tabella ha anche altre
informazioni cha a me non servono , ovvero altri tag html che devo escludere e poi purtroppo non sempre
la struttura della tabella e' la stessa per tutti i file. In pratica ne ho almeno 7-8 tipi ed in nessun caso
ho come header i tag <TH>. Una struttura di esempio e' questa:

<table>
<tr>>
<td>>
TABELLA 1</td>
</tr>
<tr>>
<td>COLONNA1</td>
<td>COLONNA2</td>
<td>COLONNA3</td>
<td>COLONNA4</td>
<td>COLONNA5</td>
<td>COLONNA6</td>
<td>COLONNA7</td>
</tr>
<tr>>
<td>>
1</td>
<td>UTENTE 1</td>
<td>M</td>
<td>ROMA</td>
<td>RM</td>
<td>11111111</td>
<td>22222222</td>

</tr>
........
</table>

Questo e' solo un esempio perche' in pratica in alcuni file le colonne non sono 7 ma 6 ed i nomi sono diversi.

Secondo voi ho possibilita' con PHP o altri strumenti che possono includere per poter estrarre i dati per
inserirli in una tabella SQL ?

Questo mio piccolo progetto non ha fini commerciali ovviamente , e' tutto no profit e solo per motivi di studio.

Grazie a tutti per il vostra attenzione.
Saluti
Enrico

2 Risposte

  • Re: Estrazione dati da tabelle HTML

    Non esiste LA SOLUZIONE UNIVERSALE/MIRACOLOSA.

    Se hai 7/8 formati diversi di tabelle, dovrai implementare 7/8 programmini diversi.

    In ogni caso, il sistema per fare il lavoro e' sempre lo stesso:

    1) parser DOM per leggere la pagina HTML: se non funziona perche' la pagina e' malformata, correzione a mano degli errori!

    2) uso di XPath per selezionare il nodo di interesse: dovrai trovare il modo di capire, in automatico, quale dei 7/8 formati di tabella stai trattando. Se ci sono degli errori -> correzione a mano

    3) Salvi tutto su un file CSV, e poi controlli a mano il risultato.
    4) Se ti sembra tutto corretto, lettura del CSV e caricamento sul database.
    Altrimenti: correzioni a mano e si ricomincia.
  • Re: Estrazione dati da tabelle HTML

    Ciao,
    puoi darmi un piccolo esempio per i punti 1 e 2 ? Purtroppo conosco poco php e sono a zero sulla programmazione ad oggetti.
    per le correzioni a mano significa l'uso di regex vero ?
    Grazie
    Enrico
Devi accedere o registrarti per scrivere nel forum
2 risposte