es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Python request.get(URL) no redirige aunque hay un redireccionamiento cuando se intenta en el navegador.

Hay un sitio llamado y quiero obtener los paletas de colores que generan de forma programática. En el navegador, simplemente hago clic en el botón “¡Iniciar el generador!”. El enlace al que está adjunto el botón es . Si voy a esa URL en el navegador, se genera la paleta de colores. Observa que la URL cambia a (esto es solo un ejemplo, la última parte de la URL son solo los códigos hexadecimales). Obviamente hay una redirección.

Pero cuando lo hago en Python con una solicitud GET, no soy redirigido sino que permanezco en este sitio intermedio. Cuando veo r.text, me dice “Este dominio no existe y está a la venta”.

¿Cómo lo arreglo? ¿Cómo habilito la redirección?

Aquí está el código:

url = 'https://coolors.co/generate'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36'}
r = requests.get(url, headers=headers)

¡Gracias!

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para habilitar redirecciones en Python requests, puedes utilizar el parámetro allow_redirects en el método requests.get() y establecerlo en True. Aquí tienes cómo puedes modificar tu código:

    url = 'https://coolors.co/generate'
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36'}
    r = requests.get(url, headers=headers, allow_redirects=True)
    

    Esto debería seguir la redirección y obtener el contenido de la página de paletas de colores generadas.

Comments are closed.