
Lesley Fowler
0
2513
599
“Computer! Vis mig alle aktuelle vejrforhold inden for 300 miles fra min nuværende placering”
“Ja kaptajn”
“Vis mig nu fugtighedsniveauerne for disse placeringer, kortlagt efter længdegrad og breddegrad på et kort”
“Ja kaptajn”
Ønsker du at omdanne din Google Drive-konto til et intelligent vejranalysesystem Bliv en ekspertdataanalytiker natten over ved hjælp af Google Regnearkrapportværktøjer Bliv ekspertdataanalytiker natten over ved hjælp af Google Regnearkrapportværktøjer Vidste du, at et af de største værktøjer af alle at udføre dataanalyse er faktisk Google Spreadsheet? Årsagen til dette er ikke kun fordi det kan gøre næsten alt hvad du måske vil ... og leve ud af denne Star Trek-fantasi? Okay, du er muligvis ikke i stand til at omdanne Google Spreadsheets til et kunstigt intelligent computersystem, der reagerer på dine stemmekommandoer, men i denne artikel viser jeg dig, hvordan du kan importere vejrdata fra Internettet og have dit eget tilpassede betjeningspanel med alle de oplysninger, der er vigtige for dig.
At udføre denne opgave lyder muligvis kompliceret i starten, hvis du ikke er bekendt med at bruge ImportXML eller Xpath til skraberning af websider, men jeg vil vise dig et par meget enkle tricks, du kan bruge til at udtrække de vejrinformation du ønsker specifikt fra US National Vejretjeneste-websted. Hvis du er uden for USA, skal de samme teknikker fungere for din egen lokale vejrservice, skal du bare bestemme strukturen for, hvordan vejerdataene er lagt ud, og justere forespørgslen i overensstemmelse hermed.
Dette svarer til de automatiserede regnearkrapporter Sådan opretter du en automatiseret Google Regnearkrapport fra Analytics-data Sådan opretter du en automatiseret Google Regnearkrapport fra Analytics-data, som jeg beskrev for ikke længe siden, men i dette tilfælde bruger den web-skrabet data i stedet for Google Analytics data. Så hvis du gerne vil tilpasse dit eget automatisk opdaterede vejrpanel på din egen Google Drive-konto, så lad os komme i gang!
Finde kildevedata
I denne øvelse skal du skrape vejrdata fra webstedet til National Weather Service ved at kigge efter specifikke CSS-klasser inde på siden, der identificerer de ønskede data. Heldigvis organiserede dette sted vejrresultaterne ved hjælp af klasser, når du søger efter den lokale prognose i dit område.
Formatet for HTML, som vi er interesseret i dette tilfælde, er enten et “span klasse” eller a “p klasse” som identificerer de specifikke data. For eksempel, vist nedenfor, kan du se klassen “myforecast-strøm-lrg” identificerer den sidst registrerede temperatur for det forespurgte område.
Så hver gang du kører en forespørgsel på webstedet, ser du en URL-adresse, der viser stedets længde og breddegrad - opbevar en kopi af den URL, fordi du bruger den til at oprette dit instrumentbord. Du kan enten se HTML-kildekoden direkte eller bruge dine browserudviklerværktøjer Find ud af problemer med websitet med Chrome-udviklingsværktøjer eller Firebug Find ud af webstedsproblemer med Chrome-udviklingsværktøjer eller Firebug Hvis du har fulgt mine jQuery-tutorials indtil videre, kan du muligvis har allerede fundet nogle kodeproblemer og vides ikke, hvordan man løser dem. Når du står over for en ikke-funktionel kodekode, er det meget ... at finde de klasser, du har brug for.
Opsætning af vejrkildedata
Sådan fungerer det er, at du opretter et datablad for hvert sted, du vil indsamle data til. Skriv etiketterne for disse data i venstre kolonne, og i den næste kolonne skal du indtaste ImportXML-formlen for at trække disse data ind fra webstedet.
For temperatur fungerer f.eks. Følgende:
= Importxml (B12; “// p [@ class = 'myforecast-strøm-LRG']”)
B12 indeholder URL'en efter udførelsen af placeringsforespørgslen. Ved brug af “// p [@ class =” er, hvordan man opsætter Xpath-forespørgslen til at udpakke “p klasse” på siden med det specificerede navn. Denne forespørgsel returnerer temperaturen på siden.
Udtrækning af fugtighed, vindhastighed og resten af datapunkter krævede faktisk udtrækning af listeposter inde i en UL-liste med et klassens navn “nuværende-betingelser-detail”. Følgende ImportXML-sætning udfører dette:
= Importxml (B12; “// ul [@ class = 'hidtidige-betingelser-detalje'] // li”)
Igen, “ul” identificerer basiselementet, og derefter specificeres klassens navn i parentes som vist. Dette efterfølges af “// li” hvilket indikerer, at du vil udpakke alle listeelementer inde i UL-klassen.
Dette udfylder resten af dataelementerne i kildearket for den placering.
Du skal også medtage URL'en i dette tilfælde, fordi breddegrad og længdegrad er inkluderet i URL'en, og du kan bruge det til at bruge Google Spreadsheet kort til at kortlægge datapunkter på et kort (vist nedenfor).
Gentag processen ovenfor for hvert sted, du vil trække vejrdata til. Kør forespørgslen for den placering på webstedet, kopier URL'en, og opret et nyt ark til lokationen, og udfyld den med de nødvendige ImportXML-sætninger for at skrabe de data, du har brug for.
Opbygning af det vigtigste regneark til betjeningspanel
Når du har oprettet alle dine lokaliseringsdataark, er du klar til at opbygge det vigtigste regneark med data til dit instrumentbræt. Dette er dybest set for at placere dataene i tabelformat, så det er lettere at kortlægge ting som temps, fugtighed, vindhastighed osv..
Opret en overskriftsrække for alle data, og kort derefter blot hver celle til de lokaliseringsdatabladplaceringer, der indeholder disse data.
Når du er færdig, vil alle de data, du har skrabet fra webstedet for hvert sted, blive lagt ud i denne enkelt tabel for nem gennemgang (og kortlægning).
Der kræves nogle justeringer i nogle tilfælde, fordi dataene kommer ind som strenge inklusive enheder. Der er et par tricks til at udtrække bare dataværdierne. Den første er at stribe slutningsenhederne ved hjælp af en regnearkformel som denne:
= Mid (C2,1, finde (“F”,C2) -2)
Dette finder grundlæggende placeringen af enheden og trækker derefter den aktuelle værdi op, indtil enhedsteksten starter. Når du kun har trukket ud nummeret, skal du konvertere det til en faktisk værdi i regnearket, så du kan foretage beregninger eller kortlægge det. Dette er enkelt med bare en “værdi” fungerer som vist her.
Når du har oprettet alle dine værdier i det vigtigste regneark til dashboard, er du færdig med at opsætte dine data. Nu kan du gå videre til at oprette diagrammer og målere, der udgør dit grafiske vejrpanel.
Oprettelse af dit vejrpanel
Dette er den enkle del - kort bare placeringen sammen med de data, du vil vise. Du kan gøre ting som at vise et søjlediagram over alle placeringer - i mit tilfælde kan jeg se det varmeste sted i staten med et øjeblik ved hjælp af denne slags diagram.
Du kan oprette temp, fugtighed eller vindhastighedsmålere, som altid er sjove at vise på et instrumentbræt. Du kan udtrække længdegrads- og breddegradsdata fra URL'en ved hjælp af den samme “mid” kommando, jeg beskrev ovenfor, indsæt disse placeringer i hovedspreadsheetet (med et komma imellem), og brug derefter denne kolonne til at kortlægge data på et kort.
Nedenfor har jeg kortlagt temperaturerne med GPS-koordinater på kortkort-widget'en, der er tilgængelig i Google Spreadsheets. Større cirkler på kortet viser placeringer med de højere temperaturer.
Som du sandsynligvis kan forestille dig, kan du samle nogle virkelig seje udseende betjeningspaneler, der viser dig alle slags oplysninger om vejret enten i din stat, land eller i hvilket område du har samlet dine data fra. Du kan gøre brug af nogle af de mange nyttige Google-regnearksfunktioner Udfør fantastiske feats med disse nyttige Google-regnearksfunktioner Udfør fantastiske feats med disse nyttige Google-regnearksfunktioner Jeg skammer mig at indrømme, at jeg kun for nylig har besluttet at begynde at eksperimentere med Google-regneark, og hvad jeg har opdaget, er, at uanset hvilken lokkelse eller magt Excel havde over mig på grund af de fantastiske ting ... der er tilgængelige for at udvikle et rigtig coolt instrumentpanel.
Mens denne artikel er fokuseret på at skrabe data fra vejrwebsteder, er det også et eksempel på, hvordan du kan bruge ImportXML til at importere oplysninger fra virkelig nogen websted derude, og brug af Xpath giver dig meget mere fleksibilitet til at importere meget specifik information ud fra en webside, som ImportFeed eller ImportHTML bare ikke giver.
Kan du tænke på nogle sjove og kreative anvendelser til ImportXML og Google Spreadsheets? Del nogle af dine ideer, og måske kan vi prøve at udfylde en af dine projektideer i en fremtidig artikel!