Bygg din egen väderdashboard i den här Google-kalkylarkmästarklassen

Bygg din egen väderdashboard i den här Google-kalkylarkmästarklassen / Wordpress & Webbutveckling

“Dator! Visa mig alla aktuella väderleksförhållanden inom 300 miles från min nuvarande plats”
“Ja kapten”
“Nu visa mig luftfuktighetsnivåerna för de här platserna, kartläggd av longitud och latitud på en karta”
“Ja kapten”

Vill du vända ditt Google Drive-konto till ett intelligent väderanalyssystem Bli en expertdatabaserad analytiker över natten Använda Google-kalkylarkrapporteringsverktyg Bli en expertdataanalytiker över natten Använda Google-kalkylarkrapporteringsverktyg Visste du att ett av de största verktygen för alla att bedriva Dataanalys är faktiskt Google Spreadsheet? Anledningen till detta är inte bara för att det kan göra nästan allt du kanske vill ... Läs mer, och leva ut denna Star Trek fantasi? Okej, du kanske inte kan konvertera Google Spreadsheets till ett artificiellt intelligent datorsystem som svarar på dina röstkommandon, men i den här artikeln visar jag dig hur du kan importera väderdata från Internet och ha en egen anpassad instrumentbräda med all information som är viktig för dig.

Genomföra denna uppgift kan det hända att det är komplicerat först om du inte känner till att du använder ImportXML eller Xpath för att skrapa webbsidor, men jag visar dig några enkla triks som du kan använda för att extrahera väderinformationen du vill ha specifikt av USA National Väder Service hemsida. Om du befinner dig utanför USA bör samma tekniker fungera för din egen lokala väderstjänst, du behöver bara bestämma strukturen för hur väderinformationen läggs ut och justera frågan i enlighet med detta..

Det här liknar de automatiska kalkylarksrapporterna Skapa en automatisk Google-kalkylarkrapport från Analytics-data Så här skapar du en automatiserad Google-kalkylarkrapport från Analytics-data Läs mer Jag beskrev inte för länge sedan, men i det här fallet använder den webbskrapad data i stället för Google Analytics-data. Så, om du vill anpassa din egen automatiskt uppdaterade väderdashboard i ditt eget Google Drive-konto, låt oss börja!

Hitta källväddatata

I denna övning ska du skrapa väderdata från webbplatsen för National Weather Service genom att leta efter specifika CSS-klasser på sidan som identifierar de data du vill ha. Tack och lov, den här sidan organiserade väderresultaten med klasser när du letar efter den lokala prognosen i ditt område.

Formatet av HTML som vi är intresserade av är fallet a “span klass” eller a “p klass” som identifierar de specifika uppgifterna. Till exempel, som visas nedan kan du se klassen “myforecast-ström-LRG” identifierar den senaste inspelade temperaturen för den frågade regionen.

Så varje gång du kör en fråga på webbplatsen ser du en webbadress som visar längden och latituden för den platsen - behåll en kopia av den webbadressen eftersom du använder den för att bygga din instrumentpanel. Du kan antingen visa HTML-källkoden direkt eller använda verktygen för webbutvecklare. Uträtta webbproblem med Chrome Developer Tools eller Firebug Utvärdera webbproblem med Chrome Developer Tools eller Firebug Om du har följt mina jQuery-tutorials hittills kan du har redan stött på några kodproblem och inte vetat hur man fixar dem. När man möter en icke-funktionell bit kod är det väldigt ... Läs mer för att hitta de klasser du behöver.

Ställa in väderkodsdata

Så här fungerar det, så skapar du ett datablad för varje plats som du vill samla in data för. Skriv in etiketterna för den data i den vänstra kolumnen, och i nästa kolumn måste du skriva in formuläret ImportXML för att dra in den data från webbplatsen.

För Temperatur, till exempel, fungerar följande:

= Importxml (B12; “// p [@ class = 'myforecast-ström-lrg']”)

B12 innehåller webbadressen efter att ha genomfört platsfrågan. Använder sig av “// p [@ class =” är hur man ställer in Xpath-frågan för att extrahera “p klass” på sidan med det angivna namnet. Denna fråga returnerar temperaturen på sidan.

Extraktfuktighet, vindhastighet och resten av de datapunkter som faktiskt behövs extraherar listobjekt i en UL-lista med ett klassnamn “nuvarande-villkor-detalj”. Följande ImportXML-formulär uppnår detta:

= Importxml (B12; “// ul [@ class = 'aktuella förutsättningar-detalj'] // li”)

Igen, “ul” identifierar grundelementet, och sedan anges klassnamnet i parentes enligt bilden. Detta följs av “// li” vilket indikerar att du vill extrahera alla listobjekt i den UL-klassen.

Detta fyller ut resten av dataobjekten i källarket för den platsen.

Du bör också inkludera webbadressen i det här fallet, eftersom latitud och longitud är inkluderade i webbadressen, och du kan använda det med hjälp av Google-kalkylarkskartor för att kartlägga datapunkter på en karta (visas nedan).

Upprepa processen ovan för varje plats som du vill ta väderinformation för. Kör frågan för den platsen på webbplatsen, kopiera webbadressen och skapa ett nytt ark för platsen och fyll i det med nödvändiga ImportXML-satser för att skrapa de data du behöver.

Bygga Main Dashboard-kalkylbladet

När du har skapat alla dina positionsdatablad är du redo att bygga huvudkalkylbladet för data för din instrumentpanel. Detta är i grund och botten att lägga ut data i tabellformat så det är lättare att kartlägga saker som temps, fuktighet, vindhastighet mm.

Skapa en rubrikrad för alla data, och kartlägg sedan enkelt varje cell till platsdatabladslägena som innehåller data.

När du är klar kommer alla data som du har skrapat från webbplatsen för varje plats att läggas ut i det här enkla bordet för enkel granskning (och kartläggning).

Det behövs viss tweaking i vissa fall, eftersom data kommer in som strängar inklusive enheter. Det finns några knep för att extrahera bara datavärdena. Den första är att avlägsna slutenheterna med hjälp av en kalkylblads formel så här:

= Mitt (C2,1, hitta (“F”,C2) -2)

Detta hittar i grunden enhetens läge och extraherar det verkliga värdet tills enhetens text börjar. När du bara har tagit ut numret måste du konvertera det till ett verkligt värde i kalkylbladet så att du kan göra beräkningar eller kartlägga det. Att göra detta är enkelt med bara en “värde” funktionen som visas här.

När du har fått alla dina värden skapade i huvuddashboardkalkylbladet är du redo att konfigurera dina data. Nu kan du gå vidare till att skapa diagram och mätare som kommer att kompensera din grafiska väderpanel.

Skapa din Väder Dashboard

Det här är den enkla delen - bara kartlägga platsen tillsammans med vilken data du vill visa. Du kan göra saker som att visa ett stapeldiagram över alla platser - i mitt fall kan jag se den varmaste platsen i staten en överblick med hjälp av denna typ av diagram.

Du kan skapa temp, fuktighet eller vindhastighetsmätare, som alltid är roliga att visa på en instrumentbräda. Du kan extrahera data för longitud och latitud från URL-adressen med samma “mitten” kommando jag beskrivit ovan, sätt dessa platser i huvudkalkylbladet (med ett komma mellan dem) och använd sedan kolumnen för att kartlägga data på en karta.

Nedan har jag kartat ut temperaturer med GPS-koordinater på kartdiagramm widgeten som finns i Google Spreadsheets. Större cirklar på kartan anger platser med högre temperaturer.


Som du förmodligen kan föreställa dig kan du dra ihop några riktigt coola instrumentpaneler som visar dig all slags information om vädret, antingen i din stat, land eller vilken region du har samlat in dina data från. Du kan använda vissa av de många användbara Google-kalkylbladsfunktionerna Utför fantastiska detaljer med dessa användbara Google-kalkylbladsfunktioner Utför fantastiska detaljer med dessa användbara Google-kalkylbladsfunktioner Jag skäms över att erkänna att jag nyligen har bestämt mig för att börja experimentera med Google Kalkylark, och det jag har upptäckt är att det oavsett äventyr eller makt Excel hade över mig på grund av de fantastiska sakerna ... Läs mer som är tillgängliga för att utveckla en riktigt coolt instrumentbräda.

Medan denna artikel är inriktad på skrapdata från väderwebbplatser, är det också ett exempel på hur du kan använda ImportXML för att importera information från riktigt några hemsida där ute, och med Xpath ger du mycket mer flexibilitet för att importera mycket specifik information bort från en webbsida som ImportFeed eller ImportHTML bara inte tillhandahåller.

Kan du tänka på några roliga och kreativa användningsområden för ImportXML och Google Spreadsheets? Dela några av dina idéer och kanske kan vi försöka att slutföra en av dina projektidéer i en framtida artikel!