Реклама

«Компьютер! Покажите мне все текущие погодные условия в пределах 300 миль от моего текущего местоположения »
«Да, капитан»
«Теперь покажите мне уровни влажности для этих мест, нанесенные на карту по долготе и широте»
«Да, капитан»

Хотите ли вы превратить свою учетную запись Google Drive в интеллектуальную погоду система анализа Станьте экспертом по анализу данных за одну ночь, используя инструменты отчетов Google SpreadsheetЗнаете ли вы, что одним из лучших инструментов для анализа данных на самом деле является Google Spreadsheet? Причина этого не только в том, что он может делать почти все, что вы могли бы хотеть ... Прочитайте больше , и доживете ли это фантазия Star Trek? Хорошо, возможно, вы не сможете превратить электронные таблицы Google в искусственно интеллектуальную компьютерную систему, которая будет реагировать на ваши голосовые команды, но в этом В статье я покажу вам, как вы можете импортировать данные о погоде из Интернета, и у вас будет собственная настраиваемая панель инструментов со всей информацией, которая важна для вы.

instagram viewer

Выполнение этой задачи может показаться сложным на первый взгляд, если вы не знакомы с использованием ImportXML или Xpath для очистка веб-страницы Как создать базовый веб-сканер для извлечения информации с веб-сайтаВсегда хотел получить информацию с веб-сайта? Вот как написать сканер для навигации по сайту и извлечения того, что вам нужно. Прочитайте больше , но я покажу вам несколько очень простых приемов, которые вы можете использовать, чтобы извлечь информацию о погоде, которую вы хотите, в частности, из США. Национальная служба погоды Веб-сайт. Если вы находитесь за пределами США, те же методы должны работать для вашей местной службы погоды, вы просто нужно определить структуру того, как выкладываются данные о погоде, и настроить запрос соответственно.

Это похоже на автоматизированные отчеты по электронным таблицам Как создать автоматический отчет электронной таблицы Google из данных Google Analytics Прочитайте больше Я описал это не так давно, но в этом случае он использует данные из Интернета, а не данные Google Analytics. Итак, если вы хотите настроить собственную автоматически обновляемую панель погоды в своей учетной записи Google Drive, начнем!

Поиск источника данных о погоде

В этом упражнении вы будете собирать данные о погоде с веб-сайта Национальной метеорологической службы, ища определенные классы CSS на странице, которые идентифицируют нужные вам данные. К счастью, этот сайт организовал результаты погоды с помощью классов при поиске местного прогноза в вашем регионе.

погода-dashboard1

Формат HTML, который нас интересует в этом случае, это либо «класс span», либо «класс p», который идентифицирует конкретные данные. Например, как показано ниже, вы можете видеть, что класс «myforecast-current-lrg» идентифицирует последнюю записанную температуру для запрашиваемой области.

погода-dashboard2

Поэтому каждый раз, когда вы запускаете запрос на сайте, вы видите URL, показывающий долготу и широту этого местоположения - сохраняйте копию этого URL, потому что вы будете использовать ее для создания своей панели мониторинга. Вы можете просмотреть исходный код HTML напрямую или использовать инструменты для разработчиков браузеров Выясните проблемы веб-сайта с помощью инструментов разработчика Chrome или FirebugЕсли вы уже читали мои руководства по jQuery, возможно, вы уже столкнулись с некоторыми проблемами в коде и не знаете, как их исправить. Когда мы сталкиваемся с нефункциональным фрагментом кода, это очень ... Прочитайте больше чтобы найти классы, которые вам нужны.

Настройка данных источника погоды

Это работает так: вы создаете таблицу данных для каждого местоположения, для которого вы хотите собирать данные. Введите метки для этих данных в левом столбце, а в следующем столбце вам потребуется ввести формулу ImportXML, чтобы получить эти данные с веб-сайта.

Для температуры, например, работает следующее:

