Il monitoraggio “live” delle strutture AirBnB
Quella con AirBnb è diventata oramai una mia piccola guerra personale! Tutto è cominciato infatti un po’ di tempo fa quando chiacchierando con la mia amica Morena Ragone (giurista e funzionario della Regione Puglia) è venuta fuori l’idea di capire un pò di più sull’economia “sommersa” generata da strutture ricettive e affittacamere. AirBnb era la piattaforma perfetta! Attraverso i dati degli annunci pubblicati sarebbe infatti stato possibile vedere quante erano, dove si trovavano e come erano fatte le strutture ricettive “alternative” a quelle ufficiali. Sarebbe stato possibile vedere quali di quelle ufficiali (ad esempio i B&B) si avvalevano della piattaforma per promuovere e gestire la loro attività. Seguendo nel tempo l’attività delle varie strutture sarebbe stato possibile capire come queste lavoravano, rendendo quindi possibile stimare ad esempio il numero di turisti ospitati, la quantità di denaro (e di “nero”) che riuscivano a movimentare, l’andamento dei prezzi, l’indice di occupazione delle strutture e così via.
C’è da dire che i dati sulle strutture di alcune città del mondo sono pubblicati da http://insideairbnb.com/, ma a me serviva qualcosa di diverso da gestire in modo autonomo. Ho quindi sviluppato uno “scraper”, ossia un programma che “visita” un sito web ed estrae dalle pagine del sito alcuni dati, strutturandoli all’interno di un database. Airbnb ha una policy abbastanza aggressiva contro chi fa operazioni del genere. Tipo che molto facilmente si viene bannati. Questo è alla fine un problema aggirabile. Un pò meno aggirabili sono gli altri due problemi. Il primo è che se andate su Airbnb e fate una ricerca, ottenete al più 17 pagine di risultati. Poichè ogni pagina contiene 18 annunci e poichè 17 per 18 uguale 306, posso “catturare” al più 306 annunci ad ogni “attacco”.
Questo implica che servono “attacchi” continui per arrivare ad avere un archivio sufficientemente ampio che contenga tutte o quasi le strutture che operano su una determinata città. Va tenuto conto poi che ogni attacco non intercetta solo nuovi annunci ma una parte saranno relativi ad annunci già estratti in precedenza.
L’altro problemone è che all’incirca ogni 6 mesi AirBnb cambia sito. Voi lo vedere sempre uguale, ma all’interno il codice cambia tutto o quasi. Questo vuol dire intervenire sullo scraper e sul database. A volte le modifiche sono state minori. Altre volte, come l’ultima, ho dovuto buttare tutto il lavoro fatto in precedenza per riprogettarlo da zero. Visto che è una cosa che faccio nel tempo libero, l’ultima volta ci ho messo un bel pò prima di convincermi a sedermi, rimettermi a studiare il problema e riscrivere il sistema di scraping.
Per quanto riguarda il lavoro fatto in precedenza ho avuto modo di parlarne in varie circostanze, l’ultima delle quali a ForumPA lo scorso mese di Maggio. Potete trovare qui il video e le slides
Per quello che riguarda il lavoro attuale, questa volta ho voluto esagerare. Günter Richter non solo è un amico, ma anche un bravissimo e geniale informatico. Ha ideato e sviluppato un framework che ha chiamato iXmaps e che è uno strumento potentissimo per generare e gestire mappe. Se siete un’azienda o una pubblica amministrazione e avete bisogno di un consulente su questi temi lui è veramente la persona giusta.
Io rendo sempre disponibili i dati attraverso API. Anche in questo caso ho fatto lo stesso.
Questo ha consentito a Günter di realizzare questa bellissima dashboard che in sostanza consente di monitorare in tempo reale le attività di scraping sulle varie città monitorate. E’ il monitoraggio del monitoraggio! :-)
Per ogni città viene evidenziato il numero di strutture al momento censite suddivise per tipologia. Cliccandoci su viene visualizzata la mappa delle strutture e si può anche giocherellare con il menu sulla destra. Grande Günter!!
La cosa interessante è che i numeri che vedete lì dentro si incrementano durante la giornata man mano che passano i giorni.
Ogni giorno infatti ci sono al momento una quarantina di “attacchi” al sito AirBnB per intercettare nuove strutture sulle città monitorate. Al momento sto rodando e raffinando la cosa in modo da raccogliere ad ogni passaggio quanti più dati possibile. I numeri con il passare dei giorni tenderanno così a stabilizzarsi su valori veri. Ovviamente il numero di giorni necessari saranno diversi da città a città, ma sto facendo prove per accelerare la raccolta dati su grandi città come Roma.
Simone Bordoni e Pina Civitella con i dati di Bologna hanno fatto questo. In questo caso la visualizzazione è asincrona ma a so che stanno lavorando per agganciarsi direttamente alle API.
Ora il punto che so che che genererà un bel dibattito. Insideairbnb.com rilascia i dati sotto licenza CC0. Io i dati li rilascio sotto licenza CC-BY 3.0. Dove la fonte da citare sarà OpenPuglia! (www.openpuglia.org)
Io mi fermo qui. Se volete accedere ai dati via API scrivetemi pure che vi rilascio una API key da utilizzare.