Skrapa webbsidor med Power Query - Excel Tips

Power Query är ganska kraftfull. Men jag håller på att göra Power Query Squared … skriva en fråga för en sida och sedan låta Excel utföra samma fråga för en hel lista med webbsidor.

Kolla på video

  • Dagens trick är anpassat från M is för Data Monkey-boken
  • Skapa en fråga för att få data från en webbsida
  • Redigera frågan för att ändra den till en funktion med (VariableName) => före Let
  • Ändra den hårdkodade URL: en till VariableName
  • Byt namn på frågan till fxWeather
  • Stäng och ladda. Uppgifterna försvinner.
  • Använd Excel Trickery för att skapa en tabell över alla webbadresser
  • Skapa en fråga från den tabellen.
  • Lägg till en ny kolumn med väder =fxWeather((URL))
  • Expandera kolumnen. Avmarkera prefix
  • Fantastisk!

Videoutskrift

Lär dig Excel från Podcast, avsnitt 2056: Power Query Squared

Hej, välkommen tillbaka till netcast, jag heter Bill Jelen. Jag stötte på detta trick medan jag förberedde mig för att göra ett seminarium vid en konferens i Dallas som heter Excelapalooza, det största Excel-konferensnamnet någonsin. Du bör kolla in det varje september i Dallas.

Och tack till Ken Puls och Miguel Escobar för att jag var tvungen att göra en timme på strömförfrågan, så naturligtvis drog jag ut den fantastiska boken, världens största bok om Power Query. Jag bläddrade i boken och jag såg att de hade en teknik och jag sa, ”Vänta en sekund. Jag ska se om jag kan anpassa den här tekniken. ” Och detta för mig är fantastiskt i kraftfrågan. Och här är vad vi ska göra, vi kommer att ta en kraftfråga och sedan kommer vi att köra den kraftfrågan, den frågan, dussintals gånger, okej?

Och så, det exempel som jag kom på var där jag ville hämta data från en webbsida, okej. Och jag gick ut till - jag letade bara efter några webbsidor jag kunde - som jag kunde använda som ett exempel. Jag hamnade på Weather Underground och här är URL: n, och du kan se att jag var i Dallas-Fort Worth, så vi hämtar data för Dallas och det ser ut som den 2 januari 2015. Så precis där i webbadressen finns parametrarna , rätt? Och det är en URL som bara är mogen för att den här saken ska fungera.

Vi tittar snabbt på webbsidan även om det inte är så viktigt. Du ser att det finns mycket olika data här ute på webbsidan och jag bestämde mig för att jag bara skulle försöka få nederbörd och hög och låg temperatur. Och här är den frågan. Och låt mig berätta just här att denna podcast inte handlar om hur man skapar denna fråga, ny fråga, från andra källor, från webben, ange webbadressen och sedan en massa steg som jag inte kommer att detalj här för att få min slutliga svaret på Max Temp, Min Temp och nederbörd. Poängen är att du ska ta din egen fråga och få den att fungera för en massa saker.

Så jag klickar på Stäng och ladda och den här frågan fungerar, den returnerar min ena rad. Allt är underbart. Och jag kommer in igen, jag kommer att redigera den här frågan och jag går till View, Advanced Editor. Jag ska ta den här frågan och jag ska göra det till en funktion, okej? Så här före ordet LET trycker jag på Enter. Och inom parentes ska jag ge den en variabel (MyURL) och sedan => liten pil där, okej? Häftigt. Och sedan här nere, där de har webbadressen i citat, vill jag bli av med hela webbadressen inklusive offerten och sedan skriva mitt variabelnamn MyURL, okej. Så vad vi säger är att vi kommer att skicka det till URL och det kommer att göra samma fråga men med vilken webbadress vi råkar skicka.

Nu, ett par oroväckande saker här, när jag klickar på Klar, åh herrar! Alla mina tillämpade steg är borta och de vill att jag ska ange en parameter. Ignorera bara allt detta. Vi ska byta namn på detta; vi ska kalla det fxWeather. FX, naturligtvis, som förkortning för funktion och du måste verkligen komma ihåg det här namnet och komma ihåg vilka bokstäver som är versaler, det kommer att bli mycket viktigt på ett par minuter. Hem, Stäng & Ladda och BAM! Allt är borta. Å nej! Men det är okej. Okej, så vi vet att det är där. Det är bara en anslutning. Nu ska jag komma hit och det här är bara gammalt Excel, okej? Så här är URL: en, jag delade ut den i den första delen av URL: en, den slutliga delen av URL: en. Jag vet att jag måste ta dagen; Jag måste formatera det i detta konstiga år,månad och dag så jag använde TEXT-funktionen för att göra det. Ange startdatum här. Jag kan till och med byta flygplats, så nu är jag fram och tillbaka. Låt oss göra MCO för Orlando och låt oss göra några senaste data. Så jag börjar 2016-10-01, okej. Så nu har vi det här fantastiska lilla bordet upprättat här. Och förresten måste det vara ett bord. Du måste använda format som tabell eller Ctrl + T. Så du vet, det här tar bara det datumet och sedan + 1 + 1 + 1. Jag formaterar den, jag bygger webbadressen.Du måste använda format som tabell eller Ctrl + T. Så du vet, det här tar bara det datumet och sedan + 1 + 1 + 1. Jag formaterar det, jag bygger webbadressen.Du måste använda format som tabell eller Ctrl + T. Så du vet, det här tar bara det datumet och sedan + 1 + 1 + 1. Jag formaterar den, jag bygger webbadressen.