= importxml (B12; «// р [@ класс =» myforecast тока-LRG»]»)

B12 содержит URL после выполнения запроса местоположения. Использование «// p [@ class =» - это то, как настроить запрос Xpath для извлечения «класса p» на странице с указанным именем. Этот запрос возвращает температуру на странице.

погода-dashboard4

Извлечение влажности, скорости ветра и остальных точек данных фактически требовало извлечения элементов списка внутри списка UL с именем класса «current-condition-detail». Следующая инструкция ImportXML выполняет это:

= importxml (B12; «// уль [@ CLASS =» ток-условия-детали»] // литий»)

Снова «ul» идентифицирует базовый элемент, а затем имя класса указывается в скобках, как показано. Далее следует «// li», указывающий, что вы хотите извлечь все элементы списка внутри этого класса UL.

Это заполняет остальные элементы данных в исходном листе для этого местоположения.

погода-dashboard7

Вы также должны включить URL в этом случае, потому что широта и долгота включены в URL, и вы можете использовать эту карту Google Spreadsheet для отображения точек данных на карте (показано ниже).

Повторите процедуру выше для каждого местоположения, для которого вы хотите получить данные о погоде. Запустите запрос для этого местоположения на веб-сайте, скопируйте URL-адрес и создайте новый лист для местоположения, а затем заполните его необходимыми операторами ImportXML, чтобы очистить необходимые данные.

Создание главной электронной таблицы

После того как вы создали все свои таблицы данных о местоположении, вы готовы создать основную электронную таблицу данных для своей панели мониторинга. Это в основном для того, чтобы расположить данные в табличном формате, чтобы было легче составлять диаграммы, такие как температура, влажность, скорость ветра и т. Д.

Создайте строку заголовка для всех данных, а затем просто сопоставьте каждую ячейку с местоположениями таблицы данных местоположений, в которых хранятся эти данные.

погода-dashboard8

Когда вы закончите, все данные, которые вы скопировали с веб-сайта для каждого местоположения, будут размещены в этой единой таблице для удобства просмотра (и составления диаграмм).

погода-dashboard10

В некоторых случаях требуется некоторая настройка, поскольку данные поступают в виде строк, включая единицы. Есть несколько приемов для извлечения только значений данных. Во-первых, нужно убрать конечные единицы, используя формулу электронной таблицы, например:

= середина (C2,1, найти («F», C2) -2)

Это в основном находит местоположение единицы, а затем извлекает фактическое значение до тех пор, пока не начнется текст единицы. После того, как вы извлекли только число, вам нужно будет преобразовать его в фактическое значение в электронной таблице, чтобы вы могли выполнять вычисления или составлять диаграммы. Сделать это просто с помощью функции «value», как показано здесь.

погода-dashboard11

После того, как вы создали все свои значения в главной электронной таблице, вы завершили настройку своих данных. Теперь вы можете приступить к созданию диаграмм и индикаторов, которые составят вашу графическую панель мониторинга погоды.

Создание вашей панели погоды

Это простая часть - просто наметьте местоположение вместе с любыми данными, которые вы хотите отобразить. Вы можете делать такие вещи, как показывать гистограмму всех мест - в моем случае я могу сразу увидеть самое теплое место в штате, используя этот вид диаграммы.

погода-dashboard12

Вы можете создавать датчики температуры, влажности или скорости ветра, которые всегда интересно отображать на приборной панели. Вы можете извлечь данные о долготе и широте из URL, используя ту же команду «mid», которую я описал выше, вставьте эти места в основной электронной таблице (с запятой между ними), а затем использовать этот столбец, чтобы наметить данные на карта.

Ниже я составил график температуры по координатам GPS в виджете картографирования, доступном в таблицах Google. Большие круги на карте обозначают места с более высокими температурами.

погода-dashboard13
Как вы можете себе представить, вы можете собрать несколько действительно крутых панелей инструментов, показывающих вам все виды информацию о погоде в вашем штате, стране или регионе, из которого вы собрали данные. Вы можете использовать некоторые из многих полезных Функции электронной таблицы Google Выполняйте потрясающие умения с помощью этих полезных функций Google SpreadsheetМне стыдно признаться, что я только недавно решил начать экспериментировать с таблицами Google, и то, что я обнаружил, это то, что вне зависимости от того, какой удивительный или властный Excel имел на меня вещи... Прочитайте больше которые доступны для разработки действительно крутой приборной панели.

Хотя эта статья посвящена анализу данных с погодных веб-сайтов, она также является примером того, как вы можете использовать ImportXML для импорта информации из реальных Любые веб-сайт, и использование Xpath дает вам гораздо больше гибкости для импорта очень специфической информации с веб-страницы, которую ImportFeed или ImportHTML просто не предоставляют.

Можете ли вы вспомнить некоторые забавные и креативные варианты использования ImportXML и Google Spreadsheets? Поделитесь некоторыми своими идеями, и, возможно, мы сможем попытаться завершить одну из ваших идей проекта в будущей статье!

Райан имеет степень бакалавра в области электротехники. Он 13 лет проработал в области автоматизации, 5 лет - в сфере информационных технологий, а сейчас является инженером приложений. Бывший управляющий редактор MakeUseOf, он выступал на национальных конференциях по визуализации данных и был представлен на национальном телевидении и радио.