ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo manejar los desafíos del torniquete de Cloudflare
Tutorial

Cómo manejar los desafíos del torniquete de Cloudflare

Cloudflare Turnstile bloquea la mayoría de los raspadores. Enrute las solicitudes a través del solucionador administrado de Scavio para manejar el desafío de manera transparente.

Obtener clave API gratisDocumentacion API

Cloudflare Turnstile reemplazó a reCAPTCHA en la mayoría de los sitios protegidos en 2025 y bloquea el 90% de los scrapers ingenuos. Este tutorial muestra cómo enrutar solicitudes a través del solucionador administrado de Scavio para que el desafío se maneje de manera transparente y su raspador devuelva HTML limpio.

Requisitos previos

  • Python 3.10+
  • Una clave API de Scavio
  • Una URL de destino detrás de Turnstile

Guia paso a paso

Paso 1: Detectar el bloque Torniquete

Una búsqueda de referencia devuelve una página de desafío, no su contenido.

Python
import requests
html = requests.get('https://turnstile-protected.com').text
if 'Just a moment' in html or 'challenge-platform' in html:
    print('Blocked by Turnstile')

Paso 2: Ruta a través del extracto de Scavio

Scavio maneja el desafío detrás de escena.

Python
import os
API_KEY = os.environ['SCAVIO_API_KEY']

def fetch(url):
    r = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY},
        json={'query': url, 'platform': 'extract', 'render_js': True})
    return r.json().get('html', '')

Paso 3: Validar la respuesta

No hay marcadores de torniquete en el HTML devuelto.

Python
def passed(html):
    return 'challenge-platform' not in html and len(html) > 1000

Paso 4: Reintentar con un perfil más fuerte

Si aún está bloqueado, pregúntele a Scavio por el solucionador premium.

Python
def fetch_premium(url):
    r = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY},
        json={'query': url, 'platform': 'extract', 'render_js': True, 'resolver': 'premium'})
    return r.json().get('html', '')

Paso 5: Caché para evitar reelaboraciones

Mantenga las recuperaciones exitosas en caché durante 24 horas.

Python
import time, hashlib, os

def cache_key(url):
    return 'cache/' + hashlib.md5(url.encode()).hexdigest() + '.html'

def cached_fetch(url):
    k = cache_key(url)
    if os.path.exists(k) and time.time() - os.path.getmtime(k) < 86400:
        return open(k).read()
    html = fetch(url)
    os.makedirs('cache', exist_ok=True); open(k, 'w').write(html)
    return html

Ejemplo en Python

Python
import os, requests

API_KEY = os.environ['SCAVIO_API_KEY']

def fetch(url):
    r = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY},
        json={'query': url, 'platform': 'extract', 'render_js': True, 'resolver': 'premium'})
    return r.json().get('html', '')

html = fetch('https://turnstile-protected.com')
print('clean' if 'challenge-platform' not in html else 'still blocked')

Ejemplo en JavaScript

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;
export async function fetchPage(url) {
  const r = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST',
    headers: { 'x-api-key': API_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify({ query: url, platform: 'extract', render_js: true, resolver: 'premium' })
  });
  return (await r.json()).html;
}

Salida esperada

JSON
Clean HTML from Turnstile-protected pages in 2-8 seconds. Typical success rate via premium resolver: 95%+ on Turnstile-protected pages.

Tutoriales relacionados

  • Cómo depurar un bloque de Cloudflare en 3 días
  • Cómo detectar el bloqueo de Cloudflare
  • Cómo recuperar datos de búsqueda web sin administrar servidores proxy

Preguntas frecuentes

La mayoria de los desarrolladores completan este tutorial en 15 a 30 minutos. Necesitaras una clave API de Scavio (el plan gratuito funciona) y un entorno de Python o JavaScript.

Python 3.10+. Una clave API de Scavio. Una URL de destino detrás de Turnstile. Una clave API de Scavio te da 50 creditos gratuitos al registrarte.

Si. El plan gratuito incluye 50 creditos al registrarte, mas que suficiente para completar este tutorial y crear un prototipo funcional.

Scavio tiene un paquete nativo de LangChain (langchain-scavio), un servidor MCP y una API REST simple que funciona con cualquier cliente HTTP. Este tutorial usa the raw REST API, pero puedes adaptarlo al framework que prefieras.

Recursos relacionados

Best Of

Las mejores API de búsqueda resistentes a Cloudflare en 2026

Read more
Best Of

Las mejores fuentes de datos de SEO para trabajadores de Cloudflare (2026)

Read more
Comparison

Search APIs (Scavio, Tavily, SerpAPI) vs Headless Browser (Playwright, Puppeteer, Browserbase)

Read more
Solution

Resiliencia de busqueda para agentes contra bloqueos de Cloudflare y GoDaddy

Read more
Solution

Busqueda resistente a Cloudflare para agentes de IA

Read more
Comparison

Google Places API vs SERP Local Pack API

Read more

Empieza a construir

Cloudflare Turnstile bloquea la mayoría de los raspadores. Enrute las solicitudes a través del solucionador administrado de Scavio para manejar el desafío de manera transparente.

Obtener clave API gratuitaLeer la documentacion
ScavioScavio

API de busqueda en tiempo real para agentes de IA. Busca en todas las plataformas, no solo en Google.

Producto

  • Funciones
  • Precios
  • Panel
  • Afiliados

Desarrolladores

  • Documentacion
  • Referencia de API
  • Inicio rapido
  • Integracion MCP
  • Python SDK

Alternativas

  • Alternativa a Tavily
  • Alternativa a SerpAPI
  • Alternativa a Firecrawl
  • Alternativa a Exa

Herramientas

  • Formateador JSON
  • cURL a codigo
  • Contador de tokens
  • Todas las herramientas

© 2026 Scavio. Todos los derechos reservados.

Featured on TAAFT
Terminos de servicioPolitica de privacidad