𝗗𝗮 𝗥𝗲𝗴𝗲𝘅 𝗮𝗹𝗹𝗶 𝗟𝗟𝗠: 𝗶𝗹 𝗺𝗶𝗼 𝗽𝗲𝗿𝗰𝗼𝗿𝘀𝗼 𝗻𝗲𝗹𝗹'𝗲𝘀𝘁𝗿𝗮𝘇𝗶𝗼𝗻𝗲 𝗱𝗶 𝗱𝗮𝘁𝗶 𝘄𝗲𝗯

Ho costruito uno strumento di confronto prezzi. Avevo bisogno di estrarre dati sui prodotti da decine di siti di e-commerce. Ogni sito aveva una struttura diversa. Alcuni usavano classi CSS casuali. Altri usavano JavaScript per caricare i contenuti.

All'inizio ho provato la via classica. Ho usato Regex e BeautifulSoup.

Ha funzionato per due siti. Poi, un sito ha cambiato il suo layout. Il mio codice si è rotto. Un altro sito usava contenuti dinamici. Ho passato più tempo a riparare gli scraper che a usare i dati.

Poi ho provato l'IA. Ho fornito l'HTML grezzo a un LLM.

I risultati sono stati pessimi. L'output era incoerente. A volte ottenevo JSON. A volte ottenevo paragrafi. Il modello allucinava i dati. Il costo era troppo elevato perché inviavo troppi token.

Ho trovato una via di mezzo. Ora uso un approccio ibrido.

Ecco il mio processo:

  • Preprocesso l'HTML. Rimuovo script, stili e barre di navigazione. Tengo solo il testo visibile. Questo riduce il numero di token e i costi.
  • Uso la modalità JSON o il function calling. Questo costringe l'LLM a restituire dati strutturati.
  • Uso una logica di retry. Se il JSON è errato, il codice riprova.
  • Metto in cache i risultati. Salvo le estrazioni andate a buon fine per ogni URL per evitare di pagare due volte per la stessa pagina.

Regex e BeautifulSoup sono ancora i migliori per i siti statici e ben strutturati. Sono veloci e gratuiti.

Gli LLM sono migliori per i siti disordinati e imprevedibili. Ma devi pulire i dati prima per mantenere bassi i costi.

Le mie lezioni apprese:

  • Monitora i costi e i tassi di successo.
  • Fai attenzione alla latenza. Le chiamate agli LLM richiedono secondi, non millisecondi.
  • Valida l'output. Controlla se il prezzo sembra un prezzo reale.
  • Usa un sistema ibrido. Usa un parser per i siti semplici e un LLM per quelli disordinati.

Questa configurazione mi fa risparmiare ore di lavoro. Posso aggiungere un nuovo negozio in meno di un'ora.

Come gestite i dati web disordinati? Preferite i parser o gli LLM?

Fonte: https://dev.to/__c1b9e06dc90a7e0a676b/from-regex-to-llms-my-journey-extracting-unstructured-web-data-5gmh

Community di apprendimento opzionale: https://t.me/GyaanSetuAi