Cloudflare Turnstile è un'alternativa intelligente ai CAPTCHA progettata per verificare gli utenti senza sfide intrusive. A differenza dei CAPTCHA tradizionali che richiedono la selezione di immagini o l'inserimento di testo, Turnstile esegue sfide invisibili nel browser per determinare se il visitatore è umano. È ampiamente adottato dai siti che utilizzano i servizi di Cloudflare e può rappresentare un ostacolo significativo per il web scraping e i flussi di lavoro automatizzati.
Prima di iniziare, assicurati di avere Python 3.7 o superiore installato. Hai anche bisogno di una chiave API NextCaptcha — registrati su NextCaptcha per ottenere crediti di prova gratuiti. Poi installa l'SDK Python di NextCaptcha:
Per prima cosa, crea un'istanza NextCaptchaAPI con la tua chiave API. Puoi trovare la tua chiave client nella dashboard di NextCaptcha:
from nextcaptcha import NextCaptchaAPIapi = NextCaptchaAPI(client_key="YOUR_CLIENT_KEY")
Quindi chiama il metodo turnstile con l'URL del sito target e la chiave del sito Turnstile. La chiave si trova nell'attributo data-sitekey del widget Turnstile sulla pagina target:
Se preferisci non usare l'SDK, puoi chiamare direttamente l'API NextCaptcha con la libreria requests. Questo approccio ti dà il pieno controllo sulle richieste HTTP:
Questo approccio richiede due chiamate API: createTask per inviare la sfida Turnstile, e getTaskResult per interrogare la soluzione. Si consiglia un intervallo di polling di 3 secondi per evitare limiti di frequenza.
In questa guida abbiamo trattato due metodi per aggirare Cloudflare Turnstile con Python: l'SDK NextCaptcha per un approccio semplice, e l'API diretta per il pieno controllo. NextCaptcha risolve automaticamente la sfida Turnstile e restituisce un token valido. Per maggiori dettagli, consulta i link qui sotto: