Извлечение данных из HTML-таблицы

Журналистика данных Инструменты

Инструмент: Google Таблицы

Требуемые навыки: Базовые представления о работе с Google Таблицами

В основе этой инструкции лежит мануал Тони Хэрста (Tony Hirst), опубликованный на сайте School of Data под лицензией Creative Commons BY-SA. В него внесены некоторые несущественные изменения, в частности в связи с тем, что у Гугл-таблиц изменился интерфейс.

Данные в HTML-таблице – это, собственно, данные, представленные в виде таблицы на сайте, что мы можем регулярно наблюдать а Сети. Бывают и другие способы размещать данные на сайте (например, библиотеки Javascript), но HTML-таблицы – это очень распространенный случай. Взять хотя бы Википедию.

Формула, с помощью которой Google Таблицы извлекают данные, выглядит так:

=importHTML("","table",N)

  • Между первыми кавычками ставится адрес веб-страницы, на которой таблица расположена.
  • Слово “table” остается неизменным (оно, собственно, указывает, что извлекать надо именно таблицу).
  • N надо заменить на порядковый номер таблицы на странице, считая сверху вниз.
  • Пробелов во всём этом выражении быть не должно.

Возьмем, к примеру, таблицу из Википедии с данными по наиболее густонаселенным районам Великобритании.

wiki_table

Копируем адрес страницы, создаем Гугл-таблицу и вводим в ячейку формулу.

import

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

Вся формула для нашего случая выглядит так:

formula

Нажимаем Enter и ждем, пока Google таблица импортирует данные.

imported_ok

Готово.

Примечание:

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

Еще одно примечание:

Гугл-таблицы в принципе умеют распознавать таблицу и при простом механическом копировании.

copy

paste

В результате получаем нечто похожее, но слегка перекошенное:

imported_badly

Иными словами, в ряде случаев применимо, но надо соблюдать осторожность.