I siti di biglietti aerei sono tra le risorse più protette e aggressive su Internet. Prezzi obsoleti, captcha, blocchi IP istantanei: tutto ciò rende la raccolta di dati sulle tariffe una vera sfida. Se stai costruendo un aggregatore, monitorando i prezzi per i clienti o cercando percorsi economici in modo automatico, senza proxy configurati correttamente non resisterai nemmeno un'ora. In questo articolo analizzeremo quali proxy funzionano, come configurarli e perché alcuni tipi falliscono dove altri riescono.
Perché i siti di voli bloccano il scraping così rapidamente
L'industria aerea opera con prezzi dinamici: le tariffe cambiano decine di volte al giorno a seconda della domanda, dell'ora del giorno, della cronologia del browser e persino della geolocalizzazione dell'utente. È per questo che i grandi aggregatori — Aviasales, Skyscanner, Kayak, Google Flights — investono enormi risorse nella protezione contro le richieste automatiche.
Ecco cosa succede quando cerchi di raccogliere dati senza proxy o con IP di data center economici:
- Blocco IP istantaneo — la maggior parte dei siti di voli mantiene database ASN (sistemi autonomi) dei data center. La richiesta da un IP di hosting viene bloccata prima ancora che la pagina venga caricata.
- Captcha e Cloudflare — anche se la prima richiesta è andata a buon fine, dopo 5–10 accessi da un unico indirizzo appare un captcha o un reindirizzamento per la verifica.
- Prezzi falsi — alcuni siti (soprattutto gli aggregatori OTA) mostrano intenzionalmente ai bot tariffe gonfiate o obsolete, per rovinare i dati ai concorrenti.
- Fingerprinting — oltre all'IP, i sistemi analizzano le intestazioni HTTP, l'ordine delle estensioni TLS, il comportamento del mouse e la velocità di scorrimento.
- Rate limiting — limitazione del numero di richieste da un unico IP in un'unità di tempo. Di solito la soglia è di 20–50 richieste al minuto, dopo di che la connessione viene interrotta.
Risultato: senza proxy di qualità con IP reali non raccoglierai dati attuali. I proxy di data center funzionano male qui: i siti di voli li riconoscono nei primi secondi. Hai bisogno di IP residenziali o mobili.
Quali tipi di proxy sono adatti per i voli
Analizziamo tre tipi principali di proxy e la loro applicabilità al compito di raccolta dei prezzi dei voli:
| Tipo di proxy | Fonte IP | Bypass della protezione dei siti di voli | Velocità | Costo |
|---|---|---|---|---|
| Proxy residenziali | Fornitori domestici (Rostelecom, Beeline, AT&T) | ⭐⭐⭐⭐⭐ Eccellente | Media | Media |
| Proxy mobili | Reti degli operatori (MTS, MegaFon, T-Mobile) | ⭐⭐⭐⭐⭐ Eccellente | Alta | Alta |
| Proxy di data center | Fattorie server (AWS, OVH, Hetzner) | ⭐⭐ Povero | Molto alta | Bassa |
La conclusione è ovvia: per i siti di voli, i proxy di data center sono praticamente inutili. Aviasales, Skyscanner e Google Flights identificano istantaneamente gli IP degli provider di hosting e li bloccano o mostrano un captcha. La vera scelta è tra proxy residenziali e mobili — e ciascuno ha la sua nicchia.
Proxy residenziali vs mobili: cosa scegliere per i voli
Entrambi i tipi funzionano, ma in diversi scenari uno prevale sull'altro. Analizziamo nel dettaglio.
Proxy residenziali — per la raccolta dati su larga scala
I proxy residenziali utilizzano indirizzi IP di veri utenti domestici in tutto il mondo. Per il scraping dei voli questo significa:
- Possibilità di scegliere un paese specifico e persino una città — critico se stai controllando i prezzi per diversi mercati (ad esempio, prezzo da Mosca vs da Londra per lo stesso volo).
- Grande pool di IP — migliaia di indirizzi per la rotazione, che consente di effettuare centinaia di richieste senza ripetizioni.
- Buon rapporto qualità/prezzo per grandi volumi di traffico.
- Supporto per modalità sessioni e rotazione — puoi mantenere una sessione per simulare un utente reale.
Scenario ideale: stai costruendo un aggregatore o un servizio di monitoraggio e hai bisogno di raccogliere prezzi da 10–20 siti contemporaneamente, effettuando migliaia di richieste all'ora. I proxy residenziali con rotazione sono la tua scelta.
Proxy mobili — per i siti più protetti
I proxy mobili funzionano tramite SIM reali degli operatori di telefonia mobile. La loro particolarità sono gli indirizzi IP delle reti mobili (3G/4G/5G), che i siti di voli praticamente non bloccano mai. La ragione è semplice: dietro un IP mobile possono esserci migliaia di utenti reali in una rete NAT. Bloccare tale indirizzo significa perdere migliaia di clienti reali.
- Massimo livello di fiducia da parte dei sistemi anti-bot.
- Praticamente nullo rischio di blocco anche durante scraping aggressivo.
- Possibilità di cambiare IP tramite cambio di sessione (senza cambiare fisicamente dispositivo).
- Costo più elevato — giustificato per dati critici o siti complessi.
Scenario ideale: hai bisogno di raccogliere dati da un sito complesso specifico (ad esempio, il sito diretto di una compagnia aerea con Cloudflare Enterprise), dove i proxy residenziali danno occasionalmente captcha. I proxy mobili risolveranno questo problema.
💡 Consiglio pratico
Per la maggior parte delle attività di monitoraggio dei prezzi dei voli, la strategia ottimale è proxy residenziali per la raccolta di massa + proxy mobili per siti complessi. Questo consente di ottimizzare il budget senza compromettere la qualità dei dati.
Caratteristiche della protezione di Aviasales, Skyscanner, Google Flights e Kayak
Ogni piattaforma ha le proprie caratteristiche di protezione. Comprendere queste differenze aiuterà a configurare correttamente i proxy e il comportamento delle richieste.
Aviasales
L'aggregatore russo utilizza una combinazione di rate limiting e analisi del comportamento. Il limite è di circa 30–40 richieste al minuto da un unico IP. In caso di superamento — reindirizzamento a captcha di Yandex SmartCaptcha. Il sito è relativamente leale ai proxy residenziali con IP russi. Importante: i prezzi su Aviasales dipendono dalla geolocalizzazione, quindi per raccogliere dati corretti utilizza proxy con IP del paese per cui hai bisogno delle tariffe.
Skyscanner
Uno degli aggregatori più protetti. Utilizza Cloudflare con impostazione "Under Attack Mode" per IP sospetti, oltre a un proprio sistema anti-bot. I proxy di data center qui non funzionano affatto. I proxy residenziali passano, ma richiedono un ritmo lento delle richieste (non più di 15–20 al minuto) e intestazioni del browser corrette. Per Skyscanner è consigliato simulare una sessione di browser reale tramite Playwright o Puppeteer con proxy connessi.
Google Flights
Google utilizza i propri algoritmi di rilevamento dei bot — reCAPTCHA v3 e analisi dei modelli comportamentali. Lo scraping diretto dell'HTML qui non funziona, poiché i dati vengono caricati tramite JavaScript. È necessario un browser headless (Playwright/Puppeteer) con proxy residenziali o mobili. Google è anche sensibile alla corrispondenza della geolocalizzazione dell'IP e della lingua del browser: la non corrispondenza aumenta il rischio di blocco.
Kayak
Aggregatore americano con protezione aggressiva contro i bot basata su PerimeterX (ora HUMAN Security). Riconosce non solo l'IP, ma anche il fingerprint TLS, l'ordine delle intestazioni HTTP/2 e il tempo tra le richieste. Per Kayak sono obbligatori: proxy residenziali o mobili, simulazione di un browser reale e ritardi casuali tra le richieste (2–8 secondi).
| Piattaforma | Sistema di protezione | Funzionano i data center? | Necessario headless? | Tipo di proxy raccomandato |
|---|---|---|---|---|
| Aviasales | Rate limit + Yandex Captcha | ❌ No | Desiderabile | Residenziali (RU) |
| Skyscanner | Cloudflare + sistema proprietario | ❌ No | ✅ Sì | Residenziali / Mobili |
| Google Flights | reCAPTCHA v3 + analisi comportamentale | ❌ No | ✅ Obbligatorio | Residenziali / Mobili |
| Kayak | HUMAN Security (PerimeterX) | ❌ No | ✅ Sì | Mobili |
Come configurare i proxy per raccogliere dati sui prezzi dei voli
La configurazione dipende dallo strumento che stai utilizzando. Esaminiamo gli scenari più comuni.
Opzione 1: Parser pronti e strumenti no-code
Se non scrivi codice, utilizza soluzioni pronte: Octoparse, ParseHub, Apify. Tutti supportano la connessione di proxy esterni. Procedura da seguire:
- Ottieni i dati del proxy: host (IP o dominio), porta, nome utente, password.
- Apri le impostazioni del tuo strumento → sezione "Proxy" o "Network".
- Scegli il tipo di protocollo: HTTPS (per la maggior parte delle attività) o SOCKS5 (se necessiti di un funzionamento a livello più basso).
- Inserisci i dati di connessione. Il formato è solitamente:
login:password@host:port - Attiva la rotazione dei proxy — la maggior parte degli strumenti lo fa automaticamente in presenza di un pool di indirizzi.
- Avvia una richiesta di test al sito target e verifica che l'IP sia cambiato.
Opzione 2: Playwright / Puppeteer con proxy
Per siti complessi (Google Flights, Skyscanner) è necessario un browser headless. Ecco come collegare un proxy in Playwright:
const { chromium } = require('playwright');
const browser = await chromium.launch({
proxy: {
server: 'http://your-proxy-host:port',
username: 'your_login',
password: 'your_password'
}
});
const page = await browser.newPage();
await page.goto('https://www.skyscanner.com/...');
// Qui la tua logica di estrazione dei dati
await browser.close();
Per la rotazione dei proxy ad ogni nuova richiesta, crea un nuovo contesto del browser con un nuovo proxy dal tuo pool. Questo simula il comportamento di diversi utenti.
Opzione 3: Python + requests/httpx
Per siti senza rendering JavaScript (o per lavorare con API dei siti di voli) va bene Python:
import requests
import random
proxies_pool = [
"http://login:[email protected]:port",
"http://login:[email protected]:port",
"http://login:[email protected]:port",
]
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
"Accept-Language": "it-IT,it;q=0.9",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
}
proxy = {"http": random.choice(proxies_pool), "https": random.choice(proxies_pool)}
response = requests.get(
"https://www.aviasales.ru/search/...",
proxies=proxy,
headers=headers,
timeout=15
)
print(response.status_code)
Rotazione IP e gestione delle sessioni: regole chiave
Una corretta rotazione degli IP è metà del successo nel scraping dei voli. Cambiare semplicemente IP non è sufficiente: è necessario farlo in modo intelligente.
Regola 1: Un IP — una sessione
Non utilizzare un unico IP per più richieste parallele. I sistemi anti-bot vedono un carico anormalmente alto da un unico indirizzo e lo bloccano. Ogni flusso di richieste deve funzionare tramite un proxy separato.
Regola 2: Ritardi casuali tra le richieste
Un utente reale non effettua richieste a intervalli di tempo regolari. Aggiungi un ritardo casuale da 2 a 8 secondi tra le richieste. Questo riduce la probabilità di rilevamento da parte del bot di 3–4 volte rispetto a richieste uniformi.
Regola 3: Corrispondenza della geolocalizzazione e della lingua
Se utilizzi proxy con IP tedesco, nelle intestazioni del browser deve esserci la lingua tedesca (Accept-Language: de-DE). La non corrispondenza è un chiaro segnale per i sistemi anti-bot. Questo è particolarmente importante per Google Flights.
Regola 4: Proxy di sessione per richieste multi-step
Alcuni siti di voli richiedono più passaggi: ricerca → selezione del volo → visualizzazione dei dettagli. Tutti questi passaggi devono essere eseguiti da un unico IP. Utilizza sessioni sticky (sessioni appiccicose) — modalità in cui un IP è assegnato al tuo flusso per un certo periodo di tempo (di solito 10–30 minuti).
Regola 5: Monitoraggio della qualità dei proxy
Controlla regolarmente quali IP del pool sono bloccati. Escludi automaticamente gli indirizzi che restituiscono codice 403, 429 o reindirizzamento a captcha. La maggior parte dei framework di scraping professionali (Scrapy, Apify) lo fa automaticamente.
Strumenti pronti per il scraping dei prezzi dei voli
Se non vuoi scrivere un parser da zero, ecco strumenti che già supportano il lavoro con proxy e sono adatti per il monitoraggio dei prezzi aerei:
Apify
Piattaforma cloud per il web scraping. Ha attori (bot) pronti per Skyscanner e Google Flights. Supporta la connessione di proxy esterni tramite le impostazioni. Per collegare i tuoi proxy: vai alle impostazioni dell'attore → scheda "Proxy and browser configuration" → seleziona "Custom proxies" → incolla l'URL dei tuoi proxy nel formato http://user:pass@host:port.
Octoparse
Parser no-code con interfaccia visiva. Adatto per chi non scrive codice. Supporta la rotazione dei proxy: Impostazioni → Estrazione Cloud → Impostazioni Proxy → Aggiungi Proxy Personalizzato. Puoi aggiungere un elenco di proxy e Octoparse li alternerà automaticamente.
Scrapy + Scrapy-Rotating-Proxies
Framework Python per scraping professionale. Il plugin scrapy-rotating-proxies ruota automaticamente gli IP dalla tua lista ed esclude gli indirizzi bloccati. Adatto per attività ad alto carico — centinaia di migliaia di richieste al giorno.
ParseHub
Un altro strumento no-code con supporto per il rendering JavaScript. Gestisce bene Aviasales. I proxy si collegano nella sezione Impostazioni → Avanzate → Proxy.
⚠️ Importante riguardo al geotargeting dei prezzi
I siti di voli mostrano prezzi diversi a seconda del paese dell'utente. Non è solo una strategia di marketing — è una realtà tecnica. Se stai monitorando i prezzi per il mercato russo, utilizza proxy con IP russi. Per confrontare i prezzi tra i mercati (ad esempio, quanto costa lo stesso volo per un utente in Germania) sono necessari proxy con IP dei paesi corrispondenti.
Checklist: come non ricevere un ban durante la raccolta dei prezzi dei voli
Salva questo elenco: ti aiuterà a evitare la maggior parte dei problemi durante la configurazione dello scraping:
✅ Prima di avviare il parser
- Selezionati proxy residenziali o mobili (non di data center)
- IP del proxy corrisponde al mercato target (paese/città)
- La lingua del browser corrisponde alla geolocalizzazione del proxy
- Configurata la rotazione IP (minimo 1 IP per flusso)
- Le intestazioni User-Agent simulano un vero browser
- Per i siti JS si utilizza un browser headless (Playwright/Puppeteer)
✅ Durante il funzionamento del parser
- Ritardi tra le richieste: 2–8 secondi (casuali)
- Non più di 20–30 richieste al minuto da un unico IP
- Sessioni multi-step utilizzano un unico IP (sticky session)
- I codici 403/429 escludono automaticamente l'IP dal pool
- Registrazione di tutti gli errori per analisi
✅ Inoltre per siti complessi
- Intestazioni Referer e Accept corrette
- Simulazione del movimento del mouse e dello scrolling (per Playwright)
- Cambiamento casuale dell'User-Agent da un vero pool di browser
- Utilizzo di cookie di sessione per simulare il ritorno
Errori tipici che portano a ban
- Utilizzo di proxy gratuiti. I loro IP sono stati a lungo inseriti nelle liste nere di tutti i principali siti di voli. Riceverai un blocco alla prima richiesta.
- Frequenza di richieste troppo alta. Anche con buoni proxy, 100 richieste al minuto da un unico IP sono un modo certo per essere bannati.
- Stesso User-Agent per tutte le richieste. Gli utenti reali utilizzano diversi browser e versioni: il tuo parser deve simulare questo comportamento.
- Ignorare i cookie. Molti siti tracciano la sessione tramite cookie. Se non salvi e non trasmetti i cookie tra le richieste, il comportamento appare anomalo.
- Non corrispondenza tra geolocalizzazione e contenuto della richiesta. Richiedere la versione russa del sito tramite un IP americano è un chiaro segnale per i sistemi anti-bot.
Conclusione
La raccolta di dati sui prezzi dei voli è una delle sfide tecnicamente più complesse nel scraping. I siti di voli investono risorse significative nella protezione contro i bot, e aggirarla senza gli strumenti giusti è impossibile. Le principali conclusioni di questo articolo:
- I proxy di data center non funzionano per i siti di voli: vengono bloccati istantaneamente.
- I proxy residenziali sono la scelta ottimale per il monitoraggio su larga scala dei prezzi da diversi mercati.
- I proxy mobili sono necessari per le piattaforme più protette (Kayak, Skyscanner) e per dati critici.
- Rotazione IP, ritardi casuali e simulazione di un vero browser sono condizioni obbligatorie per un funzionamento stabile.
- La geolocalizzazione del proxy deve corrispondere al mercato target, altrimenti i prezzi saranno errati.
Se intendi costruire un sistema di monitoraggio dei prezzi dei voli o raccogliere dati per un aggregatore, inizia con proxy residenziali — offrono il giusto equilibrio tra qualità di bypass della protezione, copertura geografica e costo. Per i siti più complessi con protezione anti-bot aggressiva, considera i proxy mobili — forniscono il massimo livello di fiducia da parte dei sistemi anti-bot e praticamente escludono i blocchi con una corretta configurazione.