Fibre
Contattaci
Nessun risultato trovato.

I migliori scraper di Airbnb: Bright Data, Apify e Oxylabs

Nazlı Şipi
Nazlı Şipi
aggiornato il Apr 28, 2026
Guarda il nostro norme etiche

Abbiamo testato sei provider di web scraping su Airbnb, inviando un totale di 1.500 richieste di scraping a tutti i provider. A ciascun provider è stato fornito lo stesso set di URL di annunci di case vacanza e siamo stati valutati in base al tempo di completamento, al tasso di successo e ai campi di metadati disponibili per ogni annuncio.

benchmark di scraping di Airbnb

Per maggiori dettagli sul nostro processo di test, potete consultare la nostra metodologia di benchmarking .

Campi di metadati disponibili per fornitore

Bright Data e Apify hanno entrambi restituito JSON strutturato per Airbnb. Bright Data ha fornito 48 campi per annuncio e Apify ne ha forniti 36. Le tabelle seguenti raggruppano i campi univoci di ciascun fornitore per categoria, con i campi condivisi elencati in fondo.

Bright Data campi di metadati univoci

Apify campi di metadati univoci

Campi restituiti da entrambi i fornitori

amenities , breadcrumbs , cancellation_policy / cancellationPolicies , description (versioni semplice + HTML), highlights , house_rules / houseRules , images , location , timestamp , title , url

Estrazione dei risultati di benchmark di Airbnb

Bright Data ha eguagliato il tasso di successo più alto su Airbnb, pari al 99%, e ha restituito la maggior quantità di metadati rispetto a qualsiasi altro fornitore, con 48 campi strutturati per annuncio. La completezza dei dati includeva dettagli sull'host, ripartizioni dei prezzi, politiche di cancellazione e riepiloghi delle recensioni, informazioni non presenti in altri fornitori.

Oxylabs ha ottenuto un tasso di successo del 98% su Airbnb. Il risultato è rimasto costante durante tutto il test, senza cali significativi. Non ha primeggiato in termini di ricchezza dei dati, ma ha fornito un'estrazione affidabile su un dominio in cui alcuni fornitori hanno riscontrato difficoltà.

Decodo ha raggiunto un tasso di successo del 93% su Airbnb utilizzando una configurazione di scraping generica anziché una specifica per Airbnb. Il tasso di successo è stato inferiore a quello del gruppo migliore, ma è rimasto utilizzabile sulla maggior parte degli URL di test.

Apify ha inoltre raggiunto un tasso di successo del 99% su Airbnb ed è stato uno dei due provider a restituire JSON strutturato, fornendo 36 campi di metadati per annuncio.

L'URL Zyte ha registrato un tasso di successo del 98% su Airbnb. Sebbene restituisse codice HTML anziché dati strutturati, i risultati sono stati coerenti per l'intero set di URL. Si è rivelata una delle opzioni più affidabili su questo dominio.

Nimble ha registrato un tasso di successo del 12% su Airbnb, significativamente inferiore rispetto agli altri concorrenti. Il basso tasso di successo indica che il motore di rendering di Nimble non è stato in grado di gestire la struttura della pagina di Airbnb per la maggior parte degli URL testati. Questo è stato l'unico provider nel benchmark in cui Airbnb ha rappresentato una sfida significativa per l'estrazione.

Metodologia di benchmarking

Abbiamo testato sei fornitori di web scraping (Apify, Bright Data, Decodo, Oxylabs, Nimble, Zyte) su airbnb.com.

Set di dati

Abbiamo preparato 250 URL di pagine prodotto da Airbnb. Le pagine prodotto sono schede individuali di alloggi con dettagli quali titolo, prezzo, valutazione, recensioni e informazioni sull'host.

Tutti gli URL includevano i parametri di query check_in, check_out e adults per garantire la visualizzazione dei dati relativi ai prezzi sulla pagina. I sottodomini non standard (ad esempio, es.airbnb.com, hr.airbnb.com) sono stati corretti in www.airbnb.com durante la preparazione del dataset. Tutti gli URL sono stati verificati come accessibili prima del benchmark.

Configurazione condivisa

Tutti i fornitori hanno ricevuto URL identici dallo stesso set di dati e sono stati testati nelle stesse condizioni:

  • Esecuzione sequenziale: una richiesta alla volta, nessuna richiesta parallela
  • Intervallo tra le richieste: 2 secondi
  • Gestione del limite di richieste: attesa di 30 secondi con fino a 3 tentativi sulla porta HTTP 429
  • Tempo limite per l'invio: 300 secondi
  • Tempo di timeout per l'esecuzione: 600 secondi
  • Ogni URL è stato testato una volta per ciascun fornitore.

Configurazioni del provider

Apify

Apify ha utilizzato l'attore tri_angle/airbnb-rooms-urls-scraper, che restituisce JSON strutturato con campi analizzati. Non è stato necessario analizzare alcun selettore CSS. Le esecuzioni dell'attore sono state interrogate a intervalli di 1 secondo fino al raggiungimento dello stato SUCCEEDED.

Bright Data

Bright Data ha utilizzato l'API Dataset (dataset_id: gd_ld7ll037kqy322v05), che restituisce JSON strutturato con campi analizzati. L'API Dataset è stata interrogata tramite l'endpoint /progress/{snapshot_id} a intervalli di 1 secondo fino al raggiungimento dello stato "ready". I risultati sono stati quindi recuperati dall'endpoint /snapshot/{snapshot_id}.

Decodo (Smartproxy)

Decodo ha utilizzato l'API Universal Scraper (target: universal, headless: html), che restituisce HTML renderizzato tramite JavaScript. La risposta è stata analizzata localmente con selettori CSS. Tutte le richieste includevano un'intestazione User-Agent per desktop.

