In this Article
Imparare a fare web scraping delle schede degli hotel è soprattutto una lezione su come gestire scala e geografia. Le agenzie di viaggio online (OTA), come Booking e i siti della categoria Expedia, mostrano tariffe diverse in base al paese, alla valuta, al dispositivo e alla sessione del visitatore; perciò uno scraper ingenuo restituisce valori incoerenti o semplicemente errati.
Questo articolo illustra gli aspetti pratici: quali casi d’uso giustificano lo sforzo, perché i proxy con geo-targeting e le sticky session sono importanti, come leggere gli endpoint JSON invece del fragile HTML e come i parametri relativi a intervallo di date e occupazione moltiplicano il numero di richieste e la larghezza di banda. Due brevi esempi Python mostrano gli schemi di richiesta e parsing.
DataImpulse è un provider di proxy etico che offre più di 90 Mln di indirizzi IP residential, mobile e datacenter in 195 paesi. Usa un modello pay-as-you-go a partire da 1 dollaro per GB con traffico senza scadenza ed è utilizzato per web scraping, ad verification, monitoraggio dei prezzi, ricerche di mercato e gestione di più account.
Informazioni principali
- La geolocalizzazione conta: prezzi e disponibilità degli hotel cambiano in base a paese e valuta, quindi per fare web scraping accurato delle schede degli hotel servono residential proxy mirati per paese che corrispondano a ciascun mercato di prezzo.
- Miglior tipo di proxy: residential proxy rotanti, che usano IP di consumatori reali e superano il rilevamento.
- Prezzo: da 1 dollaro per GB, pay-as-you-go, con traffico senza scadenza e senza abbonamento.
- Copertura: oltre 90 Mln di IP ottenuti eticamente in 195 paesi.
- Affidabilità: tasso di successo del 99,51%, valutazione di 4,8 su 5 su G2.
- Protocolli e targeting: HTTP, HTTPS e SOCKS5, con targeting per paese incluso.

Perché fare web scraping delle schede degli hotel?
I dati delle schede degli hotel alimentano l’intelligence sui prezzi, la ricerca di mercato e il monitoraggio della parità tariffaria nel settore dei viaggi. I team li raccolgono per rispondere a domande a cui i report statici non possono rispondere.
- Monitoraggio della parità tariffaria: hotel e catene verificano se le OTA rispettano le tariffe concordate o se offrono prezzi inferiori rispetto al canale di prenotazione diretto.
- Prezzi della concorrenza: i revenue manager monitorano i prezzi applicati dalle strutture vicine per le stesse date e tipologie di camera, quindi adeguano le proprie tariffe.
- Ricerca di mercato: gli analisti studiano i segnali di occupazione, la stagionalità, le tendenze nei servizi e la nuova offerta che entra in una destinazione.
In ogni caso, il valore dipende dalla raccolta dei prezzi esattamente come li vedrebbe un viaggiatore reale in uno specifico mercato; è qui che le scelte infrastrutturali iniziano a contare.
Perché il geo-targeting modifica i prezzi degli hotel?
Le OTA applicano prezzi dinamici, quindi la tariffa della stessa camera e per la stessa data può differire in base al paese e alla valuta del visitatore, e persino al dispositivo o alla sessione. Una richiesta dalla Germania può mostrare prezzi in euro e promozioni specifiche per la regione che una richiesta dagli Stati Uniti non vedrà mai.
Per acquisire dati accurati serve un IP situato nel mercato che stai studiando. Il targeting per paese ti consente di presentarti come un visitatore locale per ciascun insieme di valute e promozioni. I residential proxy sono qui la scelta abituale perché i loro indirizzi appartengono a connessioni di consumatori reali, quindi le OTA li trattano come viaggiatori comuni anziché come traffico automatizzato. I proxy datacenter sono più veloci ed economici, ma più facili da segnalare per i forti sistemi anti-bot; pertanto sono adatti a target poco sensibili o a un primo passaggio, anziché a pagine OTA protette.
In che modo le sticky session aiutano i flussi su più pagine?
Le sticky session mantengono lo stesso indirizzo IP per una sequenza di richieste, aspetto importante perché i flussi in stile prenotazione mantengono lo stato tra le pagine. Una pagina di risultati di ricerca, una pagina di dettaglio della camera e una fase di conferma della tariffa spesso condividono cookie e token di sessione lato server associati all’IP di origine.
Se il tuo IP ruota a metà flusso, il sito può reimpostare la sessione, mostrare una valuta diversa o attivare una verifica. Assegna una sticky session a ogni ricerca logica, ossia una struttura con intervallo di date e occupazione, completa le pagine necessarie e poi rilasciala. Usa sessioni rotanti per raccolte estese su una sola pagina, come l’estrazione di una scheda per richiesta, e riserva le sticky session ai percorsi multi-step simili al checkout. DataImpulse supporta sia sessioni rotanti sia sticky session nello stesso pool.
Conviene fare scraping di HTML o degli endpoint JSON?
Preferisci gli endpoint JSON sottostanti quando esistono. La maggior parte delle OTA moderne carica i prezzi tramite chiamate XHR o fetch in background che restituiscono JSON pulito, mentre l’HTML visibile viene renderizzato in seguito da JavaScript e cambia spesso layout.
Apri gli strumenti per sviluppatori del browser, osserva la scheda Network mentre effettui una ricerca e cerca richieste XHR che restituiscono dati su disponibilità e tariffe. Riprodurre direttamente tali endpoint è più veloce, richiede meno larghezza di banda ed è molto meno fragile che analizzare le schede nell’HTML. Quando è disponibile solo HTML, punta ad attributi stabili anziché a nomi di classi estetici. Qualunque strada tu scelga, le tecniche difensive generali di questa guida allo scraping senza essere bloccati continuano a essere valide e, se ti concentri su una sola OTA, la nostra guida su come fare scraping di Booking.com approfondisce un singolo sito.
Come pianificare richieste e larghezza di banda?
Stima il numero di richieste prima di iniziare, perché i parametri relativi a intervallo di date e occupazione si moltiplicano rapidamente. Ogni struttura, data di check-in, durata del soggiorno e configurazione degli ospiti è una query separata; quindi anche una griglia di ricerca modesta può arrivare a centinaia di migliaia di richieste.
Per esempio, 500 hotel per 90 date di check-in per 3 durate di soggiorno per 2 opzioni di occupazione fanno 270.000 richieste in un singolo passaggio. Poiché i piani proxy misurano il traffico a gigabyte, mantieni piccola ogni risposta: usa endpoint JSON anziché pagine HTML complete, richiedi solo i campi necessari ed evita di scaricare immagini o riquadri della mappa. Lo snippet Python qui sotto mostra come costruire una griglia di date, così puoi dimensionare il lavoro prima di eseguirlo.
import requests
from datetime import date, timedelta
proxies = {
"http": "http://USER:[email protected]:823",
"https": "http://USER:[email protected]:823",
}
start = date(2026, 8, 1)
dates = [start + timedelta(days=i) for i in range(90)]
stays = [1, 3, 7]
for check_in in dates:
for nights in stays:
params = {
"hotel_id": 123456,
"checkin": check_in.isoformat(),
"checkout": (check_in + timedelta(days=nights)).isoformat(),
"adults": 2,
"currency": "EUR",
}
r = requests.get(
"https://example-ota.com/api/availability",
params=params,
proxies=proxies,
timeout=20,
)
# store r.json() keyed by hotel_id, checkin, nights
Come analizzare le schede degli hotel?
Quando devi leggere HTML, analizza ogni scheda individuando un contenitore stabile ed estraendo da esso nome, prezzo e valutazione. Lavora scheda per scheda, così una modifica in un campo non compromette l’intera esecuzione.
L’esempio seguente usa BeautifulSoup per scorrere le schede dei risultati. Adatta i selettori al tuo target e verifica sempre l’assenza di campi, poiché camere esaurite e layout promozionali spesso omettono un prezzo o una valutazione.
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, "html.parser")
listings = []
for card in soup.select("div[data-testid='property-card']"):
name = card.select_one("h3")
price = card.select_one("span[data-testid='price']")
rating = card.select_one("div[data-testid='rating']")
listings.append({
"name": name.get_text(strip=True) if name else None,
"price": price.get_text(strip=True) if price else None,
"rating": rating.get_text(strip=True) if rating else None,
})
print(len(listings), "cards parsed")
Come gestire le difese anti-bot delle OTA?
Presumi che la protezione anti-bot sulle OTA sia forte e progetta di conseguenza, anziché affrontarla direttamente. I grandi siti di viaggi usano fingerprinting, limitazione della frequenza, controlli comportamentali e valutazione della reputazione degli IP; pertanto uno scraping aggressivo da un ristretto insieme di indirizzi viene rilevato rapidamente.
- Distribuisci le richieste in un ampio pool residential, affinché nessun singolo IP mostri una frequenza di richieste innaturale.
- Riduci la velocità a un ritmo simile a quello umano e aggiungi variazioni casuali tra le richieste anziché un intervallo fisso.
- Abbina valuta, lingua e header Accept al paese dell’IP di uscita.
- Valuta i proxy mobile per le pagine più protette, poiché gli indirizzi NAT di livello carrier sono condivisi da molti utenti reali e sono più difficili da bloccare completamente.
DataImpulse ottiene i propri IP in modo etico da utenti che aderiscono volontariamente e ricevono un compenso; ciò mantiene il pool in linea con le aspettative del GDPR, offrendoti al contempo la diffusione geografica necessaria per una raccolta affidabile di dati sugli hotel.
Tipi di proxy per siti di viaggi
| Tipo di proxy | Ideale per | Nota |
|---|---|---|
| Residential rotante | Scraping esteso dei prezzi | Nuovo IP a ogni richiesta |
| Residential sticky | Flussi di prenotazione multi-step | Mantiene stabile la sessione |
| Mobile | Siti difficili da raggiungere | Massima affidabilità, più costoso |
| Datacenter | Query in blocco veloci | Più probabilità di essere bloccato |

Domande frequenti
È legale fare web scraping delle schede degli hotel?
Lo scraping di dati pubblicamente disponibili nelle schede è generalmente consentito in molte giurisdizioni, ma continuano ad applicarsi i termini di servizio del sito, le leggi locali e le regole sui dati personali o protetti da copyright. Esamina i termini del target e consulta un legale prima di raccogliere dati su larga scala.
Quale tipo di proxy è migliore per fare scraping dei prezzi degli hotel?
I residential proxy con targeting per paese sono la scelta abituale perché i prezzi delle OTA variano in base al mercato e gli IP residential si presentano come viaggiatori locali reali. I proxy mobile aiutano sulle pagine più protette, mentre i proxy datacenter sono adatti a raccolte poco sensibili o di primo passaggio.
Perché ottengo prezzi diversi da quelli mostrati dal sito web?
I prezzi degli hotel dipendono dal paese, dalla valuta, dalla sessione e talvolta dal dispositivo del visitatore; quindi un IP o una valuta che non corrispondono al mercato che stai studiando restituiscono valori diversi. Abbina paese e valuta dell’IP di uscita al mercato target.
Quanta larghezza di banda usa lo scraping degli hotel?
Dipende dal volume delle richieste, che cresce rapidamente con le griglie di date e occupazione. Usare endpoint JSON e richiedere solo i campi necessari mantiene piccola ogni risposta; quindi stima le dimensioni della griglia e il peso per risposta prima di avviare un’esecuzione di grandi dimensioni.
Dovrei fare scraping della pagina HTML o dell’endpoint API?
Preferisci gli endpoint JSON che le OTA chiamano in background, poiché sono più leggeri, veloci e stabili dell’HTML renderizzato da JavaScript. Ricorri al parsing delle schede solo quando non è esposto un endpoint adatto.
Quando DataImpulse non è la soluzione adatta?
Se ti servono proxy ISP statici, una API di scraping completamente gestita o l’accesso a siti bancari e governativi, DataImpulse non è lo strumento adatto. Si concentra su proxy residential, mobile e datacenter rotanti per raccogliere dati pubblici e accedere ai contenuti.
Inizia a raccogliere dati accurati sugli hotel
Se ti servono tariffe precise per paese da OTA e siti di hotel, DataImpulse offre IP residential, mobile e datacenter ottenuti eticamente in 195 paesi, con sessioni rotanti e sticky session a partire da 1 dollaro per GB. Crea un account ed esegui oggi il tuo primo lavoro sulle schede degli hotel.
