cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Helper III
Helper III

Proyecto de raspado web

Hola a todos

He creado un rascador simple que extrae los datos de precios en lugar de copiarlos/pegarlos manualmente. Actualmente, cada consulta apunta a una dirección URL del producto cambiando el "origen" de la consulta. ¿Hay alguna manera de crear una tabla de direcciones URL y tener una consulta que examine cada una de ellas y extraiga los datos del código fuente, en lugar de tener consultas independientes para cada página de producto y anexarlas?

Me ahorraría un tiempo considerable de copiar/pegar si puedo acheve esto.


Gracias

3 REPLIES 3
Resolver III
Resolver III

Hola @pchapple

Asumo que tienes algo como esto.

let
    Source = Web.BrowserContents("https:/abc.com/?page=12"),
    //Your addtional tranfomation steps goes below
    .
    ...
    ....
    #"LastStep" = ....
in
    #"LastStep"

A continuación, tiene otras direcciones URL para las que debe aplicar los mismos pasos. En ese caso, siga los pasos que se indican a continuación.

  1. Cree una nueva tabla con una sola columna(URL)que tenga todas las url que desee. Digamos esta tabla Productos.
  2. Ahora cambie la consulta anterior como se muestra a continuación, esto crea una función personalizada para usted.

(url as text) =>
let
    Source = Web.BrowserContents(url), // Replace the hardcoded url with parameter url
    //Your addtional tranfomation steps goes below
    .
    ...
    ....
    #"LastStep" = ....
in
    #"LastStep"​

  • Vaya a la tabla Productos creada en el paso 1. Haga clic en el icono de la tabla que se muestra en la esquina superior izquierda de la tabla.tableicon.PNG
  • A continuación, elija Invoke Custom Function.
  • En la consulta de función, elija la función creada en el paso 2.
  • Para url seleccione el nombre de columna URL y pulse ok.
  • A continuación, haga clic en el icono de expansión como se muestra a continuaciónexpand.PNG

Eso es todo lo que necesitas espero.

Apreciar con felicitaciones haciendo clic en el botón "Me gusta" en la parte inferior derecha.

Por favor, marque como una solución si esto resuelve su problema.

Gracias

Hola @pchapple ,

como dijo @sparse-coder.

Pero si desea actualizar regularmente los resultados en el servicio Power BI, debe mover las direcciones URL dinámicas a los parámetros de consulta en su lugar. De lo contrario, obtendrá un error que se queja de orígenes de datos dinámicos: https://www.thebiccountant.com/2018/03/22/web-scraping-2-scrape-multiple-pages-power-bi-p...

Imke Feldmann (The BIccountant)

If you liked my solution, please give it a thumbs up. And if I did answer your question, please mark this post as a solution. Thanks!

How to integrate M-code into your solution -- How to get your questions answered quickly -- How to provide sample data -- Check out more PBI- learning resources here -- Performance Tipps for M-queries

Resolver III
Resolver III

Hola @pchapple puede crear una función de consulta de energía. Siempre y cuando necesites recorrer en iteración diferentes páginas o sigan algún tipo de patrón.
E.g.

https://www.boxofficemojo.com/chart/top_lifetime_gross/?offset=200

https://www.boxofficemojo.com/chart/top_lifetime_gross/?offset=400

https://www.boxofficemojo.com/chart/top_lifetime_gross/?offset=600.

Gracias.

Helpful resources

Announcements
secondImage

Happy New Year from Power BI

This is a must watch for a message from Power BI!

December Update

Check it Out!

Click here to read more about the December 2020 Updates!

Community Blog

Check it Out!

Click here to read the latest blog and learn more about contributing to the Power BI blog!

Get Ready for Power BI Dev Camp

Get Ready for Power BI Dev Camp

Mark your calendars and join us for our next Power BI Dev Camp!.

Top Solution Authors