Okej nu, vi ska bygga en fråga från den här tabellen. Okej, och det finns min information. Jag ska lägga till en ny kolumn, lägga till en anpassad kolumn, kolumnerna skulle kallas väder och formeln kommer att vara = fxWeather. Se till att det är exakt samma bokstäver, samma stora och små bokstäver, så infogar vi det fältet som heter URL så och stänger parentes. Inga syntaxfel, klicka på OK. De vill veta om sekretess här, detta är all offentlig information, klicka på Spara, okej. Så det är vårt datum. Det är roligt att de faktiskt har ändrat mitt format till något som inte ser ut som det jag började med. Och här är Väder med utökningssymbolen. Så jag ska klicka på expand-symbolen, avmarkera Använd originalkolumnamn som prefix. Jag vill ha Max, Min, Nederbörd,klicka på OK. Okej, och nu behöver jag bara datumet och den informationen där ute. Så jag högerklickar och tar bort den här kolumnen, högerklickar och tar bort den här kolumnen. Härifrån behöver jag inte den tiden så jag säger att det här bara är ett datum, okej. Och se vad det gör varje datum när jag passerar det; det återvänder det höga, det låga och nederbörden för Orlando. Varje rad här går ut till en annan webbsida. Tänk dig att om det inte var 15 rader utan 5 000 rader, skulle du ställa in det så att det körs över natten. Jag brukade skriva makron för detta. Faktum är att en av webbsidorna är hur man bygger ett makro för att skrapa webbsidor från tusen olika webbsidor på en webbplats, inte nödvändigt längre med kraftfråga.Högerklicka och ta bort den här kolumnen, högerklicka och ta bort den här kolumnen. Härifrån behöver jag inte den tiden så jag säger att det här bara är ett datum, okej. Och se vad det gör varje datum när jag passerar det; det återvänder det höga, det låga och nederbörden för Orlando. Varje rad här går ut till en annan webbsida. Tänk dig att om det inte var 15 rader utan 5 000 rader, skulle du ställa in det så att det körs över natten. Jag brukade skriva makron för detta. Faktum är att en av webbsidorna är hur man bygger ett makro för att skrapa webbsidor från tusen olika webbsidor på en webbplats, inte nödvändigt längre med kraftfråga.Högerklicka och ta bort den här kolumnen, högerklicka och ta bort den här kolumnen. Härifrån behöver jag inte den tiden så jag säger att det här bara är ett datum, okej. Och se vad det gör varje datum när jag passerar det; det återvänder det höga, det låga och nederbörden för Orlando. Varje rad här går ut till en annan webbsida. Tänk dig att om det inte var 15 rader utan 5 000 rader, skulle du ställa in det så att det körs över natten. Jag brukade skriva makron för detta. Faktum är att en av webbsidorna är hur man bygger ett makro för att skrapa webbsidor från tusen olika webbsidor på en webbplats, inte nödvändigt längre med kraftfråga.s återvänder det höga, det låga och nederbörden för Orlando. Varje rad här går ut till en annan webbsida. Tänk dig att om det inte var 15 rader utan 5 000 rader, skulle du ställa in det så att det körs över natten. Jag brukade skriva makron för detta. Faktum är att en av webbsidorna är hur man bygger ett makro för att skrapa webbsidor från tusen olika webbsidor på en webbplats, inte nödvändigt längre med kraftfråga.s återvänder det höga, det låga och nederbörden för Orlando. Varje rad här går ut till en annan webbsida. Tänk dig att om det inte var 15 rader utan 5 000 rader, skulle du ställa in det så att det körs över natten. Jag brukade skriva makron för detta. Faktum är att en av webbsidorna är hur man bygger ett makro för att skrapa webbsidor från tusen olika webbsidor på en webbplats, inte nödvändigt längre med kraftfråga.

Now, when I Close & Load, it's funny the preview here is showing me all the results. When I Close & Load, they're actually going to go do each query. And so right now we have preview rows loaded and it will take a good long time for this information to get updated. So, go to lunch, do something especially if you're doing more than 15 rows. And it's funny the preview is correct but they're still going out and could chunk, could chunk, could chunking through each individual row.

And there it's loaded. Is this amazing or what? Hey, I do a lot of Excel seminars, the Power Excel seminar in Orlando, Florida. Look at these beautiful temperatures we have down here on November 4, 2016. My afternoon will be all about Power Query, Power BI, Power Pivot, Power Map. So, I'm going to invite you down to Orlando to check out this seminar. There'll be a link there in the top-right hand corner.

Alright, so recap. Today's trick is from this book, M is for (DATA) MONKEY. We built a query to get one web page and then edit that query to change it into a function. So right before the Let statement variable name => and then change the hard-coded URL to whatever that variable name is. Rename the query to fxWeather, Close & Load, the data disappears. Then, we use some sort of Excel trickery to create a table of all the URLs we want to crawl, create a query from that table. This has to be a Ctrl+T table, add a new column of Weather = fxWeather and again it has to match the case there, (URL), Expand that column, uncheck Prefix. BAM! It is amazing.

Thanks to Ken and Miguel for writing this book. Thanks to you for stopping by. Hope to see you in Orlando on November 4th 2016. See you next time for another netcast from.

Download File

Ladda ner exempelfilen här: Podcast2056.xlsm

Intressanta artiklar...