Advertentie

"Computer! Toon me alle huidige weersomstandigheden binnen 300 mijl van mijn huidige locatie ”
"Ja kapitein"
"Laat me nu de vochtigheidsniveaus voor die locaties zien, in kaart gebracht op lengte en breedtegraad op een kaart"
"Ja kapitein"

Wilt u van uw Google Drive-account een intelligent weer maken analysesysteem Word 's nachts een deskundige data-analist met Google Spreadsheet Report ToolsWist je dat een van de beste tools om data-analyse uit te voeren eigenlijk Google Spreadsheet is? De reden hiervoor is niet alleen omdat het bijna alles kan doen wat je zou willen ... Lees verder , en deze Star Trek-fantasie uitleven? Oké, je kunt Google Spreadsheets mogelijk niet veranderen in een kunstmatig intelligent computersysteem dat reageert op je spraakopdrachten, maar in dit artikel Ik laat je zien hoe je weergegevens van internet kunt importeren en je eigen aangepaste dashboard hebt met alle informatie die belangrijk is voor u.

Het kan in het begin ingewikkeld klinken als u niet bekend bent met het gebruik van ImportXML of Xpath voor

instagram viewer
webpagina schrapen Hoe u een eenvoudige webcrawler maakt om informatie van een website te halenAltijd al informatie van een website willen vastleggen? Hier leest u hoe u een crawler schrijft om door een website te navigeren en eruit te halen wat u nodig heeft. Lees verder , maar ik zal je een paar heel eenvoudige trucs laten zien die je kunt gebruiken om de weersinformatie die je wilt specifiek uit de VS te halen Nationale weerdienst website. Als u zich buiten de Verenigde Staten bevindt, zouden dezelfde technieken moeten werken voor uw eigen lokale weerdienst, dat zult u doen u hoeft alleen de structuur van de weergegevens te bepalen en de query aan te passen overeenkomstig.

Dit is vergelijkbaar met de geautomatiseerde spreadsheetrapporten Hoe u een geautomatiseerd Google-spreadsheetrapport maakt van Analytics-gegevens Lees verder Ik heb het niet lang geleden beschreven, maar in dit geval gebruikt het webgeschraapte gegevens in plaats van Google Analytics-gegevens. Dus als u uw eigen automatisch bijgewerkte weerdashboard wilt aanpassen in uw eigen Google Drive-account, gaan we aan de slag!

Bronweergegevens zoeken

In deze oefening ga je weergegevens van de National Weather Service-website schrapen door binnen de pagina naar specifieke CSS-klassen te zoeken die de gewenste gegevens identificeren. Gelukkig organiseerde deze site de weersresultaten met behulp van klassen wanneer u naar de lokale voorspelling in uw regio zoekt.

weer-dashboard 1

De indeling van de HTML waarin we in dit geval geïnteresseerd zijn, is ofwel een 'span-klasse' of een 'p-klasse' die de specifieke gegevens identificeert. Hieronder ziet u bijvoorbeeld dat de klasse "myforecast-current-lrg" de laatst geregistreerde temperatuur voor de opgevraagde regio identificeert.

weer-dashboard 2

Dus elke keer dat u een zoekopdracht op de site uitvoert, ziet u een URL met de lengte- en breedtegraad van die locatie - bewaar een kopie van die URL omdat u deze gebruikt om uw dashboard te bouwen. U kunt de HTML-broncode rechtstreeks bekijken of uw gebruiken browserontwikkelaarstools Zoek website-problemen uit met Chrome Developer Tools of FirebugAls je mijn jQuery-tutorials tot nu toe hebt gevolgd, ben je misschien al wat codeproblemen tegengekomen en weet je niet hoe je ze moet oplossen. Wanneer het wordt geconfronteerd met een niet-functioneel stukje code, is het erg ... Lees verder om de lessen te vinden die je nodig hebt.

De weerbrongegevens instellen

De manier waarop dit werkt, is dat u een gegevensblad maakt voor elke locatie waarvoor u gegevens wilt verzamelen. Typ de labels voor die gegevens in de linkerkolom en in de volgende kolom moet u de ImportXML-formule typen om die gegevens van de website op te halen.

Voor temperatuur werkt bijvoorbeeld het volgende:

= importxml (B12; "// p [@ class =’ myforecast-current-lrg ’]"))

B12 bevat de URL na het uitvoeren van de locatiequery. Met behulp van "// p [@ class =" kunt u de Xpath-query instellen om de "p class" op de pagina met de opgegeven naam te extraheren. Deze query retourneert de temperatuur op de pagina.

weather-dashboard 4

Het extraheren van vochtigheid, windsnelheid en de rest van de datapunten vereiste eigenlijk het extraheren van lijstitems binnen een UL-lijst met een klassennaam "huidige-voorwaarden-detail". Met de volgende ImportXML-instructie wordt dit bereikt:

= importxml (B12; "// ul [@ class =’ current-conditions-detail ’] // li")

Nogmaals, "ul" identificeert het basiselement en vervolgens wordt de klassenaam tussen haakjes aangegeven, zoals weergegeven. Dit wordt gevolgd door de "// li" die aangeeft dat u alle lijstitems binnen die UL-klasse wilt extraheren.

