Les agrégateurs de voyage tels qu'Aviasales, Booking, Skyscanner se protègent activement contre la collecte automatique de données — ils bloquent les IP après 10-20 requêtes, affichent des captchas et déforment les prix pour les bots. Si vous suivez les prix des billets d'avion ou des hôtels pour votre service, programme d'affiliation ou analyse de marché, sans proxies correctement configurés, vous serez banni en quelques minutes d'utilisation du scraper.
Dans ce guide, nous allons examiner quels proxies sont nécessaires pour un scraping stable des sites de voyage, comment configurer la rotation des IP, contourner les systèmes anti-bots Cloudflare et Akamai, et quelles erreurs entraînent des blocages même avec l'utilisation de proxies.
Pourquoi les agrégateurs de voyage bloquent le scraping et comment ils le font
Les agrégateurs de voyage subissent de réelles pertes dues au scraping : chaque requête à leur API coûte de l'argent (ils paient les compagnies aériennes et les hôtels pour l'accès aux données), et les concurrents utilisent les prix collectés pour attirer les clients. C'est pourquoi Aviasales, Booking, Skyscanner, Kayak investissent des millions dans la protection anti-bots.
Principales méthodes de détection du scraping
1. Analyse de la fréquence des requêtes à partir d'une seule IP. Un utilisateur ordinaire effectue 3-5 recherches par session, un scraper — des centaines par minute. Si votre IP envoie plus de 15-20 requêtes par minute, le système la marque comme suspecte. Après 50-100 requêtes, un blocage de 24 heures ou à vie est appliqué.
2. Fingerprinting du navigateur. Les sites de voyage collectent des dizaines de paramètres : résolution d'écran, fuseau horaire, polices installées, empreinte WebGL, empreinte canvas, contexte audio. Si ces paramètres ne correspondent pas à la géolocalisation déclarée de l'IP (par exemple, IP de Moscou, mais fuseau horaire UTC+8) — c'est un signe de proxy ou de VPN.
3. Vérification de la réputation de l'IP. Les sites utilisent des bases de données de fournisseurs de proxies connus, de centres de données, de serveurs VPN. Si votre IP figure dans ces bases (par exemple, MaxMind GeoIP2, IPQualityScore, SEON), les requêtes sont bloquées ou un captcha est affiché. Booking et Skyscanner sont particulièrement stricts avec les IP des plages Amazon AWS, Google Cloud, DigitalOcean.
4. Analyse comportementale. Les systèmes anti-bots suivent les mouvements de la souris, la vitesse de défilement, les pauses entre les clics. Selenium et Puppeteer laissent des traces sans patchs supplémentaires : la propriété navigator.webdriver, absence de plugins, tailles de fenêtre atypiques. Même avec un proxy, ce type de trafic est facilement reconnaissable.
5. TLS-fingerprinting. Les systèmes anti-bots modernes (Cloudflare, Akamai) analysent les paramètres de la poignée de main TLS : ordre des suites de chiffrement, extensions, version du protocole. Les requêtes Python et les bibliothèques standard ont un TLS-fingerprint différent de celui des navigateurs — cela révèle instantanément un bot.
Cas réel : L'un de nos clients a scrappé les prix sur Booking via 100 proxies de centres de données (DigitalOcean). Après 2 heures de travail, toutes les IP ont été bloquées à vie — Booking a détecté la plage du centre de données et l'a ajoutée à la liste noire. Passer à des proxies résidentiels a résolu le problème : après un mois de travail — zéro blocage.
Quels types de proxies conviennent pour le suivi des prix : comparaison
Pour le scraping des agrégateurs de voyage, trois types de proxies sont utilisés : résidentiels, mobiles et proxies de centres de données. Chaque type a ses avantages, inconvénients et scénarios d'application. Le choix dépend du volume de scraping, du budget et des exigences en matière d'anonymat.
| Type de proxy | Niveau de confiance des sites | Vitesse | Coût (approximatif) | Mieux pour |
|---|---|---|---|---|
| Proxies résidentiels | Très élevé (IP d'utilisateurs domestiques) | Moyenne (300-800 ms) | $$$ (selon le trafic) | Booking, Expedia, Airbnb — sites avec une protection stricte |
| Proxies mobiles | Maximal (IP des opérateurs mobiles) | Faible (500-1500 ms) | $$$$ (les plus chers) | Scraping des versions mobiles, requêtes API, contournement de Cloudflare |
| Proxies de centres de données | Faible (facilement détectables) | Très haute (50-150 ms) | $ (les moins chers) | API Aviasales, agrégateurs moins protégés, tests |
Caractéristiques de choix pour des sites de voyage spécifiques
Aviasales et Skyscanner — relativement tolérants au scraping via API (si vous avez un accès partenaire). Pour le scraping web, des proxies résidentiels avec une rotation toutes les 5-10 requêtes suffisent. Les proxies de centres de données fonctionnent, mais nécessitent un grand pool d'IP (au moins 500 adresses) et une rotation lente (pas plus d'une requête toutes les 30 secondes à partir d'une seule IP).
Booking.com et Expedia — utilisent Cloudflare Enterprise avec des règles strictes. Les proxies de centres de données sont bloqués dans 90 % des cas même avec un scraping lent. Seuls des proxies résidentiels ou mobiles sont nécessaires, plus une émulation d'un véritable navigateur (Selenium Stealth, Puppeteer Extra avec plugins). Rotation des IP — après chaque 3-5 requêtes.
Airbnb — l'un des sites les plus protégés. Nécessite des proxies résidentiels avec une géolocalisation correspondant à la requête de recherche (si vous recherchez des hôtels à Paris — l'IP doit être française). Cookies, référent, et en-têtes de navigateur sont obligatoires. Les proxies mobiles montrent de meilleurs résultats pour le scraping via l'API mobile.
Kayak et Momondo — niveau de protection moyen. Les proxies résidentiels sont le choix optimal. Il est possible d'utiliser des proxies de centres de données, mais avec une rotation obligatoire et des délais entre les requêtes (au moins 10-15 secondes).
Proxies résidentiels vs proxies de centres de données : que choisir pour les sites de voyage
La principale différence entre les proxies résidentiels et les proxies de centres de données est la source de l'adresse IP. Les résidentiels utilisent des IP de véritables fournisseurs d'accès Internet domestiques (Rostelecom, MTS, Comcast, Verizon), tandis que les proxies de centres de données utilisent des IP de serveurs d'entreprises d'hébergement (AWS, Google Cloud, OVH). Les sites de voyage font confiance aux IP résidentielles, car elles sont utilisées par des utilisateurs ordinaires.
Quand les proxies résidentiels sont obligatoires
1. Scraping de sites avec Cloudflare/Akamai. Booking, Expedia, Airbnb utilisent ces systèmes — ils bloquent automatiquement 95 % des IP des centres de données. Les proxies résidentiels passent le contrôle, car leurs IP ne figurent pas dans les bases de données des fournisseurs de proxies.
2. Collecte de prix liée à la géolocalisation. Les sites de voyage affichent des prix différents aux utilisateurs de différents pays et villes (en raison des taxes, des taux de change, des promotions locales). Si vous avez besoin de prix pour une région spécifique (par exemple, des prix pour les résidents allemands), les proxies résidentiels avec des IP allemandes sont la seule option fiable.
3. Scraping à long terme sans blocages. Si vous suivez les prix 24/7 pendant des mois, les proxies résidentiels sont rentables — vous ne perdez pas de temps à remplacer les IP bloquées et à configurer de nouveaux proxies.
Quand utiliser des proxies de centres de données
1. Scraping via des API officielles. Si vous avez un accès partenaire à l'API d'Aviasales, à l'API de Skyscanner — le type de proxy n'est pas critique, les API sont moins sensibles à la source de l'IP. Les proxies de centres de données offriront une grande vitesse et un faible coût.
2. Tests et développement de scrapers. À l'étape de rédaction et de débogage du code, utilisez des proxies de centres de données — ils sont moins chers, plus rapides, et il n'est pas grave si quelques IP se font bloquer.
3. Scraping d'agrégateurs moins protégés. Certains sites de voyage régionaux ou agrégateurs de billets de bus n'utilisent pas de protection anti-bots avancée. Pour eux, les proxies de centres de données avec un grand pool d'IP et une rotation lente conviennent parfaitement.
Conseil : Combinez les types de proxies. Utilisez des résidentiels pour les requêtes critiques (première recherche, obtention de tokens, contournement de captcha), et des proxies de centres de données pour des requêtes massives vers l'API ou des points de terminaison moins protégés. Cela réduira les coûts de 40 à 60 % tout en maintenant la stabilité.
Stratégie de rotation des IP : à quelle fréquence changer de proxy lors du scraping
Une rotation correcte des IP est la clé d'un scraping à long terme sans blocages. Si vous changez d'IP trop souvent, vous épuiserez rapidement le pool d'adresses et aurez des coûts de trafic élevés. Si vous changez trop rarement, vous accumulerez une activité suspecte sur une seule IP et serez banni.
Types de rotation des proxies
1. Rotation par requêtes (proxies tournants). L'IP change automatiquement après chaque requête ou après un nombre défini de requêtes. La plupart des fournisseurs de proxies résidentiels offrent ce mode : vous vous connectez à un seul point de terminaison (par exemple, gate.proxycove.com:8000), et l'IP change du côté du fournisseur.
Avantages : Simplicité de configuration, pas besoin de gérer manuellement le pool d'IP, risque minimal de blocage d'une seule IP.
Inconvénients : Impossible de contrôler les sessions (si vous devez conserver des cookies ou des tokens), chaque requête = nouvelle IP = nouveaux coûts de trafic.
2. Sessions collantes (proxies de session). L'IP est attachée à votre session pendant un certain temps (généralement 10-30 minutes). Vous effectuez plusieurs requêtes avec une seule IP, puis elle change automatiquement. Cela se configure via les paramètres du proxy (par exemple, en ajoutant session-id123 dans le login).
Avantages : Vous pouvez conserver des cookies et des tokens dans le cadre de la session, moins de consommation de trafic (une IP = plusieurs requêtes).
Inconvénients : Si l'IP est bannie pendant la session, toutes les requêtes suivantes dans cette session seront bloquées.
3. Rotation manuelle à partir du pool. Vous recevez une liste d'adresses IP (par exemple, 1000) et gérez la rotation dans le code du scraper : vous choisissez une IP aléatoire de la liste, effectuez N requêtes, puis passez à la suivante. Typique pour les proxies de centres de données.
Avantages : Contrôle total sur la rotation, possibilité d'exclure les IP bloquées du pool.
Inconvénients : Vous devez écrire la logique de rotation dans le code, gérer l'état des IP (quelles ont été utilisées, quelles sont bloquées).
Fréquence de rotation recommandée pour les sites de voyage
| Site | Type de proxy | Fréquence de rotation | Max. requêtes par 1 IP |
|---|---|---|---|
| Booking.com | Résidentiels | Après 3-5 requêtes | 5-7 |
| Expedia | Résidentiels | Après 5-8 requêtes | 8-10 |
| Airbnb | Résidentiels/Mobiles | Après 2-4 requêtes | 3-5 |
| Aviasales | Résidentiels/Centre de données | Après 10-15 requêtes | 15-20 |
| Skyscanner | Résidentiels/Centre de données | Après 8-12 requêtes | 12-15 |
| Kayak | Résidentiels | Après 5-10 requêtes | 10-12 |
Important : Ce sont des valeurs moyennes. Les limites réelles dépendent de l'heure de la journée (la nuit, les systèmes anti-bots sont plus stricts), du type de requêtes (recherche de billets d'avion = plus de charge sur l'API que la consultation d'un hôtel), de la qualité de l'émulation du navigateur. Commencez par des valeurs conservatrices (moins de requêtes par IP), puis augmentez progressivement en suivant le pourcentage de blocages.
Géociblage des proxies : pourquoi le pays et la ville de l'adresse IP sont importants
Les sites de voyage affichent des prix différents en fonction de la géolocalisation de l'utilisateur. Ce n'est pas un bug, mais un modèle commercial : les compagnies aériennes et les hôtels fixent des tarifs différents pour différents marchés. Par exemple, un billet Moscou-New York peut coûter 600 $ pour un utilisateur en Russie et 750 $ pour un utilisateur aux États-Unis (en raison des taxes, de la concurrence, du pouvoir d'achat).
Comment les sites déterminent la géolocalisation
1. Par adresse IP. Méthode principale. Les sites utilisent des bases GeoIP (MaxMind, IP2Location) qui associent l'IP à une ville, une région, un pays. La précision de la détermination de la ville est de 70-90 %, celle du pays de 95-99 %.
2. Par la langue du navigateur et le fuseau horaire. Si l'IP indique l'Allemagne, mais que la langue du navigateur est russe et le fuseau horaire UTC+3 (Moscou) — c'est un signe de proxy. Le site peut afficher un captcha ou bloquer la requête.
3. Par la devise et les paramètres du compte. Si vous êtes connecté à un compte Booking, le site a mémorisé votre pays lors de l'inscription. Changer d'IP pour un autre pays suscitera des soupçons — Booking peut demander de confirmer votre identité ou bloquer votre compte.
Comment choisir correctement la géolocalisation des proxies
Pour collecter des prix d'un marché spécifique : Utilisez l'IP du pays dont les prix vous intéressent. Si vous suivez les prix pour le marché russe — prenez des proxies résidentiels russes. Pour le marché européen — des proxies des pays de l'UE (Allemagne, France, Pologne). Pour les États-Unis — des proxies américains.
Pour contourner les géoblocages : Certains sites de voyage ou offres spéciales ne sont accessibles que depuis certains pays. Par exemple, les vols internes aux États-Unis sont souvent moins chers lorsqu'ils sont réservés avec une IP américaine. Utilisez des proxies du pays souhaité + configurez la langue du navigateur et le fuseau horaire pour ce pays.
Pour le scraping de données globales : Si vous avez besoin de prix pour tous les marchés (par exemple, pour l'analyse), utilisez un pool de proxies de différents pays. Faites tourner la géolocalisation avec l'IP : requête avec une IP allemande → prix allemands, requête avec une IP française → prix français.
Erreur : Utiliser l'IP d'un pays, mais rechercher des hôtels/billets dans un autre pays avec une devise différente. Par exemple, IP de Russie, recherche d'hôtels en Thaïlande, devise — euro. Cela semble suspect. Utilisez soit l'IP du pays de destination, soit l'IP de votre pays réel avec sa devise.
Configuration des proxies pour les scrapers et scripts populaires
Examinons la configuration des proxies pour les outils de scraping les plus populaires des sites de voyage. Les exemples sont donnés pour des proxies résidentiels avec rotation, mais conviennent également à d'autres types.
Python + requests / httpx
La solution la plus simple pour le scraping d'API ou de pages simples sans JavaScript. Convient pour l'API d'Aviasales, l'API de Skyscanner, des points de terminaison simples sans Cloudflare.
import requests
# Données du proxy (remplacez par les vôtres)
proxy_host = "gate.proxycove.com"
proxy_port = "8000"
proxy_user = "your_username"
proxy_pass = "your_password"
proxies = {
"http": f"http://{proxy_user}:{proxy_pass}@{proxy_host}:{proxy_port}",
"https": f"http://{proxy_user}:{proxy_pass}@{proxy_host}:{proxy_port}"
}
# En-têtes du navigateur (obligatoire !)
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",
"Referer": "https://www.google.com/"
}
# Requête via le proxy
response = requests.get(
"https://www.aviasales.com/search",
proxies=proxies,
headers=headers,
timeout=30
)
print(response.status_code)
print(response.text[:500]) # Les 500 premiers caractères de la réponse
Important : Pour les proxies résidentiels avec rotation, chaque nouvelle requête obtiendra automatiquement une nouvelle IP. Si vous avez besoin d'une session collante (une IP pour plusieurs requêtes), ajoutez l'ID de session dans le nom d'utilisateur : your_username-session-12345.
Selenium (pour les sites avec JavaScript)
Booking, Expedia, Airbnb utilisent activement JavaScript pour le rendu du contenu et les vérifications anti-bots. Selenium émule un véritable navigateur, mais nécessite des configurations supplémentaires pour contourner la détection.
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
# Paramètres Chrome
chrome_options = Options()
# Proxy
proxy_host = "gate.proxycove.com"
proxy_port = "8000"
proxy_user = "your_username"
proxy_pass = "your_password"
# Format du proxy pour Chrome
chrome_options.add_argument(f'--proxy-server=http://{proxy_host}:{proxy_port}')
# Cacher l'automatisation
chrome_options.add_argument('--disable-blink-features=AutomationControlled')
chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"])
chrome_options.add_experimental_option('useAutomationExtension', False)
# User-Agent
chrome_options.add_argument('user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36')
driver = webdriver.Chrome(options=chrome_options)
# Supprimer la propriété webdriver
driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")
# Authentification du proxy (si nécessaire)
# Pour Chrome, il faut créer une extension avec authentification, voir selenium-wire ou utiliser plus simplement Puppeteer
driver.get("https://www.booking.com/")
print(driver.title)
driver.quit()
Problème : Chrome ne prend pas en charge l'authentification du proxy via login:password directement. Solutions : utiliser la bibliothèque selenium-wire (ajoute un proxy avec authentification), créer une extension Chrome pour l'authentification, ou utiliser Puppeteer (Node.js).
Puppeteer (Node.js) — le meilleur choix pour les sites complexes
Puppeteer émule mieux le navigateur que Selenium et s'intègre facilement avec l'authentification proxy. Recommandé pour Booking, Airbnb, Expedia.
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
headless: true,
args: [
'--proxy-server=http://gate.proxycove.com:8000',
'--disable-blink-features=AutomationControlled',
'--no-sandbox'
]
});
const page = await browser.newPage();
// Authentification du proxy
await page.authenticate({
username: 'your_username',
password: 'your_password'
});
// Cacher le webdriver
await page.evaluateOnNewDocument(() => {
Object.defineProperty(navigator, 'webdriver', {
get: () => undefined
});
});
// User-Agent
await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36');
await page.goto('https://www.booking.com/', { waitUntil: 'networkidle2' });
const title = await page.title();
console.log('Titre :', title);
await browser.close();
})();
Pour une protection encore meilleure contre la détection, utilisez le plugin puppeteer-extra-plugin-stealth — il cache automatiquement tous les signes d'automatisation.
Solutions prêtes à l'emploi : Scrapy, Crawlee
Scrapy (Python) — un framework pour le scraping à grande échelle. Prend en charge les proxies via middleware. Exemple de configuration dans settings.py :
# settings.py
DOWNLOADER_MIDDLEWARES = {
'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 1,
}
# Dans le spider
class TravelSpider(scrapy.Spider):
def start_requests(self):
proxy = "http://your_username:your_password@gate.proxycove.com:8000"
yield scrapy.Request(
url="https://www.aviasales.com/",
meta={'proxy': proxy},
callback=self.parse
)
Crawlee (Node.js) — un framework moderne avec rotation intégrée des proxies, contournement des systèmes anti-bots, retries automatiques. Idéal pour les sites de voyage.
Contourner les systèmes anti-bots Cloudflare, PerimeterX, Akamai
Même avec des proxies résidentiels de qualité, vous pouvez rencontrer des blocages si vous ne contournez pas correctement les systèmes anti-bots. Booking utilise Cloudflare, Airbnb — PerimeterX, certains sites — Akamai Bot Manager. Ces systèmes analysent non seulement l'IP, mais aussi le comportement, le fingerprint du navigateur, la poignée de main TLS.
Cloudflare : principales méthodes de contournement
1. Utilisez l'automatisation du navigateur. Cloudflare vérifie le défi JavaScript, qui doit être exécuté dans le navigateur. Des requêtes HTTP simples (requests, curl) ne passeront pas le contrôle. Vous avez besoin de Puppeteer, Playwright ou Selenium avec les bonnes configurations.
2. Cachez les signes d'automatisation. Installez puppeteer-extra-plugin-stealth (Node.js) ou undetected-chromedriver (Python). Ces bibliothèques patchent le navigateur, supprimant les propriétés navigator.webdriver, window.chrome, modifiant les permissions de l'API.
3. Fingerprint TLS correct. Cloudflare analyse la poignée de main TLS. Utilisez des bibliothèques qui imitent le TLS des navigateurs : curl-impersonate (imite le TLS de Chrome/Firefox), tls-client (Go), hrequests (Python).
4. Résolvez les captchas automatiquement. Si Cloudflare affiche un captcha (Turnstile), utilisez des services de résolution de captcha : 2Captcha, Anti-Captcha, CapSolver. Ils s'intègrent via API et coûtent 1 à 3 $ pour 1000 résolutions.
PerimeterX (Airbnb, certains sites de voyage)
PerimeterX est l'un des systèmes anti-bots les plus complexes. Il analyse le comportement de l'utilisateur (mouvements de la souris, clics, défilement), crée un fingerprint de l'appareil, vérifie les cookies et le localStorage.
Méthodes de contournement :
1. Émulez le comportement de l'utilisateur. Ajoutez des pauses aléatoires entre les actions (2-5 secondes), déplacez la souris, faites défiler la page. Dans Puppeteer, utilisez la bibliothèque ghost-cursor pour des mouvements de souris réalistes.
2. Conservez les cookies et le localStorage. PerimeterX génère des tokens qui sont stockés dans les cookies (_px3, _pxhd) et le localStorage. Si vous changez d'IP mais conservez les cookies — cela semble suspect. Soit changez d'IP + nettoyez les cookies, soit utilisez des sessions collantes (une IP = une session avec des cookies).
3. Utilisez des proxies mobiles. PerimeterX est plus strict avec les IP de centres de données. Les proxies mobiles montrent de meilleurs résultats pour contourner PerimeterX.
Akamai Bot Manager
Akamai analyse les données sensorielles (accéléromètre, gyroscope sur mobile), le fingerprint WebGL, le contexte audio, la performance de l'appareil. Le contournement nécessite une émulation avancée du navigateur.
Recommandations : Utilisez de véritables navigateurs (pas headless), des proxies mobiles, ajoutez des délais aléatoires, émulez des événements tactiles (touch events). Pour des cas complexes — utilisez des fermes de navigateurs (BrowserStack, LambdaTest) ou des navigateurs anti-détection (AdsPower, Multilogin).
Erreurs courantes lors du scraping des sites de voyage via des proxies
Même les développeurs expérimentés commettent des erreurs qui entraînent des blocages. Voici les problèmes les plus fréquents et leurs solutions.
Erreur 1 : Utilisation d'un seul User-Agent pour toutes les requêtes
Si toutes vos requêtes proviennent du même User-Agent (par exemple, le standard Python requests : python-requests/2.28.0), cela révèle instantanément un bot. Même si vous changez d'IP, le site voit le même UA et lie les requêtes.
Solution : Utilisez une liste de véritables User-Agent de navigateurs (Chrome, Firefox, Safari) et faites-les tourner. La bibliothèque fake-useragent (Python) génère automatiquement des UA aléatoires.
Erreur 2 : Vitesse de requêtes trop élevée
Le scraper effectue 100 requêtes par seconde — cela est physiquement impossible pour un humain. Même avec des IP différentes, les systèmes anti-bots détectent une activité anormale par les motifs (toutes les requêtes arrivent exactement toutes les 0,01 secondes).
Solution : Ajoutez des délais aléatoires entre les requêtes : time.sleep(random.uniform(2, 5)). Pour les sites de voyage, il est optimal d'avoir : 2-5 secondes entre les requêtes à partir d'une seule IP, 0,5-2 secondes entre les requêtes à partir de différentes IP.
Erreur 3 : Ignorer les cookies et les sessions
Les sites de voyage utilisent des cookies pour suivre les sessions, stocker des tokens des systèmes anti-bots, personnaliser les prix. Si vous effectuez chaque requête sans cookies (comme un nouvel utilisateur), cela semble suspect.
Solution : Utilisez requests.Session() (Python) ou conservez les cookies entre les requêtes dans Puppeteer. Pour des sessions collantes (une IP = plusieurs requêtes), il est impératif de conserver les cookies.
Erreur 4 : Inadéquation entre la géolocalisation de l'IP et les paramètres du navigateur
IP d'Allemagne, mais langue du navigateur — russe, fuseau horaire — UTC+3, devise — roubles. Les systèmes anti-bots voient cette inadéquation et bloquent la requête.
Solution : Synchronisez les paramètres du navigateur avec la géolocalisation du proxy. Si vous utilisez une IP allemande — définissez la langue allemande (Accept-Language: de-DE), le fuseau horaire Europe/Berlin, la devise EUR.
Erreur 5 : Utilisation de proxies gratuits ou de mauvaise qualité
Les proxies gratuits et les proxies publics bon marché sont déjà bloqués sur tous les grands sites de voyage. Leurs IP figurent sur des listes noires et ont une mauvaise réputation (utilisées pour du spam, DDoS).
Solution : Utilisez des proxies résidentiels ou mobiles de qualité auprès de fournisseurs fiables. Vérifiez la réputation des IP via des services comme IPQualityScore, Scamalytics avant utilisation.
Checklist avant de lancer le scraper :
✅ Proxies — résidentiels ou mobiles, avec la géolocalisation requise
✅ User-Agent — véritable navigateur, en rotation
✅ Cookies — conservés dans le cadre de la session
✅ Délais — 2-5 secondes entre les requêtes
✅ Rotation des IP — après 3-10 requêtes (selon le site)