Case History: Web Scraping da Airbnb per un progetto di ricerca dell’Università di Padova

[Voti: 3    Media Voto: 5/5]

Case History: Web Scraping da Airbnb per un progetto di ricerca dell'Università di Padova

Per un progetto di ricerca dell’Università di Padova abbiamo sviluppato un crawler per l’estrazione dei dati pubblicamente disponibili dal sito Airbnb.

Il Dipartimento di Scienze Economiche e Aziendali “Marco Fanno” dell’Università degli Studi di Padova ci ha incaricati di sviluppare un sistema (crawler) per l’estrazione dei dati delle case presenti su Airbnb per un elenco di città di interesse: Milano, Verona, Trento, Lecce, Perugia, Lucca, Siena, Siracusa.

Tecnologie

Per realizzare questo progetto ci siamo affidati alla tecnologia puppeteer di Google. Si tratta sostanzialmente di una libreria che consente di programmare il browser Chrome in modo che navighi le pagine di un sito, Airbnb in questo caso, come se si trattasse di un utente che lo utilizza: utilizzando questa tecnologia è possibile visitare un sito, inserire dei dati nei campi presenti, cliccare su bottoni, seguire link, scorrere le pagine, ecc.

Il crawler che abbiamo realizzato è in grado di visitare il sito di Airbnb, impostare i parametri di ricerca su una delle città di interesse, collezionare i link alle pagine di dettaglio, visitare le pagine di dettaglio, estrarre i dati di interesse e salvarli su un database.

Case History: Web Scraping da Airbnb per un progetto di ricerca dell'Università di Padova

Problematiche risolte

La difficoltà superata in questo caso è data dal fatto che Airbnb si presenta tecnicamente come una Single-page application ovvero al cambio pagina oppure scrollando verso il fondo vengono caricati i dati degli annunci di case e vengono aggiunti alla medesima pagina in modo dinamico, senza cioé ricaricare la pagina. Pertanto non sarebbe bastato limitarsi ad analizzare staticamente il codice html caricato, ma si è reso necessario l’utilizzo di una tecnologia (puppeteer) basata sul concetto di headless browser per eseguire le pagine come se si trattasse di un utente in carne ed ossa che le visita e ci interagisce: scrolla fino in fondo, aspetta che si carichino i nuovi annunci, scrolla di nuovo fino in fondo, ecc.

Inoltre, per riuscire a scaricare più di 300 immobili per città (limite imposto da Airbnb), abbiamo effettuato più sessioni di scraping, una per ogni quartiere disponibile nei filtri avanzati.

Grazie quindi alle tecnologie impiegate siamo in grado, a meno della presenza di captcha, di estrarre dati anche dai siti moderni e dinamici come Airbnb.

Quanto costa?

Il costo di un progetto di estrazione dati si può suddividere in due parti:

  • costo una tantum di sviluppo e setup dell’infrastruttura cloud che eseguirà il crawler (dipende dal numero di portali sottoposti a scansione): € 1’500
  • costo di estrazione dei dati (dipende dalla quantità dei dati estratti): per le principali città italiane si attesta sui 500 € ad estrazione.

Hai anche tu l’esigenza di estrarre dati presenti su siti internet in modo automatico? Contattaci

Garda Informatica

Garda Informatica

Garda Informatica sviluppa software su misura nella forma di Web Application, App Ibride per iOS/Android/Windows Phone, Crawler Web, Gestionali Web o semplici Connettori per l'integrazione tra software di terze parti.
Garda Informatica