Succede abbastanza spesso che in un azienda sarebbe utile poter avere le mail relative a tutti i possibili clienti per poter inviare pubblicità o promozione. Avere questo tipo di informazioni risulta molto spesso piuttosto complicato, per questo ho deciso di spiegare in questo articolo come fare ad avere questo genere di informazioni.
In questo articolo ci concentreremo a vedere la procedure con due linguaggi di programmazione (R e Python) molto comodi per le procedure di Web Scraping soprattutto per la loro facilità di strutturare procedure di text mining.
Prima di andare ad analizzare il codice descrivendolo occorre capire cosa sia il web scraping. Il Web scraping (chiamato anche web harvesting, o web data extraction) è un insieme di tecniche utilizzate per l'estrazione di dati dai siti Web. È una forma di copia, in cui i dati specifici vengono raccolti e copiati accedendo al World Wide Web direttamente utilizzando il protocollo Hypertext Transfer Protocol o tramite un browser Web. In genere il termine si riferisce a processi automatizzati implementati utilizzando un web crawler, un bot o un server per il successivo recupero o analisi in un database locale centrale o foglio di calcolo.
Tra le tante possibili soluzioni si è deciso di utilizzare la tecnica di Web Scraping chiamata HTML Parsing ossia una deserializzazione delle pagine HTML. Questo processo riceve il codice HTML non elaborato, lo interpreta e genera dal codice una struttura ad albero DOM (Document Object Model).
Questa tecnica è molto versatile in quanto gran parte dei siti Web hanno grandi raccolte di pagine generate dinamicamente da un'origine strutturata sottostante come un database. I dati della stessa categoria sono in genere codificati in pagine simili da uno script o un modello comune. Nel data mining, un programma che rileva tali modelli in una particolare fonte di informazioni, ne estrae il contenuto e lo traduce in un modulo relazionale, viene chiamato wrapper. Gli algoritmi di generazione dei wrapper presuppongono che le pagine di input di un sistema di induzione di wrapper siano conformi a un modello comune e che possano essere facilmente identificate in termini di schema comune URL.
Che paroloni, cos'è e in cosa consiste in definitiva il web scraping?
Il web scraping è una tecnica con cui si prendono le informazioni da internet. In particolare la tecnica chiamata HTML Parsing consiste nel capire la struttura del sito e della pagina web e trovare il modo di prendere le informazioni in modo automatico da tutte le pagine.
L'obbiettivo di questo progetto consiste nel cercare di prendere le mail dalle pagine gialle che sono la fonte italiana dove le aziende solitamente si iscrivono per farsi trovare dai clienti.
In effetti è vero, sulle pagine gialle non ci sono le mail, infatti il nostro obbiettivo iniziale deve essere quello di prendere, per le aziende che hanno messo il sito web sulle pagine gialle, l'indirizzo web; per poi andare a cercare all'interno del loro sito la mail della società.