Oxylabs

Oxylabs ha utilizzato l'API in tempo reale con origine: airbnb e rendering: html, che restituisce HTML renderizzato tramite JavaScript. La risposta è stata analizzata localmente con selettori CSS.

Nimbleway

Nimble ha utilizzato l'API Extract con render: true e driver: vx10 (browser headless invisibile). La risposta è stata analizzata localmente con selettori CSS. Non è stata applicata alcuna configurazione specifica del dominio.

Zyte

Zyte ha utilizzato l'API Extract con browserHtml: true, che restituisce HTML renderizzato in JavaScript tramite un browser Chromium headless. La risposta è stata analizzata localmente con selettori CSS. Non è stata applicata alcuna configurazione specifica del dominio.

Validazione

Verifica dello stato HTTP

Prima della convalida, viene innanzitutto controllato il codice di risposta HTTP del provider. Le risposte con codici di stato compresi tra 200 e 399 e 404 sono considerate invii riusciti e passano alla fase di convalida. Qualsiasi altro codice di stato (400, 403, 500, 550, ecc.) viene trattato come un invio non riuscito e il test viene immediatamente contrassegnato come fallito senza passare alla fase di convalida.

Regole di convalida

I test che superano il controllo dello stato HTTP vengono convalidati nel seguente ordine:

  1. Rilevamento 404 : Se il contenuto della pagina o un errore dell'API indica che la pagina non esiste più ("pagina non trovata", "non esiste", "pagina morta"), il test viene contrassegnato come valido. Il provider ha identificato correttamente una pagina non disponibile.
  2. Estrazione dati (API JSON) : per i provider che restituiscono JSON strutturato, deve essere presente almeno un campo dati non vuoto, con un tipo valido a seconda del campo (stringa o intero). I campi controllati includono titolo, prezzo, valutazione e recensioni.
  3. Estrazione dati (HTML) : per i provider che restituiscono HTML, la risposta viene analizzata con selettori CSS specifici di Airbnb. Se almeno un selettore corrisponde e restituisce un valore non vuoto, il test ha esito positivo.
  4. Indicatore di pagina (solo HTML): se non sono stati estratti elementi di dati ma almeno uno dei selettori CSS predefiniti per Airbnb corrisponde a un elemento della pagina, il test viene contrassegnato come valido. Ciò conferma che la pagina è stata renderizzata e caricata, anche se non sono stati trovati elementi di dati strutturati nei contenitori previsti. Se nessuna delle condizioni di cui sopra è soddisfatta, il test fallisce. Le cause comuni di fallimento includono pagine di verifica captcha/bot, rendering JavaScript insufficiente, errori di connessione proxy ed errori del crawler.

Metrica

Tasso di successo della validazione : la percentuale di URL testati in cui il fornitore ha restituito dati utilizzabili, calcolata come numero di test riusciti diviso per il numero totale di test.

Tempo di completamento: il tempo totale intercorso tra l'invio della richiesta di scraping e la ricezione dei risultati validati, misurato in secondi. Per i provider asincroni, lo stato di completamento del job è stato rilevato a intervalli di 1 secondo. Il valore viene riportato come media aritmetica di tutte le esecuzioni in un gruppo.

Metadati disponibili : il numero di nomi di campo univoci restituiti dal provider per tutti gli elementi in una risposta. Applicabile solo alle risposte API JSON.

FAQ

A seconda del fornitore, i dati estratti da Airbnb possono includere il titolo dell'annuncio, il prezzo a notte, la posizione, la tipologia di proprietà, il numero di camere da letto e bagni, i dettagli dell'host, la capacità ricettiva, i servizi, i punteggi delle recensioni, le regole di check-in/check-out, le politiche di cancellazione e i calendari di disponibilità. I fornitori che restituiscono dati in formato JSON strutturato in genere forniscono più campi rispetto all'estrazione basata su HTML.

Sì, la maggior parte dei fornitori è in grado di estrarre valutazioni complessive e dati individuali dalle pagine degli annunci di Airbnb. Alcune API strutturate restituiscono il testo della recensione, il nome dell'autore, la data e le valutazioni per categoria (pulizia, comunicazione, ecc.) come campi separati. I fornitori basati su HTML restituiscono tutte le recensioni visualizzate sulla pagina.

Sì, Airbnb utilizza la stessa struttura di URL a livello globale. È possibile estrarre annunci da qualsiasi paese utilizzando la stessa configurazione del provider. Assicurati che gli URL utilizzino il dominio www.airbnb.com anziché sottodomini localizzati (ad esempio, es.airbnb.com o ar.airbnb.com), poiché alcuni provider non risolvono correttamente i sottodomini regionali.

Le principali sfide sono il rendering dinamico di JavaScript, il rilevamento anti-bot e i dati incompleti dovuti alla mancanza di parametri URL. L'utilizzo di provider con rendering headless per browser o API Airbnb dedicate risolve i primi due problemi. Per dati completi sui prezzi, è sempre necessario includere i parametri check_in, check_out e adults negli URL degli annunci. Nel nostro benchmark, un provider ha registrato un tasso di successo del 12% a causa di errori di rendering, mentre altri che utilizzavano configurazioni dedicate hanno superato il 93%.

Nazlı Şipi
Nazlı Şipi
Ricercatore di intelligenza artificiale
Nazlı è un'analista di dati presso AIMultiple. Ha maturato esperienza nell'analisi dei dati in diversi settori, dove si è occupata di trasformare set di dati complessi in informazioni utili.
Visualizza il profilo completo

Sii il primo a commentare

Il tuo indirizzo email non verrà pubblicato. Tutti i campi sono obbligatori.

0/450