Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
KM007
Helper II
Helper II

Raspado web - sitio web cambiado

Hola usuarios de PBi,

Yo, a diario, raspo un sitio web por los precios de los fondos, pero el sitio web se ha actualizado durante el fin de semana y mi consulta (abajo) y la tabla a continuación, ya no funciona. Por favor, ayúdame.

Agradecemos mucho cualquier ayuda que pueda proporcionar.

¡Gracias!

el nuevo sitio web es ... https://www.hl.co.uk/funds/fund-discounts,-prices--and--factsheets/search-results?sectorid=121&start...

Dejar

Función para cada información sectorial
WebCall (SectorID como texto) ?>
Dejar
Fuente: Web.Page(Web.Contents("https://www.hl.co.uk/funds/fund-discounts,-prices--and--factsheets/search-results?sectorid-"&SectorI..., 0, 0, 60)])),
Datos - Origen [NombreDeAplicación de clase"sortableTable"]-[Datos],
ListOfAllPages ? if List.Count(List.Skip(Text.Split(Data{0}[Name], "'(lf)")))''0'''1'' else List.Skip(Text.Split(Data{0}[Name], "'(lf)")),
"Convertido a la tabla" - Table.FromList(ListOfAllPages, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
RearragnedURL - Table.AddColumn(-"Convertido a la tabla", "Personalizado", cada Web.Page(Web.Contents("https://www.hl.co.uk/funds/fund-discounts,-prices--and--factsheets/search-results?tab-prices&filters...]),
"Expanded Custom" á Table.ExpandTableColumn(RearragnedURL, "Custom", "Name", "Current price Sell (p)", "Current price Change (p)", "More information", "Name", "Sell (p)", "Change (p)", "More information" )
"Dividir columna por delimitador" , "Más información.1", "Más información", Splitter.SplitTextByDelimiter("-(lf)", QuoteStyle.Csv), "Más información.1", "Más información.2", "Más información.3", "Más información.4", "Más información.5", "Más información.6"),
"Columnas renombradas" - Table.RenameColumns("Dividir columna por delimitador","Más información.2", "Tipo de unidad", "Más información.4", "Sector", "Más información.6", "Fecha de valoración"-),
"Columnas eliminadas" - Table.RemoveColumns("Columnas renombradas","Más información.1", "Más información.3", "Más información.5", "Columna1"-),
"Añadido Personalizado" - Table.AddColumn(-"Columnas eliminadas", "Nombre + tipo", cada [Nombre]&" - "&[Tipo de unidad]),
"Columnas reordenadas" - Table.ReorderColumns('Added Custom",'Name", 'Name + type", 'Sell (p)", "Change (p)", "Unit type", "Sector", "Valuation date"-),
"Filas filtradas" - Table.SelectRows(-"Columnas reordenadas", cada una no Text.StartsWith([Name], "Page:")),
"Columnas eliminadas1" - Table.RemoveColumns("Filas filtradas","Nombre", "Tipo de unidad")),
"Tipo de cambio" - Table.TransformColumnTypes(''''''''''''Nombre + tipo''', ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
En
"Tipo cambiado",


Inicio de la consulta principal: Profundizar en Html para recuperar una tabla con todos los sectores
Fuente "SectorIDs - 1",
Función de llamada y limpieza
CallEachFunction á Table.AddColumn(Source, "WebCall", each WebCall([SectorID])),
FilterOutEmpties á Table.SelectRows(CallEachFunction, each [WebCall] <> null),
"Expanded WebCall" á Table.ExpandTableColumn(FilterOutEmpties, "WebCall", "Name + type", "Sell (p)", "Change (p)", "Sector", "Valuation date", "Name + type", "Sell (p)", "Change (p)", "Sector", "Valuation date"-),
"Columnas eliminadas" - Table.RemoveColumns(-"Expanded WebCall","SectorID", "SectorName" )
"Tipo de cambio" - Table.TransformColumnTypes('''Columnas eliminadas'','Nombre + tipo','texto', ''Vender (p)", 'número de tipo', ''Cambiar (p)", 'número de tipo', ''Sector', tipo text', ''Fecha de valoración', tipo text'),
"Filas filtradas" - Table.SelectRows(-"Changed Type", cada uno (no Number.IsNaN([-"Sell (p)"])),
"Changed Type1" á Table.TransformColumnTypes(-"Rows Filtered Rows","Change (p)", Currency.Type-)
En
"Tipo cambiado1"

La tabla "SectorIDs - 1" está a continuación

121Asia Pacífico Ex Japón
114Asia Pacific Inc Japón
155China/ Gran China
111Europa excluyendo reino Unido
102Europa incluyendo Reino Unido
117Empresas Europeas Pequeñas
115Inversión flexible
150Bono Corporativo GBP
151GBP Alto Rendimiento
152Bono Estratégico de GBP
109Global
106Bonos Globales
112Mercados emergentes globales
156Bono Global de Mercados Emergentes
139Ingresos globales de capital
113Japón
132Empresas Japonesas Más Pequeñas
133Latinoamérica
137Inversión mixta 0-35% Acciones
131Inversión mixta 20-60% Acciones
107Inversión mixta 40-85% Acciones
123Mercado de dinero
999N/A
110Norteamérica
130North American Smaller Cos
71Offshore
400Fideicomisos de Pensiones
108Propiedad
138Mercado monetario a corto plazo
129Especialista
136Retorno absoluto objetivo
134Tecnología y telecomunicaciones
101Reino Unido Todas las Empresas
104Ingresos por patrimonio y bonos del Reino Unido
103Ingresos de capital del Reino Unido
127UK Gilt
135UK Index Linked Gilt
118Empresas más pequeñas del Reino Unido
48Sin clasificar
157Volatilidad gestionada
3 REPLIES 3
HotChilli
Super User
Super User

Creo que podría ser una cosa anti-spam en este foro, pero acortan cualquier URL en cosas publicadas por lo que no sabemos cuáles son las 2 líneas con enlaces web.

Tuve un breve intento con la Consulta. La tabla que se devuelve con nombres de fondos es results__table no sortableTable.

La segunda llamada web (RearragnedURL ) presumiblemente construye cada url con posiciones en la lista, por ejemplo, se puede ver que los controles de parámetro &start que se muestran en la página

https://www.hl.co.uk/funds/fund-discounts,-prices--and--factsheets/search-results?sectorid=121&start=0&rpp=20&lo=0%2C1&sort=fd.full_description&sort_dir=asc

https://www.hl.co.uk/funds/fund-discounts,-prices--and--factsheets/search-results?sectorid=121&start=20&rpp=20&lo=0%2C1&sort=fd.full_description&sort_dir=asc

En general, creo que el trabajo involucrado es demasiado complejo para un tema del foro. Necesita tiempo y esfuerzo.

Te agradezco que hayas @HotChilli

Lamentablemente, sí, es bastante complejo. He pasado la mayor parte del día raspando manualmente el sitio web .... eeeek!

Sí, el nombre de la mesa ha cambiado, disculpas por no afirmar eso en mi post original. Hay 39 "sectorid" y cada sectorid, posiblemente, tener más de 1 página y con el cambio en el sitio web no se puede poner números de página en la URL. Es sólo otro dolor de cabeza que he encontrado.

De todos modos, te agradezco que te tomes el tiempo para mirar. Seguiré rascándose la cabeza y espero llegar a una solución

Gracias de nuevo

Otro dolor de cabeza que me enfrenté no fue capaz de navegar a la pestaña "Precios & Rendimientos". Esto no aparece en la dirección URL, por lo que no sé cómo acceder a esta pestaña a través de la consulta.

Muchas gracias

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Prices go up Feb. 11th.

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

Jan NL Carousel

Fabric Community Update - January 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors