Reklame

"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 Drev-konto til et intelligent vejr analysesystem Bliv ekspertdataanalytiker natten over ved hjælp af Googles regnearkrapportværktøjerVidste du, at et af de største værktøjer af alle til at udføre dataanalyse faktisk er Google Spreadsheet? Årsagen til dette er ikke kun fordi det kan gøre næsten alt hvad du måske vil ... Læs mere , 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 vil svare på dine stemmekommandoer, men i dette artikel Jeg viser dig hvordan du kan importere vejrdata fra Internettet og have dit eget tilpassede betjeningspanel med alle de oplysninger, der er vigtige for du.

Udførelsen af ​​denne opgave kan lyde kompliceret i starten, hvis du ikke er bekendt med at bruge ImportXML eller Xpath til

instagram viewer
webside skrabe Sådan bygges en grundlæggende webcrawler til at trække oplysninger fra et webstedHar du nogensinde ønsket at indhente oplysninger fra et websted? Sådan skriver du en crawler for at navigere på et websted og udpakke det, du har brug for. Læs mere , men jeg viser dig et par meget enkle tricks, du kan bruge til at udtrække de vejrinformation, du vil have specifikt fra USA. National Vejretjeneste internet side. Hvis du er uden for USA, skal de samme teknikker fungere for din egen lokale vejrservice, så gør du det skal bare bestemme strukturen for, hvordan vejrdataene er lagt ud, og finpudse forespørgslen derfor.

Dette svarer til automatiserede regnearkrapporter Sådan opretter du en automatisk Google-regnearksrapport fra Analytics-data Læs mere 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 vil du skrape vejrdata fra webstedet for National Weather Service ved at lede 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.

vejr-dashboard1

Formatet for HTML, som vi er interesseret i dette tilfælde, er enten en "span klasse" eller en "p klasse", der identificerer de specifikke data. For eksempel, som vist nedenfor, kan du se klassen "myforecast-current-lrg" identificerer den sidst registrerede temperatur for det forespurgte område.

vejr-dashboard2

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 vil bruge den til at oprette dit betjeningspanel. Du kan enten se HTML-kildekoden direkte eller bruge din browserudviklerværktøjer Find ud af problemer med webstedet med Chrome Developer Tools eller FirebugHvis du har fulgt mine jQuery-tutorials indtil videre, har du muligvis allerede fundet nogle kodeproblemer og ikke vidst, hvordan du løser dem. Når man står over for en ikke-funktionel kodekode, er det meget ... Læs mere at finde de klasser, du har brug for.

Opsætning af vejrkildedata

Sådan fungerer dette 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 hente disse data 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. Brug af "// p [@ class =" er, hvordan du konfigurerer Xpath-forespørgslen til at udpakke "p-klassen" på siden med det specificerede navn. Denne forespørgsel returnerer temperaturen på siden.

vejr-dashboard4

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 “aktuelle forhold-detaljer”. Følgende ImportXML-sætning udfører dette:

= importxml (B12; ”// ul [@ class =’ strøm-betingelser-detalje’] // li”)

Igen identificerer “ul” basiselementet, og derefter specificeres klassens navn i parentes som vist. Dette efterfølges af "// li", der indikerer, at du vil udpakke alle listeelementer inde i den UL-klasse.

Dette udfylder resten af ​​dataelementerne i kildearket for den placering.

vejr-dashboard7

Du skal også medtage URL'en i dette tilfælde, fordi breddegrad og længdegrad er inkluderet i URL, og du kan bruge det til at bruge Google Spreadsheet kort til at kortlægge datapunkter på et kort (vist under).

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 regnearket til hovedpanelet

Når du har oprettet alle dine placeringsdataark, er du klar til at opbygge det vigtigste regneark med data til dit instrumentbræt. Dette er dybest set 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 lokaliseringsdataarkplaceringer, der indeholder disse data.

vejr-dashboard8

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).

vejr-dashboard10

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:

= midt (C2,1, find (“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 simpelt med blot en "værdi" -funktion som vist her.

vejr-dashboard11

Når du har oprettet alle dine værdier i regnearket til dashboardet, 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 form for diagram.

vejr-dashboard12

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, som jeg beskrev ovenfor, indsæt disse placeringer i det vigtigste regneark (med et komma imellem), og brug derefter den kolonne til at kortlægge data på en 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.

vejr-dashboard13
Som du sandsynligvis kan forestille dig, kan du samle nogle virkelig seje udseende instrumentpaneler, 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 Googles regnearksfunktioner Udfør fantastiske feats med disse nyttige Google-regnearksfunktionerJeg skammer mig over at indrømme, at jeg først for nylig har besluttet at begynde at eksperimentere med Google Spreadsheets, og hvad jeg har opdaget, er, at alt hvad lokkemåde eller magt Excel havde over mig på grund af det fantastiske ting ... Læs mere der er tilgængelige for at udvikle et rigtig coolt instrumentbræt.

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 specifikke oplysninger 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!

Ryan har en BSc-grad i elektroteknik. Han har arbejdet 13 år inden for automatisering, 5 år inden for it, og er nu en applikationsingeniør. En tidligere administrerende redaktør for MakeUseOf, han har talt på nationale konferencer om datavisualisering og har været vist på nationalt tv og radio.