reklama

"Počítač! Zobrazit všechny aktuální povětrnostní podmínky do 300 km od mé aktuální polohy “
"Ano, kapitáne"
"Teď mi ukaž úrovně vlhkosti pro tato místa, mapované podle zeměpisné délky a šířky na mapě"
"Ano, kapitáne"

Chtěli byste změnit svůj účet na Disku Google na inteligentní počasí analytický systém Staňte se analytikem analytiků dat přes noc pomocí nástrojů pro tvorbu tabulek GoogleVěděli jste, že jedním z největších nástrojů pro analýzu dat je ve skutečnosti Google Spreadsheet? Důvodem není jen to, že dokáže udělat téměř vše, co byste chtěli ... Přečtěte si více , a žít tuto fantazii Star Trek? Dobře, možná nebudete schopni proměnit tabulky Google na uměle inteligentní počítačový systém, který bude reagovat na vaše hlasové příkazy, ale v tomto článek Ukážu vám, jak můžete importovat data o počasí z internetu a mít svůj vlastní přizpůsobený řídicí panel se všemi informacemi, které jsou důležité pro vy.

Provádění tohoto úkolu může zpočátku znít komplikovaně, pokud nejste s používáním ImportXML nebo Xpath pro obeznámeni

škrábání webové stránky Jak vytvořit základní webový prohledávač pro stahování informací z webuChtěli jste někdy zachytit informace z webové stránky? Zde je návod, jak napsat prolézací modul pro procházení webu a extrahování toho, co potřebujete. Přečtěte si více , ale ukážu vám několik velmi jednoduchých triků, pomocí kterých můžete extrahovat informace o počasí, které chcete, konkrétně z USA. Národní meteorologická služba webová stránka. Pokud jste mimo USA, měly by stejné techniky fungovat pro vaši místní místní meteorologickou službu stačí určit strukturu, jak jsou rozloženy údaje o počasí, a vyladit dotaz odpovídajícím způsobem.

To je podobné automatizované tabulky Jak vytvořit automatizovaný přehled tabulky Google z dat Analytics Přečtěte si více Popsal jsem to nedávno, ale v tomto případě používá spíše data zeškrabaná webem než data Google Analytics. Pokud si tedy chcete přizpůsobit svůj vlastní automaticky aktualizovaný řídicí panel počasí ve svém vlastním účtu na Disku Google, začněme!

Nalezení zdrojových dat počasí

V tomto cvičení budete škrábat údaje o počasí z webu National Weather Service hledáním konkrétních tříd CSS uvnitř stránky, které identifikují požadovaná data. Naštěstí tento web uspořádal výsledky počasí pomocí tříd při hledání místní prognózy ve vaší oblasti.

palubní deska1

Formát HTML, který nás zajímá, je buď „třída rozpětí“, nebo „třída p“, která identifikuje konkrétní data. Například níže je vidět, že třída „myforecast-current-lrg“ označuje poslední zaznamenanou teplotu pro dotazovanou oblast.

palubní deska2

Takže pokaždé, když na webu spustíte dotaz, zobrazí se adresa URL ukazující zeměpisnou délku a šířku daného místa - ponechte si kopii této adresy URL, protože ji použijete k vytvoření řídicího panelu. Zdrojový kód HTML můžete zobrazit přímo, nebo použít svůj vývojové nástroje prohlížeče Problémy s webovými stránkami s vývojářskými nástroji Chrome nebo FirebugPokud jste dosud sledovali moje návody jQuery, možná jste již narazili na některé problémy s kódem a nevěděli jste, jak je opravit. Když čelíme nefunkčnímu kódu, je to velmi ... Přečtěte si více najít třídy, které potřebujete.

Nastavení dat zdroje počasí

Funguje to tak, že vytvoříte datový list pro každé místo, pro které chcete shromažďovat data. V levém sloupci zadejte popisy těchto dat a v dalším sloupci je třeba zadat vzorec ImportXML, abyste mohli data načíst z webu.

Například pro teplotu platí následující:

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

B12 obsahuje adresu URL po provedení dotazu na umístění. Použití „// p [@ class =“ je způsob, jak nastavit dotaz Xpath tak, aby extrahoval „třídu p“ na stránce se zadaným názvem. Tento dotaz vrátí teplotu na stránce.

palubní deska4

Extrahování vlhkosti, rychlosti větru a zbytku datových bodů skutečně vyžadovalo extrahování položek seznamu uvnitř seznamu UL s názvem třídy „aktuální podmínky“. Následující příkaz ImportXML splňuje toto:

= importxml (B12; „// ul [@ class =’ aktuální-podmínky-detail ’] // li“)

Opět „ul“ identifikuje základní prvek a potom je název třídy uveden v závorkách, jak je znázorněno. Následuje znak „// li“, který označuje, že chcete extrahovat všechny položky seznamu uvnitř dané třídy UL.

Tím se vyplní zbytek datových položek ve zdrojovém listu pro toto umístění.

palubní deska7

V tomto případě byste měli také uvést adresu URL, protože zeměpisná šířka a délka je součástí URL a pomocí této tabulky Mapy Google můžete mapovat datové body na mapě (zobrazeno) níže).

