Les sites de billets d'avion sont parmi les ressources les plus agressivement protégées sur Internet. Prix obsolètes, captchas, blocages IP instantanés - tout cela rend la collecte de données tarifaires un véritable défi. Si vous construisez un agrégateur, surveillez les prix pour des clients ou recherchez des itinéraires bon marché de manière automatique, sans des proxies correctement configurés, vous ne tiendrez pas une heure. Dans cet article, nous allons examiner quels proxies fonctionnent, comment les configurer et pourquoi certains types échouent là où d'autres réussissent.
Pourquoi les sites de billets d'avion bloquent-ils le scraping si rapidement
L'industrie aéronautique fonctionne avec une tarification dynamique : les tarifs changent des dizaines de fois par jour en fonction de la demande, de l'heure de la journée, de l'historique du navigateur et même de la géolocalisation de l'utilisateur. C'est pourquoi les grands agrégateurs - Aviasales, Skyscanner, Kayak, Google Flights - investissent d'énormes ressources dans la protection contre les requêtes automatiques.
Voici ce qui se passe lorsque vous essayez de collecter des données sans proxies ou avec des IP de centres de données bon marché :
- Blocage IP instantané - la plupart des sites de billets d'avion maintiennent des bases de données ASN (systèmes autonomes) des centres de données. Une requête avec une IP d'hébergement est bloquée avant même le chargement de la page.
- Captchas et Cloudflare - même si la première requête passe, après 5 à 10 requêtes depuis une même adresse, un captcha ou une redirection pour vérification apparaît.
- Prix fictifs - certains sites (en particulier les agrégateurs OTA) montrent intentionnellement aux bots des tarifs gonflés ou obsolètes pour fausser les données des concurrents.
- Fingerprinting - en plus de l'IP, les systèmes analysent les en-têtes HTTP, l'ordre des extensions TLS, le comportement de la souris et la vitesse de défilement.
- Limitation de taux - limitation du nombre de requêtes depuis une même IP dans un laps de temps. En général, le seuil est de 20 à 50 requêtes par minute, après quoi la connexion est rompue.
En résumé : sans des proxies de qualité avec de vraies IP, vous ne pourrez pas collecter des données actuelles. Les proxies de centres de données fonctionnent mal ici - les sites de billets d'avion les reconnaissent dans les premières secondes. Il faut soit des IP résidentielles, soit des IP mobiles.
Quels types de proxies conviennent pour les billets d'avion
Examinons trois types principaux de proxies et leur applicabilité à la tâche de collecte des prix des billets d'avion :
| Type de proxy | Source IP | Contournement de la protection des sites de billets d'avion | Vitesse | Coût |
|---|---|---|---|---|
| Proxies résidentiels | Fournisseurs domestiques (Rostelecom, Beeline, AT&T) | ⭐⭐⭐⭐⭐ Excellent | Moyenne | Moyenne |
| Proxies mobiles | Réseaux opérateurs (MTS, Megafon, T-Mobile) | ⭐⭐⭐⭐⭐ Excellent | Élevée | Élevée |
| Proxies de centres de données | Fermes de serveurs (AWS, OVH, Hetzner) | ⭐⭐ Mauvais | Très élevée | Faible |
La conclusion est évidente : pour les sites de billets d'avion, les proxies de centres de données sont pratiquement inutiles. Aviasales, Skyscanner et Google Flights identifient instantanément les IP des fournisseurs d'hébergement et les bloquent ou affichent un captcha. Le choix réel se situe entre les proxies résidentiels et mobiles - et chacun a sa propre niche.
Proxies résidentiels vs mobiles : que choisir pour les billets d'avion
Les deux types fonctionnent, mais dans différents scénarios, l'un l'emporte sur l'autre. Examinons cela plus en détail.
Proxies résidentiels - pour la collecte de données à grande échelle
Les proxies résidentiels utilisent des adresses IP de véritables utilisateurs domestiques à travers le monde. Pour le scraping des billets d'avion, cela signifie :
- Possibilité de choisir un pays spécifique et même une ville - critique si vous vérifiez les prix pour différents marchés (par exemple, le prix de Moscou vs de Londres pour le même vol).
- Grand pool d'IP - des milliers d'adresses pour la rotation, permettant de faire des centaines de requêtes sans répétition.
- Bon rapport qualité/prix pour de gros volumes de trafic.
- Support des modes de session et de rotation - possibilité de maintenir une session pour simuler un utilisateur réel.
Scénario idéal : vous construisez un agrégateur ou un service de surveillance et vous devez collecter des prix de 10 à 20 sites simultanément, en effectuant des milliers de requêtes par heure. Les proxies résidentiels avec rotation sont votre choix.
Proxies mobiles - pour les sites les plus protégés
Les proxies mobiles fonctionnent via de véritables cartes SIM d'opérateurs de téléphonie mobile. Leur particularité - des adresses IP provenant de réseaux mobiles (3G/4G/5G), que les sites de billets d'avion ne bloquent pratiquement jamais. La raison est simple : derrière une IP mobile peut se cacher un réseau NAT, où se trouvent des milliers d'utilisateurs réels. Bloquer une telle adresse signifie perdre des milliers de clients réels.
- Niveau de confiance maximal de la part des systèmes anti-bots.
- Risque de blocage pratiquement nul même lors d'un scraping agressif.
- Possibilité de changement d'IP via le changement de session (sans changement physique de l'appareil).
- Coût plus élevé - justifié pour des données critiques ou des sites complexes.
Scénario idéal : vous devez collecter des données d'un site complexe spécifique (par exemple, le site direct d'une compagnie aérienne avec Cloudflare Enterprise), où les proxies résidentiels donnent parfois des captchas. Les proxies mobiles résoudront ce problème.
💡 Conseil pratique
Pour la plupart des tâches de surveillance des prix des billets d'avion, la stratégie optimale est des proxies résidentiels pour la collecte de masse + des proxies mobiles pour les sites complexes. Cela permet d'optimiser le budget sans perte de qualité des données.
Caractéristiques de la protection Aviasales, Skyscanner, Google Flights et Kayak
Chaque plateforme a ses propres caractéristiques de protection. Comprendre ces différences aidera à configurer correctement les proxies et le comportement des requêtes.
Aviasales
L'agrégateur russe utilise une combinaison de limitation de taux et d'analyse du comportement. La limitation est d'environ 30 à 40 requêtes par minute depuis une même IP. En cas de dépassement - redirection vers un captcha de Yandex SmartCaptcha. Le site est relativement tolérant envers les proxies résidentiels avec des IP russes. Important : les prix sur Aviasales dépendent de la géolocalisation, donc pour une collecte de données correcte, utilisez des proxies avec des IP du pays pour lequel vous avez besoin des tarifs.
Skyscanner
L'un des agrégateurs les plus protégés. Utilise Cloudflare avec le paramètre "Under Attack Mode" pour les IP suspectes, ainsi qu'un système anti-bots propre. Les proxies de centres de données ne fonctionnent pas du tout ici. Les proxies résidentiels passent, mais nécessitent un rythme de requêtes lent (pas plus de 15 à 20 par minute) et des en-têtes de navigateur corrects. Pour Skyscanner, il est recommandé de simuler une session de navigateur réel via Playwright ou Puppeteer avec le proxy connecté.
Google Flights
Google utilise ses propres algorithmes de détection de bots - reCAPTCHA v3 et analyse des modèles comportementaux. Le scraping HTML direct ne fonctionne pas ici, car les données sont chargées via JavaScript. Un navigateur sans tête (Playwright/Puppeteer) avec des proxies résidentiels ou mobiles est nécessaire. Google est également sensible à la correspondance entre la géolocalisation de l'IP et la langue du navigateur - un non-respect augmente le risque de blocage.
Kayak
Agrégateur américain avec une protection agressive contre les bots basée sur PerimeterX (maintenant HUMAN Security). Reconnaît non seulement les IP, mais aussi le fingerprint TLS, l'ordre des en-têtes HTTP/2 et le temps entre les requêtes. Pour Kayak, il est impératif d'utiliser : des proxies résidentiels ou mobiles, de simuler un vrai navigateur et d'avoir des délais aléatoires entre les requêtes (2 à 8 secondes).
| Plateforme | Système de protection | Les centres de données fonctionnent-ils ? | Nécessite un headless ? | Type de proxy recommandé |
|---|---|---|---|---|
| Aviasales | Limitation de taux + Yandex Captcha | ❌ Non | Souhaitable | Résidentiels (RU) |
| Skyscanner | Cloudflare + système propre | ❌ Non | ✅ Oui | Résidentiels / Mobiles |
| Google Flights | reCAPTCHA v3 + analyse comportementale | ❌ Non | ✅ Obligatoire | Résidentiels / Mobiles |
| Kayak | HUMAN Security (PerimeterX) | ❌ Non | ✅ Oui | Mobiles |
Comment configurer des proxies pour la collecte de données sur les prix des billets d'avion
La configuration dépend de l'outil que vous utilisez. Examinons les scénarios les plus courants.
Option 1 : Scrapers prêts à l'emploi et outils no-code
Si vous ne codez pas, utilisez des solutions prêtes à l'emploi : Octoparse, ParseHub, Apify. Tous prennent en charge la connexion de proxies externes. Voici les étapes à suivre :
- Obtenez les données du proxy : hôte (IP ou domaine), port, identifiant, mot de passe.
- Ouvrez les paramètres de votre outil → section « Proxy » ou « Réseau ».
- Sélectionnez le type de protocole : HTTPS (pour la plupart des tâches) ou SOCKS5 (si un fonctionnement de bas niveau est nécessaire).
- Collez les données de connexion. Le format est généralement le suivant :
login:password@host:port - Activez la rotation des proxies - la plupart des outils le font automatiquement en cas de pool d'adresses.
- Lancez une requête de test vers le site cible et vérifiez que l'IP a changé.
Option 2 : Playwright / Puppeteer avec proxy
Pour les sites complexes (Google Flights, Skyscanner), un navigateur sans tête est nécessaire. Voici comment connecter un proxy dans 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/...');
// Ensuite, votre logique d'extraction de données
await browser.close();
Pour la rotation des proxies à chaque nouvelle requête, créez un nouveau contexte de navigateur avec un nouveau proxy de votre pool. Cela imite le comportement de différents utilisateurs.
Option 3 : Python + requests/httpx
Pour les sites sans rendu JavaScript (ou pour travailler avec l'API des sites de billets d'avion), Python convient :
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": "fr-FR,fr;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)
Rotation IP et gestion des sessions : règles clés
Une bonne rotation des IP est la moitié du succès lors du scraping des billets d'avion. Il ne suffit pas de changer d'IP : il faut le faire intelligemment.
Règle 1 : Une IP - une session
N'utilisez pas une seule IP pour plusieurs requêtes parallèles. Les systèmes anti-bots détectent une charge anormalement élevée depuis une même adresse et la bloquent. Chaque flux de requêtes doit passer par un proxy distinct.
Règle 2 : Délais aléatoires entre les requêtes
Un utilisateur réel ne fait pas de requêtes à intervalles réguliers. Ajoutez un délai aléatoire de 2 à 8 secondes entre les requêtes. Cela réduit la probabilité d'être détecté par un bot de 3 à 4 fois par rapport aux requêtes uniformes.
Règle 3 : Correspondance entre géolocalisation et langue
Si vous utilisez des proxies avec une IP allemande, les en-têtes du navigateur doivent être en allemand (Accept-Language: de-DE). Un non-respect est un signal évident pour les systèmes anti-bots. Cela est particulièrement important pour Google Flights.
Règle 4 : Proxies de session pour des requêtes multi-étapes
Certains sites de billets d'avion nécessitent plusieurs étapes : recherche → sélection de vol → consultation des détails. Toutes ces étapes doivent être effectuées avec une seule IP. Utilisez des sessions collantes - un mode où une IP est attachée à votre flux pendant un certain temps (généralement 10 à 30 minutes).
Règle 5 : Surveillance de la qualité des proxies
Vérifiez régulièrement quelles IP de votre pool sont bloquées. Excluez automatiquement les adresses qui renvoient un code 403, 429 ou une redirection vers un captcha. La plupart des frameworks de scraping professionnels (Scrapy, Apify) le font automatiquement.
Outils prêts à l'emploi pour le scraping des prix des billets d'avion
Si vous ne souhaitez pas écrire un scraper de zéro, voici des outils qui prennent déjà en charge le travail avec des proxies et conviennent pour la surveillance des prix aériens :
Apify
Plateforme cloud pour le web scraping. Dispose d'acteurs (bots) prêts à l'emploi pour Skyscanner et Google Flights. Prend en charge la connexion de proxies externes via les paramètres. Pour connecter vos proxies : allez dans les paramètres de l'acteur → onglet « Proxy and browser configuration » → choisissez « Custom proxies » → collez l'URL de vos proxies au format http://user:pass@host:port.
Octoparse
Scraper no-code avec interface visuelle. Convient à ceux qui ne codent pas. Prend en charge la rotation des proxies : Paramètres → Extraction Cloud → Paramètres de Proxy → Ajouter un Proxy Personnalisé. Vous pouvez ajouter une liste de proxies, et Octoparse les alternera automatiquement.
Scrapy + Scrapy-Rotating-Proxies
Framework Python pour le scraping professionnel. Le plugin scrapy-rotating-proxies fait automatiquement tourner les IP de votre liste et exclut les adresses bloquées. Convient pour des tâches à forte charge - des centaines de milliers de requêtes par jour.
ParseHub
Un autre outil no-code avec prise en charge du rendu JavaScript. S'en sort bien avec Aviasales. Les proxies se connectent dans la section Paramètres → Avancé → Proxy.
⚠️ Important concernant le géotargeting des prix
Les sites de billets d'avion affichent des prix différents en fonction du pays de l'utilisateur. Ce n'est pas seulement une stratégie marketing - c'est une réalité technique. Si vous surveillez les prix pour le marché russe, utilisez des proxies avec des IP russes. Pour comparer les prix entre les marchés (par exemple, combien coûte le même vol pour un utilisateur d'Allemagne), des proxies avec des IP des pays correspondants sont nécessaires.
Checklist : comment ne pas se faire bannir lors de la collecte des prix des billets d'avion
Conservez cette liste - elle vous aidera à éviter la plupart des problèmes lors de la configuration du scraping :
✅ Avant de lancer le scraper
- Des proxies résidentiels ou mobiles ont été choisis (pas de centres de données)
- L'IP du proxy correspond au marché cible (pays/ville)
- La langue du navigateur correspond à la géolocalisation du proxy
- La rotation des IP est configurée (minimum 1 IP par flux)
- Les en-têtes User-Agent imitent un véritable navigateur
- Pour les sites JS, un navigateur sans tête est utilisé (Playwright/Puppeteer)
✅ Pendant le fonctionnement du scraper
- Délai entre les requêtes : 2 à 8 secondes (aléatoires)
- Pas plus de 20 à 30 requêtes par minute depuis une même IP
- Les sessions multi-étapes utilisent une seule IP (session collante)
- Les codes 403/429 excluent automatiquement l'IP du pool
- Journalisation de toutes les erreurs pour analyse
✅ En plus pour les sites complexes
- En-têtes Referer et Accept corrects
- Imitation du mouvement de la souris et du défilement (pour Playwright)
- Changement aléatoire de User-Agent à partir d'un pool réel de navigateurs
- Utilisation de sessions de cookies pour simuler une nouvelle visite
Erreurs typiques qui entraînent des bans
- Utilisation de proxies gratuits. Leurs IP sont depuis longtemps sur les listes noires de tous les grands sites de billets d'avion. Vous serez bloqué dès la première requête.
- Fréquence de requêtes trop élevée. Même avec de bons proxies, 100 requêtes par minute depuis une même IP - c'est un chemin sûr vers le ban.
- User-Agent identique pour toutes les requêtes. Les utilisateurs réels utilisent différents navigateurs et versions - votre scraper doit l'imiter.
- Ignorer les cookies. De nombreux sites suivent la session via des cookies. Si vous ne conservez pas et ne transmettez pas les cookies entre les requêtes, le comportement semble anormal.
- Non-concordance entre la géolocalisation et le contenu de la requête. Demander la version russophone du site via une IP américaine - un signal rouge pour les systèmes anti-bots.
Conclusion
La collecte de données sur les prix des billets d'avion est l'une des tâches les plus techniquement complexes en matière de scraping. Les sites de billets d'avion investissent des ressources considérables dans la protection contre les bots, et il est impossible de contourner cela sans les bons outils. Les principales conclusions de cet article :
- Les proxies de centres de données ne fonctionnent pas pour les sites de billets d'avion - ils sont bloqués instantanément.
- Les proxies résidentiels sont le choix optimal pour la surveillance à grande échelle des prix sur différents marchés.
- Les proxies mobiles sont nécessaires pour les plateformes les plus protégées (Kayak, Skyscanner) et pour des données critiques.
- Rotation IP, délais aléatoires et imitation d'un véritable navigateur sont des conditions obligatoires pour un fonctionnement stable.
- La géolocalisation du proxy doit correspondre au marché cible, sinon les prix seront incorrects.
Si vous envisagez de construire un système de surveillance des prix des billets d'avion ou de collecter des données pour un agrégateur, commencez par des proxies résidentiels - ils offrent le bon équilibre entre la qualité de contournement de la protection, la couverture géographique et le coût. Pour les sites les plus complexes avec une protection anti-bots agressive, envisagez des proxies mobiles - elles offrent un niveau de confiance maximal de la part des systèmes anti-bots et pratiquement excluent les blocages avec une configuration correcte.