Come estrarre tutti gli indirizzi email e i link da un testo disordinato
Per estrarre tutti gli indirizzi email da una pagina o un'esportazione disordinata, usa un pattern che riconosca la forma di un indirizzo, poi ripulisci la punteggiatura che gli sta accanto. Un pattern semplice prende anche il punto o la virgola alla fine di una frase, e non trova gli indirizzi scritti in modo offuscato. Prima di usare l'elenco, controllalo a occhio.
Estrai email e linkEstrarre email da una paginaUsalo gratisPerché i pattern semplici sbagliano
Un pattern molto diffuso è una sequenza di caratteri senza spazi, un simbolo @ e un'altra sequenza di caratteri senza spazi. È facile da scrivere, ma ha due difetti.
Prende troppo. Nella frase "Scrivete a [email protected], oppure a [email protected]." il pattern "\S+@\S+" restituisce "[email protected]," con la virgola e "[email protected]." con il punto finale. Non sono indirizzi validi nel tuo elenco, e una stampa unione o un filtro antispam li respingeranno.
Prende troppo poco. Gli indirizzi scritti come "ana [at] example [dot] com" o "ana at example dot com" non vengono riconosciuti affatto. Chi scrive li usa per evitare lo scraping, e alcune pagine li usano per lo stesso motivo. Sostituisci prima le parole, poi estrai.
Un pattern migliore accetta a sinistra solo i caratteri che un indirizzo può contenere e a destra solo un dominio con lettere. Il pattern "[\w.+-]+@[\w-]+\.[\w.-]+" è un buon punto di partenza. Anche così, può tenere un punto dopo il dominio quando l'indirizzo chiude una frase, perché l'ultima parte del dominio accetta i punti. Elimina un solo punto finale da ogni risultato. Lo strumento estrai email e link elimina già la punteggiatura finale, quindi questo passaggio conta soprattutto se scrivi il pattern da solo.
Ecco cosa restituisce questo pattern per i due esempi sopra:
- "Scrivete a [email protected]." dà "[email protected]." con il punto finale, che va eliminato.
- "Scrivete a [email protected], oppure a [email protected]." dà "[email protected]" e "[email protected].", quindi vale la stessa pulizia.
I link si comportano allo stesso modo
Anche gli URL hanno lo stesso problema. Un link alla fine di una frase spesso porta con sé un punto, una virgola o una parentesi chiusa. Un link tra parentesi, come (vedi https://example.com/page), può prendere anche la parentesi di chiusura se il pattern è troppo ingordo. Ripulisci la punteggiatura finale, poi verifica che ogni link si apra nel browser.
I link possono anche essere relativi, come /contatti, che un'estrazione di indirizzi email ignorerà. Decidi se ti servono solo indirizzi assoluti, e indicalo quando avvii l'estrazione.
Passaggi che funzionano con la maggior parte delle esportazioni
- Sostituisci prima le forme offuscate, con trova e sostituisci: "[at]" diventa @ e "[dot]" diventa punto, ma solo dove si vede che il testo è un indirizzo.
- Incolla il testo, o il codice HTML della pagina, nel campo Testo o HTML dello strumento di estrazione. Indirizzi e link vengono isolati e la punteggiatura finale viene eliminata.
- Lascia selezionata l'opzione Rimuovi duplicati. Ignora le maiuscole negli indirizzi email, quindi [email protected] e [email protected] contano come uno solo. Per un elenco che hai già, rimuovi righe duplicate fa lo stesso lavoro.
- Seleziona Ordina A→Z se vuoi l'elenco in ordine.
- Leggi l'elenco finale. Cerca valori che non sono indirizzi, come nomi di file immagine che contengono per caso un simbolo @.
Un esempio pratico: una pagina contiene "Vendite: [email protected]", "[email protected]." e "Assistenza: [email protected]". L'estrazione restituisce tre risultati. Dopo aver tolto il punto finale e rimosso i duplicati ignorando le maiuscole, il risultato è due indirizzi: [email protected] e [email protected]. Se vuoi l'elenco in ordine, seleziona Ordina A→Z nello strumento di estrazione, oppure usa ordina righe.
Tieni l'elenco pulito e in regola
In molti paesi gli indirizzi email sono dati personali, e esistono norme contro lo spam. Raccogliere un indirizzo da una pagina pubblica non ti autorizza automaticamente a scrivergli. Il GDPR europeo e il CAN-SPAM Act statunitense sono due esempi noti, e richiedono cose diverse. Queste sono informazioni generali, non consulenza legale. Prima di inviare qualcosa, verifica le regole che valgono per te e per le persone nell'elenco, e per i messaggi di massa prevedi sempre un'opzione per cancellarsi.
Casi particolari
- Testo che non è un indirizzo. Stringhe come [email protected] possono essere riconosciute. Elimina tutto ciò che termina con un'estensione di file.
- Indirizzi in un'immagine. Leggi prima uno screenshot con lo strumento immagine in testo, poi estrai dal risultato. La guida a screenshot e foto spiega come ottenere una lettura pulita.
- Caratteri nascosti. Uno spazio a larghezza zero dentro un indirizzo interrompe la corrispondenza, quindi l'indirizzo viene perso. Se manca un indirizzo che sai esistere, rimuovi i caratteri nascosti prima dell'estrazione. La guida ai caratteri nascosti spiega da dove provengono.
- Indirizzi codificati. Alcune pagine nascondono gli indirizzi in entità HTML come @ al posto di @. Decodifica prima il testo della pagina, altrimenti il pattern non vedrà il simbolo @.
- Esportazioni lunghe. Per file grandi, estrai in un file e confronta il numero di risultati con il numero di righe che ti aspetti.
Risposte rapide
Perché l'estrazione delle email include un punto alla fine?
Il punto è ammesso all'interno di un dominio, quindi un pattern che accetta i punti può prendere anche quello che chiude la frase. Elimina un solo punto finale da ogni risultato.
Uno strumento può trovare indirizzi scritti come "nome at example dot com"?
Non in modo affidabile senza un passaggio di sostituzione. Converti prima le parole in simboli, ma solo dove il testo è chiaramente un indirizzo, così le frasi normali non vengono alterate.
È legale inviare un'email a ogni indirizzo estratto da una pagina web?
Dipende da dove si trovano tu e i destinatari, e dal contenuto del messaggio. Si applicano norme antispam e sulla privacy, quindi verificale prima. Queste sono informazioni generali, non consulenza legale.
Tradotto dal Originale in inglese con l'assistenza dell'IA.
Commenti
Nessun commento per ora. Sii il primo.


