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.

Selenium recibe un código de respuesta 429, pero el modo privado de Firefox no lo hace.

Usé Selenium en python3 para abrir una página. No se abre bajo selenium, pero sí se abre en la página privada de Firefox.

¿Cuál es la diferencia y cómo solucionarlo?

from selenium import webdriver
from time import sleep

driver = webdriver.Firefox()
driver.get('https://google.com') # creando una cookie de Google
driver.get_cookies() # verificando si Google recibe las cookies
sleep(3.0)
url='https://www.realestate.com.au/buy/in-sydney+cbd%2c+nsw/list-1'
driver.get(url)

Crear una cookie de Google no es necesario. Tampoco está presente en la página privada de Firefox, pero funciona sin ella. Sin embargo, bajo Selenium el comportamiento es diferente.

También veo que el sitio web devuelve el estado [HTTP/2 429 Too Many Requests 173ms] y la página aparece en blanco. Esto no ocurre en el modo privado de Firefox.

ACTUALIZACIÓN:

He activado el registro persistente. Firefox en modo privado también recibirá una respuesta 429, pero parece que el JavaScript se reanuda desde otra URL. Esto solo ocurre la primera vez.

Sin embargo, en Selenium, la solicitud no sobrevive a la respuesta 429. Informa algo al sitio web “cdndex”. He bloqueado ese sitio web para que no veas la solicitud pasar por allí. Esto sigue siendo un comportamiento diferente entre Firefox y Selenium.

Selenium con registro persistente:
aquí

Firefox con registro persistente:
aquí

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    La diferencia entre abrir la página bajo Selenium y en el modo privado de Firefox es que la página web devuelve un estado HTTP/2 429 (Demasiadas solicitudes) cuando se abre bajo Selenium. Esto significa que el servidor está respondiendo con un código de estado que indica que el usuario ha enviado demasiadas solicitudes en un determinado período de tiempo. La página web también aparece como una página en blanco en Selenium, mientras que en el modo privado de Firefox, la página web se reanuda desde otra URL después de la respuesta 429.

    Para solucionar este problema, puedes intentar agregar un tiempo de espera entre las solicitudes o usar diferentes proxies para que las solicitudes parezcan provenir de diferentes usuarios. También puedes intentar modificar las cabeceras de las solicitudes para que parezcan menos sospechosas. Además, puedes comunicarte con los propietarios del sitio web para discutir la posibilidad de aumentar el límite de tasa para tus solicitudes. Otra posible solución es utilizar un sitio web diferente que no restrinja las solicitudes.

    Otra observación realizada en la actualización es que no es necesario crear una cookie de Google para abrir la página en el modo privado de Firefox o en Selenium, ya que tampoco está presente en el modo privado.

Comments are closed.