Hiermee vult u de rest van de gegevensitems in het bronblad voor die locatie in.

weer-dashboard 7

U moet in dit geval ook de URL opnemen, omdat de breedte- en lengtegraad in de URL, en u kunt die gebruiken om Google Spreadsheet-kaarten te gebruiken om gegevenspunten op een kaart in kaart te brengen (weergegeven hieronder).

Herhaal het bovenstaande proces voor elke locatie waarvoor u weergegevens wilt ophalen. Voer de zoekopdracht voor die locatie op de website uit, kopieer de URL en maak een nieuw blad voor de locatie en vul het met de benodigde ImportXML-instructies om de gegevens die u nodig hebt te schrapen.

Het bouwen van het hoofddashboard-spreadsheet

Zodra u al uw locatiegegevensbladen heeft gemaakt, bent u klaar om de belangrijkste spreadsheet met gegevens voor uw dashboard te bouwen. Dit is in feite om de gegevens in tabelformaat op te maken, zodat het gemakkelijker is om zaken als temperatuur, vochtigheid, windsnelheid, enz. In kaart te brengen.

Maak een koptekstrij voor alle gegevens en wijs vervolgens elke cel eenvoudig toe aan de locatiegegevensbladlocaties die die gegevens bevatten.

weer dashboard 8

Zodra u klaar bent, worden alle gegevens die u voor elke locatie van de website hebt verwijderd, in deze enkele tabel opgesomd voor eenvoudige controle (en grafieken).

weer-dashboard 10

In sommige gevallen is enige aanpassing vereist, omdat de gegevens binnenkomen als tekenreeksen inclusief eenheden. Er zijn een paar trucs om alleen de gegevenswaarden te extraheren. De eerste is om de eindeenheden te verwijderen met een spreadsheetformule zoals deze:

= midden (C2,1, vind ("F", C2) -2)

Dit vindt in feite de locatie van de eenheid en extraheert vervolgens de werkelijke waarde tot de eenheidstekst begint. Nadat u alleen het getal heeft geëxtraheerd, moet u het omzetten naar een werkelijke waarde in de spreadsheet, zodat u berekeningen kunt uitvoeren of in kaart kunt brengen. Dit doen is eenvoudig met slechts een "waarde" -functie zoals hier getoond.

weer-dashboard 11

Zodra u al uw waarden heeft gemaakt in de hoofddashboard-spreadsheet, bent u klaar met het instellen van uw gegevens. Nu kunt u doorgaan met het maken van de grafieken en meters die uw grafische weerdashboard vormen.

Uw weerdashboard maken

Dit is het eenvoudige deel: breng de locatie in kaart samen met de gegevens die u wilt weergeven. Je kunt dingen doen zoals een staafdiagram weergeven van alle locaties - in mijn geval kan ik in een oogopslag de warmste plek in de staat zien met dit soort grafieken.

weer-dashboard 12

U kunt temperatuur-, vochtigheids- of windsnelheidsmeters maken, die altijd leuk zijn om op een dashboard weer te geven. U kunt de lengte- en breedtegraadgegevens uit de URL halen met dezelfde "mid" -opdracht die ik hierboven heb beschreven, invoegen die locaties in de hoofdspreadsheet (met een komma ertussen), en gebruik dan die kolom om gegevens over een kaart.

Hieronder heb ik de temperaturen in kaart gebracht door middel van gps-coördinaten op de kaartkaartwidget die beschikbaar is in Google Spreadsheets. Grotere cirkels op de kaart geven locaties met de hogere temperaturen aan.

weather-dashboard 13
Zoals je je waarschijnlijk wel kunt voorstellen, kun je een aantal echt cool uitziende dashboards samenstellen die je allerlei soorten laten zien informatie over het weer in uw staat, land of in welke regio u uw gegevens heeft verzameld. U kunt een aantal van de vele handige functies gebruiken Google Spreadsheet-functies Voer geweldige prestaties uit met deze handige Google-spreadsheetfunctiesIk schaam me om toe te geven dat ik pas onlangs heb besloten om te gaan experimenteren met Google Spreadsheets, en wat ik heb ontdekt, is dat Excel alle aantrekkingskracht of kracht had vanwege het verbazingwekkende dingen... Lees verder die beschikbaar zijn om een ​​echt cool uitziend dashboard te ontwikkelen.

Hoewel dit artikel is gericht op het schrapen van gegevens van weerwebsites, is het ook een voorbeeld van hoe u ImportXML kunt gebruiken om informatie van echt te importeren ieder website, en het gebruik van Xpath geeft u veel meer flexibiliteit om zeer specifieke informatie te importeren van een webpagina die ImportFeed of ImportHTML gewoon niet bieden.

Kun je een aantal leuke en creatieve toepassingen bedenken voor ImportXML en Google Spreadsheets? Deel enkele van uw ideeën en misschien kunnen we proberen een van uw projectideeën in een toekomstig artikel te voltooien!

Ryan heeft een BSc-graad in elektrotechniek. Hij heeft 13 jaar in automatiseringstechniek gewerkt, 5 jaar in IT en is nu een Apps Engineer. Hij was een voormalig hoofdredacteur van MakeUseOf, hij sprak op nationale conferenties over datavisualisatie en was te zien op nationale tv en radio.