Publicité
"Ordinateur! Montrez-moi toutes les conditions météorologiques actuelles à moins de 300 miles de ma position actuelle "
"Oui capitaine"
"Maintenant, montrez-moi les niveaux d'humidité de ces endroits, représentés par la longitude et la latitude sur une carte"
"Oui capitaine"
Souhaitez-vous transformer votre compte Google Drive en une météo intelligente système d'analyse Devenez un analyste de données expert du jour au lendemain à l'aide des outils de rapport de feuille de calcul GoogleSaviez-vous que l'un des meilleurs outils pour effectuer une analyse de données est en fait la feuille de calcul Google? La raison en est non seulement parce qu'elle peut faire presque tout ce que vous voudrez ... Lire la suite et vivre ce fantasme de Star Trek? D'accord, vous ne pourrez peut-être pas transformer les feuilles de calcul Google en un système informatique artificiellement intelligent qui répondra à vos commandes vocales, mais dans ce article, je vais vous montrer comment importer des données météorologiques depuis Internet et avoir votre propre tableau de bord personnalisé avec toutes les informations importantes pour tu.
La réalisation de cette tâche peut sembler compliquée au début si vous n'êtes pas familier avec l'utilisation d'ImportXML ou Xpath pour grattage de page web Comment créer un robot d'exploration de base pour extraire des informations d'un site WebVous avez toujours voulu capturer des informations à partir d'un site Web? Voici comment écrire un robot pour naviguer sur un site Web et extraire ce dont vous avez besoin. Lire la suite , mais je vais vous montrer quelques astuces très simples que vous pouvez utiliser pour extraire les informations météorologiques que vous souhaitez spécifiquement hors des États-Unis. Service météorologique national site Internet. Si vous êtes en dehors des États-Unis, les mêmes techniques devraient fonctionner pour votre propre service météorologique local, vous il suffit de déterminer la structure de la disposition des données météorologiques et de modifier la requête en conséquence.
Ceci est similaire à la rapports de feuille de calcul automatisés Comment créer un rapport de feuille de calcul Google automatisé à partir de données Analytics Lire la suite Je l'ai décrit il n'y a pas longtemps, mais dans ce cas, il utilise des données grattées sur le Web plutôt que des données Google Analytics. Donc, si vous souhaitez personnaliser votre propre tableau de bord météo mis à jour automatiquement dans votre propre compte Google Drive, commençons!
Recherche de données météorologiques sources
Dans cet exercice, vous allez extraire les données météorologiques du site Web du National Weather Service en recherchant des classes CSS spécifiques dans la page qui identifient les données que vous souhaitez. Heureusement, ce site a organisé les résultats météorologiques à l'aide de classes lorsque vous recherchez les prévisions locales dans votre région.
Le format du HTML qui nous intéresse dans ce cas est soit une "classe span" soit une "classe p" qui identifie les données spécifiques. Par exemple, illustré ci-dessous, vous pouvez voir que la classe «myforecast-current-lrg» identifie la dernière température enregistrée pour la région interrogée.
Ainsi, chaque fois que vous exécutez une requête sur le site, vous verrez une URL indiquant la longitude et la latitude de cet emplacement. Conservez une copie de cette URL, car vous l'utiliserez pour créer votre tableau de bord. Vous pouvez soit afficher le code source HTML directement, soit utiliser votre outils de développement de navigateur Résoudre les problèmes de site Web avec les outils de développement Chrome ou FirebugSi vous avez suivi mes tutoriels jQuery jusqu'à présent, vous avez peut-être déjà rencontré des problèmes de code et vous ne savez pas comment les résoudre. Face à un bout de code non fonctionnel, c'est très ... Lire la suite pour trouver les cours dont vous avez besoin.
Configuration des données de la source météo
Pour cela, vous allez créer une fiche technique pour chaque emplacement pour lequel vous souhaitez collecter des données. Saisissez les libellés de ces données dans la colonne de gauche et dans la colonne suivante, vous devrez saisir la formule ImportXML pour extraire ces données du site Web.
Pour la température, par exemple, les travaux suivants:
= importxml (B12; "// p [@ class = 'myforecast-current-lrg']"))
B12 contient l'URL après avoir effectué la requête de localisation. L'utilisation de «// p [@ class =» permet de configurer la requête Xpath pour extraire la «classe p» dans la page avec le nom spécifié. Cette requête renvoie la température sur la page.
Pour extraire l'humidité, la vitesse du vent et le reste des points de données, il fallait en fait extraire les éléments de la liste à l'intérieur d'une liste UL avec un nom de classe «current-conditions-detail». L'instruction ImportXML suivante accomplit cela:
= importxml (B12; «// ul [@ class =’ current-conditions-detail »] // li»)
Encore une fois, «ul» identifie l'élément de base, puis le nom de classe est spécifié entre crochets, comme indiqué. Ceci est suivi du "// li" indiquant que vous voulez extraire tous les éléments de la liste à l'intérieur de cette classe UL.
Cela remplit le reste des éléments de données dans la feuille source pour cet emplacement.
Vous devez également inclure l'URL dans ce cas, car la latitude et la longitude sont incluses dans le URL, et vous pouvez l'utiliser pour utiliser des cartes de feuille de calcul Google pour tracer des points de données sur une carte (illustré au dessous de).
Répétez le processus ci-dessus pour chaque emplacement pour lequel vous souhaitez extraire des données météorologiques. Exécutez la requête pour cet emplacement sur le site Web, copiez l'URL, créez une nouvelle feuille pour l'emplacement et remplissez-la avec les instructions ImportXML nécessaires pour supprimer les données dont vous avez besoin.
Création de la feuille de calcul du tableau de bord principal
Une fois que vous avez créé toutes vos feuilles de données de localisation, vous êtes prêt à créer la feuille de calcul principale des données pour votre tableau de bord. Il s'agit essentiellement de disposer les données sous forme de tableau afin qu'il soit plus facile de tracer des éléments comme les températures, l'humidité, la vitesse du vent, etc.
Créez une ligne d'en-tête pour toutes les données, puis mappez simplement chaque cellule aux emplacements de la feuille de données d'emplacement contenant ces données.
Une fois que vous avez terminé, toutes les données que vous avez supprimées du site Web pour chaque emplacement seront présentées dans ce tableau unique pour un examen (et une cartographie) faciles.
Certains ajustements sont nécessaires dans certains cas, car les données sont fournies sous forme de chaînes, y compris les unités. Il existe quelques astuces pour extraire uniquement les valeurs de données. La première consiste à supprimer les unités de fin à l'aide d'une formule de feuille de calcul comme celle-ci:
= milieu (C2,1, trouver ("F", C2) -2)
Cela trouve essentiellement l'emplacement de l'unité, puis extrait la valeur réelle jusqu'au début du texte de l'unité. Une fois que vous avez extrait le nombre uniquement, vous devez le convertir en une valeur réelle dans la feuille de calcul afin de pouvoir effectuer des calculs ou le représenter. Faire cela est simple avec juste une fonction de «valeur» comme indiqué ici.
Une fois que toutes vos valeurs ont été créées dans la feuille de calcul du tableau de bord principal, vous avez terminé de configurer vos données. Vous pouvez maintenant passer à la création des graphiques et des jauges qui constitueront votre tableau de bord météo graphique.
Création de votre tableau de bord météo
C'est la partie simple - il suffit de tracer l'emplacement avec toutes les données que vous souhaitez afficher. Vous pouvez faire des choses comme afficher un graphique à barres de tous les emplacements - dans mon cas, je peux voir en un coup d'œil l'endroit le plus chaud de l'état en utilisant ce type de graphique.
Vous pouvez créer des jauges de température, d'humidité ou de vitesse du vent, qui sont toujours amusantes à afficher sur un tableau de bord. Vous pouvez extraire les données de longitude et de latitude de l'URL à l'aide de la même commande «moyenne» que j'ai décrite ci-dessus, insérer ces emplacements dans la feuille de calcul principale (avec une virgule entre eux), puis utilisez cette colonne pour tracer les données sur un carte.
Ci-dessous, j'ai tracé les températures par coordonnées GPS sur le widget de cartographie disponible dans Google Spreadsheets. De plus grands cercles sur la carte indiquent les endroits avec les températures les plus élevées.
Comme vous pouvez probablement l'imaginer, vous pouvez rassembler des tableaux de bord vraiment cool vous montrant toutes sortes de des informations sur la météo dans votre État, votre pays ou la région dans laquelle vous avez collecté vos données. Vous pouvez utiliser certains des nombreux outils utiles Fonctions de feuille de calcul Google Réalisez des exploits incroyables avec ces fonctions de feuille de calcul Google utilesJ'ai honte d'admettre que je n'ai décidé que récemment de commencer à tester Google Spreadsheets, et ce que j'ai découvert, c'est que quel que soit l'attrait ou la puissance qu'Excel avait sur moi en raison de l'incroyable des choses... Lire la suite qui sont disponibles pour développer un tableau de bord vraiment cool.
Bien que cet article se concentre sur l'extraction des données des sites Web météorologiques, il s'agit également d'un exemple de la façon dont vous pouvez utiliser ImportXML pour importer des informations de vraiment tout sur le Web, et l'utilisation de Xpath vous donne beaucoup plus de flexibilité pour importer des informations très spécifiques à partir d'une page Web qu'ImportFeed ou ImportHTML ne fournissent tout simplement pas.
Pouvez-vous penser à des utilisations amusantes et créatives pour ImportXML et Google Spreadsheets? Partagez certaines de vos idées et nous pourrons peut-être essayer de compléter l'une de vos idées de projet dans un prochain article!
Ryan est titulaire d'un BSc en génie électrique. Il a travaillé 13 ans dans l'ingénierie d'automatisation, 5 ans dans l'informatique et est maintenant ingénieur d'applications. Ancien rédacteur en chef de MakeUseOf, il a pris la parole lors de conférences nationales sur la visualisation des données et a été présenté à la télévision et à la radio nationales.