Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
3 years ago

Otra consulta de Web Scraping

Estoy buscando extraer datos de este sitio web:

https://www.betfred.com/sports/event/22986947.2

Y parece que la llamada incrustada a los datos es a través de este enlace, que (según la captura de pantalla) puede ver muy bien en la pestaña "Vista previa" cuando inspecciona el código ...

https://www.betfred.com/services/SportsBook/event?language=uk&type=event&eventid=22385490.2&dataflags=14&datasize=8&cachebust=1668982826349

Sin embargo, cuando lo estoy retirando, Power Query está decidido a tratarlo como HTML, que obviamente no puede analizar. Mi mejor intento de forzarlo a tratarlo como JSON es:

= Json.Document(Web.Contents("https://www.betfred.com/services/SportsBook/event?language=uk&type=event&eventid=22385490.2&dataflags=14&datasize=8&cachebust=1668982826349"))

Siento que tiene algo que ver con la necesidad de forzar otros encabezados en la consulta. Pero POR FAVOR, AYÚDAME.

¡Muchas gracias!

17 Replies

  • Hi , @jmillsjmills

    Según su descripción, desea que su solicitud HTTP devuelva una cadena en formato JSON. ¿Derecha?

    Primero, puede poner sus parámetros de solicitud y solicitud en la herramienta "Postman" para depurar y ver si devuelve el formato JSON.
    En segundo lugar, puede intentar agregar los "Encabezados"

    Accept=application/json

    Para saber cómo agregar "Encabezados" en Web.Contents , puede consultar :

    Web.Contents - PowerQuery M | Microsoft Learn

    Gracias por su tiempo y uso compartido, y gracias por su apoyo y comprensión de PowerBI.

    Saludos

    Aniya Zhang

    Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      ¡Muchas gracias por volver Aniya!

      Lo siento, no estoy siguiendo. ¿Puede probar de su lado si puede extraer estos datos? El enlace que has proporcionado es exactamente el tipo de cosas con las que he estado jugando, pero simplemente no puedo encontrar la manera de extraer los datos.

      Si puede proporcionar amablemente cuál sería el código de Power Query exactamente en este caso, ¡estaría muy agradecido!

      ¡Muchas gracias!

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        Hi , @jmillsjmills

        Esta url es su interna, no puedo probar en mi solución alternativa, pero puede intentar usar esto y reemplazar la url para que la suya pruebe .

        let
            url = "https://www.betfred.com/services/SportsBook/event?language=uk&type=event&eventid=22385490.2&dataflag...[your url should replace here]",
            headers = [#"Accept"="application/json"],
            response = Web.Contents(
                url,
                [
                    Headers = headers
                ]
            ),
            jsonResponse = Json.Document(response)
        in
            jsonResponse

        Gracias por su tiempo y uso compartido, y gracias por su apoyo y comprensión de PowerBI.

        Saludos

        Aniya Zhang

        Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.