Cloudflare Turnstile est une alternative CAPTCHA intelligente conçue pour vérifier les utilisateurs sans défis intrusifs. Contrairement aux CAPTCHA traditionnels nécessitant une sélection d'images ou une saisie de texte, Turnstile exécute des défis de navigateur invisibles pour déterminer si le visiteur est humain. Il est largement adopté par les sites utilisant les services de Cloudflare et peut constituer un obstacle majeur pour le web scraping et les flux de travail automatisés.
Avant de commencer, assurez-vous d'avoir Python 3.7 ou supérieur installé. Vous aurez également besoin d'une clé API NextCaptcha — inscrivez-vous sur NextCaptcha pour obtenir des crédits d'essai gratuits. Ensuite, installez le SDK Python NextCaptcha :
Créez d'abord une instance NextCaptchaAPI avec votre clé API. Vous trouverez votre clé client dans le tableau de bord NextCaptcha :
from nextcaptcha import NextCaptchaAPIapi = NextCaptchaAPI(client_key="YOUR_CLIENT_KEY")
Appelez ensuite la méthode turnstile avec l'URL du site cible et la clé du site Turnstile. La clé se trouve dans l'attribut data-sitekey du widget Turnstile sur la page cible :
Si vous préférez ne pas utiliser le SDK, vous pouvez appeler directement l'API NextCaptcha avec la bibliothèque requests. Cette approche vous donne un contrôle total sur les requêtes HTTP :
Cette approche nécessite deux appels API : createTask pour soumettre le défi Turnstile, et getTaskResult pour interroger la solution. Un intervalle de 3 secondes est recommandé pour éviter les limitations de débit.
Dans ce guide, nous avons couvert deux méthodes pour contourner Cloudflare Turnstile avec Python : le SDK NextCaptcha pour une approche simple, et l'API brute pour un contrôle total. NextCaptcha gère automatiquement la résolution du défi Turnstile et renvoie un jeton valide. Pour plus de détails, consultez les liens ci-dessous :