Opakujte výše uvedený postup pro každé místo, pro které chcete stahovat údaje o počasí. Spusťte dotaz na toto umístění na webu, zkopírujte adresu URL a vytvořte nový list pro umístění a vyplňte jej potřebnými příkazy ImportXML, abyste mohli seškrábat potřebná data.

Vytváření tabulky hlavního panelu

Jakmile vytvoříte všechny své údaje o poloze, jste připraveni sestavit hlavní tabulku údajů pro svůj řídicí panel. Jde v zásadě o rozložení dat ve formátu tabulky, takže je jednodušší zmapovat věci jako tempy, vlhkost, rychlost větru atd.

Vytvořte řádek záhlaví pro všechna data a poté jednoduše mapujte každou buňku na umístění listu s údaji o poloze, která drží tato data.

palubní deska8

Až budete hotovi, budou všechna data, která jste ze všech webů vyškrtli z každého místa, uvedena v této jediné tabulce pro snadnou kontrolu (a mapování).

palubní deska10

V některých případech je vyžadováno vylepšení, protože data přicházejí jako řetězce včetně jednotek. Existuje několik triků, jak extrahovat pouze hodnoty dat. Prvním je odstranění koncových jednotek pomocí tabulkového vzorce, jako je tento:

= střední (C2,1, najít („F“, C2) -2)

Toto v podstatě najde umístění jednotky a poté extrahuje skutečnou hodnotu, dokud se text jednotky nezačne. Jakmile rozbalíte pouze číslo, budete jej muset převést na skutečnou hodnotu v tabulce, abyste mohli provádět výpočty nebo grafy. To je jednoduché s funkcí „hodnota“, jak je ukázáno zde.

palubní deska počasí11

Jakmile budou všechny vaše hodnoty vytvořeny v hlavní tabulce na hlavním panelu, je nastavení dat dokončeno. Nyní můžete přejít k tvorbě grafů a měřidel, které vytvoří váš grafický palubní panel počasí.

Vytvoření řídicího panelu počasí

Toto je jednoduchá část - stačí zmapovat umístění spolu s údaji, které chcete zobrazit. Můžete dělat věci jako ukázat sloupcový graf všech míst - v mém případě vidím nejteplejší místo ve státě na první pohled pomocí tohoto druhu grafu.

palubní deska12

Můžete vytvořit měřiče rychlosti, vlhkosti nebo rychlosti větru, které jsou vždy zábavné pro zobrazení na palubní desce. Data z délky a šířky můžete z adresy extrahovat pomocí stejného příkazu „uprostřed“, který jsem popsal výše, vložit tato umístění do hlavní tabulky (s čárkou mezi nimi) a pak pomocí tohoto sloupce mapujte data na a mapa.

Níže jsem zaznamenal teploty pomocí souřadnic GPS na widgetu pro mapování mapy, který je k dispozici v tabulkách Google. Větší kruhy na mapě označují místa s vyššími teplotami.

palubní deska13
Jak si asi dokážete představit, můžete dát dohromady několik opravdu skvěle vypadajících dashboardů ukazujících všechny druhy informace o počasí ve vašem státě, zemi nebo v jakémkoli regionu, ze kterého jste údaje shromáždili. Můžete využít některé z mnoha užitečných Funkce tabulky Google Proveďte úžasné výkony pomocí těchto užitečných funkcí tabulky GoogleStydím se přiznat, že jsem se teprve nedávno rozhodl začít experimentovat s tabulkami Google, a co jsem objevil, je to, že cokoli, co má půvab nebo moc, měl Excel kvůli mně úžasné věci... Přečtěte si více které jsou k dispozici pro vývoj opravdu skvěle vypadajícího dashboardu.

Přestože je tento článek zaměřen na škrábání dat z webových stránek o počasí, je to také příklad toho, jak můžete pomocí ImportXML importovat informace ze skutečných žádný web venku a použití Xpath vám dává mnohem větší flexibilitu při importu velmi specifických informací z webové stránky, které ImportFeed nebo ImportHTML jednoduše neposkytují.

Dokážete vymyslet nějaké zábavné a kreativní použití pro ImportXML a Tabulky Google? Podělte se o své nápady a možná se pokusíme dokončit jeden z vašich projektových nápadů v budoucím článku!

Ryan má bakalářský titul z elektrotechniky. Pracoval 13 let v automatizační technice, 5 let v IT a nyní je Apps Engineer. Bývalý šéfredaktor MakeUseOf, vystoupil na národních konferencích o vizualizaci dat a vystupoval v národních televizích a rádiích.