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.

Raspado de AmCharts utilizando Python Selenium

Estoy tratando de extraer los Valores del Gráfico de AmCharts en un Objeto JSON de esta URL.

Utilizando el siguiente comando:

driver.execute_script("AmCharts.charts[0].dataProvider")

En el script, devuelve None, mientras que la consola del navegador devuelve un objeto JSON con los Datos de AmCharts.

Ingrese una descripción de la imagen aquí

En la interfaz web, parece así:
Ingrese una descripción de la imagen aquí

¿Cómo puedo obtener correctamente este array de dataProvider? Gracias de antemano.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para recuperar correctamente el Array de proveedores de datos, puedes intentar modificar el comando para incluir una declaración de retorno y luego asignar la salida a una variable de esta manera:

    data = driver.execute_script("return AmCharts.charts[0].dataProvider;")
    

    Esto debería devolver el objeto JSON con los datos de AmCharts y almacenarlo en la variable data. Luego puedes usar el módulo json incorporado de Python para analizar la cadena JSON en un diccionario o lista de Python para su manipulación posterior.

    Asegúrate también de verificar que la página haya terminado de cargar antes de ejecutar el script, ya que los datos pueden no estar disponibles hasta entonces. Esto se puede hacer utilizando esperas explícitas o implícitas con Selenium.

Comments are closed.