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_html r.html.render() no funciona

He estado intentando renderizar una página pero solo se ejecuta y no hace nada, el proceso de ejecución se queda así.
Aquí hay una captura de pantalla del código y del administrador de tareas ejecutando chromium

from requests_html import HTMLSession

searchTeam = 'bishi'

url = f'https://www.jumia.com.ng/catalog/?q={searchTeam}&shipped<em>from=country</em>local&page=1#catalog-listing'

session = HTMLSession()
response = session.get(url)
response.html.render()
print(response.text)

Comentando response.html.render(), imprime el HTML muy bien, pero descomentar solo hace que se quede en ejecución sin hacer nada.
He intentado agregar un tiempo de espera y un sleep dentro de la función render, pero sigue sucediendo lo mismo.

NB: He estado usando selenium, no sé si chromium cubre request-html ya que no se está ejecutando y no puedo decirlo.
Usar selenium para renderizar la página y luego analizarla con bs4 funciona muy bien, pero request-html no funciona.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que la función response.html.render() está haciendo que el programa se detenga y no muestre nada. Una posible solución podría ser usar el parámetro wait en la función render() para asegurarse de que la página se haya cargado completamente antes de intentar acceder a ella. Otra opción podría ser usar Selenium en conjunto con requests-html para asegurarse de que la página se haya renderizado por completo antes de analizarla con BeautifulSoup. También es posible que Chromium no sea totalmente compatible con requests-html, por lo que probar un navegador diferente o un navegador sin cabeza como phantomJS también podría ser una opción.

Comments are closed.