ebook img

Strumento per l'estrazione semi-automatica e il confronto di dati da pagine web PDF

64 Pages·2014·1.29 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Strumento per l'estrazione semi-automatica e il confronto di dati da pagine web

Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica Strumento per l’estrazione semi-automatica e il confronto di dati da pagine web Tesi di laurea triennale Relatore Prof. Fabio Aiolli Laureando Giovanni Cappellotto Anno Accademico 2014-2015 Giovanni Cappellotto: Strumento per l’estrazione semi-automatica e il confronto di dati da pagine web, Tesi di laurea triennale, ⃝c Ottobre 2014. Sommario Il mercato del turismo on-line, in crescita da anni, anche in questo momento di crisi globale, diventa sempre più competitivo. Per questo gli operatori del settore, con l’intento di accaparrarsi fette sempre più grandi di mercato, stanno investendo molto in tecnologia. Gran parte delle strutture ricettive, hotel, agenzie di viaggi, tour operator, compagnie aeree, dispongono al giorno d’oggi di applicazioni web per prenotare on-line biglietti e soggiorni, avvicinando grandi masse di consumatori. In questo panorama fortemente competitivo, la guerra al prezzo più basso ha portato alla nascita di applicazioni aziendali e servizi per il confronto dei prezzi. Questi servizi raccolgono, aggregano ed elaborano dati da diverse fonti per aiutare il consumatore e l’operatore, rispettivamente a scegliere e a creare, l’offerta migliore in termini di rapporto qualità/prezzo. Questo documento descrive le attività svolte per realizzare un sistema di price comparison per il confronto dei prezzi di strutture alberghiere. Tali strutture vengono raccolte dai maggiori siti di booking on-line per una consultazione interna alla società NetStorming S.r.l., committente del software. iii “If you want to get laid, go to college. If you want an education, go to the library.” — Frank Zappa Ringraziamenti Giorgia, Francesco, Matteo, Mara, Stefano, Anna, Michele. Padova, Ottobre 2014 Giovanni Cappellotto v Indice 1 Introduzione 1 1.1 NetStorming S.r.l. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Obiettivi dell’attività di stage . . . . . . . . . . . . . . . . . . . . . . . 2 2 Sistemi per l’estrazione di dati web 3 2.1 Definizione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Contesto storico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.3 Fondamenti scientifici . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.3.1 Fondamenti formali e semantica della data extraction . . . . . 4 2.3.2 Metodi per la generazione di wrapper . . . . . . . . . . . . . . 5 2.3.3 Architettura . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3.4 Sistemi commerciali per la generazione di wrapper . . . . . . . 8 2.4 Applicazioni chiave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.4.1 Web market monitoring . . . . . . . . . . . . . . . . . . . . . . 9 2.4.2 Web process integration . . . . . . . . . . . . . . . . . . . . . . 9 2.4.3 Mashup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.5 Direzioni future . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.5.1 Generic web wrapping . . . . . . . . . . . . . . . . . . . . . . . 10 2.5.2 Auto-adapting wrappers . . . . . . . . . . . . . . . . . . . . . . 10 2.5.3 Wrapping da layout visuali . . . . . . . . . . . . . . . . . . . . 11 2.5.4 Estrazione di dati da file non HTML . . . . . . . . . . . . . . . 11 2.5.5 Imparare a gestire interazioni web . . . . . . . . . . . . . . . . 11 2.5.6 Comprensione e mapping dei form web . . . . . . . . . . . . . . 11 3 Descrizione del progetto 13 3.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.1.1 Extractor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.1.2 Comparator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.1.3 Web service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4 Analisi dei requisiti 17 4.1 Ricerca di disponibilità . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.2 Normalizzazione dei dati . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.3 Memorizzazione dei dati estratti . . . . . . . . . . . . . . . . . . . . . 18 4.4 Selezione dei dati raccolti . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.5 Ordinamento della selezione di dati . . . . . . . . . . . . . . . . . . . . 19 4.6 Facilità di adattamento a diversi siti web . . . . . . . . . . . . . . . . . 19 4.7 Facilità d’uso dell’estrattore . . . . . . . . . . . . . . . . . . . . . . . . 19 vii viii INDICE 5 Progettazione 21 5.1 Strumenti e tecnologie . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.1.1 Linguaggi di programmazione . . . . . . . . . . . . . . . . . . . 21 5.1.2 Strumenti software . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.1.3 Altri strumenti e librerie . . . . . . . . . . . . . . . . . . . . . . 22 5.2 Pianificazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.2.1 Ciclo di vita del software . . . . . . . . . . . . . . . . . . . . . 23 5.3 Progettazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.3.1 Struttura della base di dati . . . . . . . . . . . . . . . . . . . . 24 5.3.2 Modelli e interazione con il database . . . . . . . . . . . . . . . 25 5.3.3 Web service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 5.3.4 Comparator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 5.3.5 Selezione dei dati raccolti . . . . . . . . . . . . . . . . . . . . . 28 5.3.6 Ordinamento selezione di dati . . . . . . . . . . . . . . . . . . . 30 5.3.7 Extractor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 5.3.8 Ricerca di disponibilità . . . . . . . . . . . . . . . . . . . . . . 33 5.3.9 Normalizzazione dei dati . . . . . . . . . . . . . . . . . . . . . . 35 5.3.10 Memorizzazione dei dati estratti . . . . . . . . . . . . . . . . . 37 5.3.11 Facilità di adattamento a diversi siti web . . . . . . . . . . . . 38 6 Verifica e validazione 41 7 Conclusioni 43 7.1 Greasemonkey oggi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 7.2 Raggiungimento degli obiettivi . . . . . . . . . . . . . . . . . . . . . . 43 A Metodologia Agile 45 A.1 Principi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 A.2 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 A.3 Pratiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Glossario 49 Acronimi 51 Bibliografia 53 Elenco delle figure 1.1 NetStorming S.r.l. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2.1 Architettura di un tipico sistema per l’estrazione di dati web . . . . . 6 3.1 Diagramma dei componenti . . . . . . . . . . . . . . . . . . . . . . . . 13 5.1 Diagramma E-R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.2 Diagramma delle classi per l’interazione con il database . . . . . . . . 26 5.3 Diagramma delle classi che compongono la macro-componente Web service 27 5.4 Gerarchia delle classi Template utilizzate da Web service e Comparator 28 5.5 Diagramma delle classi che compongono la macro-componente Extractor 32 5.6 Avvio dello script Extractor, sito web non trovato . . . . . . . . . . . . 33 5.7 Avvio dello script Extractor, sito web trovato . . . . . . . . . . . . . . 33 5.8 Ricerca disponibilita, selezione della città . . . . . . . . . . . . . . . . 34 5.9 Ricerca personalizzata, selezione della città . . . . . . . . . . . . . . . 34 5.10 Ricerca personalizzata, selezione del periodo di soggiorno . . . . . . . 35 5.11 Ricerca personalizzata, selezione del tipo di camera . . . . . . . . . . . 35 5.12 Conversione, lista dei nuovi trattamenti trovati da convertire e selezione dei valori di conversione . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.13 Conversione, risultato dell’operazione di memorizzazione delle conversioni 36 5.14 Normalizzazione, inserimento dati di conversione della valuta . . . . . 36 5.15 Risultato dell’inserimento nel database di un insieme di dati . . . . . . 38 Elenco delle tabelle 5.1 Struttura dei dati estratti . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.2 Struttura degli oggetti contenuti nell’array hotels . . . . . . . . . . . 37 ix x ELENCO DELLE TABELLE 5.3 Struttura degli oggetti contenuti nell’array prices . . . . . . . . . . . 37

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.