Pull to refresh

Создаем HeatMap с помощью Google Spreadsheets

Reading time 2 min
Views 2.8K


Новый гаджет в SpreadSheets позволяет создавать heatmap, то есть карту, показывающую, сколько пользователей в разных странах, например, ищут в гугле определенные слова. GoogleShare оценивает, как соответствуют друг другу два слова. Например, вы взяли количество индексированных страниц по запросу «Beatles» и «Beatles John Lennon», нашли их отношение и получили GoogleShare.


Для того, чтобы пользоваться GoogleShare, необходимо иметь список стран, который должен выглядеть примерно так.
Country name Country code Googleshare PageCount for country name PageCount for country name + keyword
China CN      
India IN      
USA US      
etc. ... etc. ...      


Собираем информацию

Попробуем собрать информацию о запросе «habrahabr». Для этого нам надо как-то получить количество страниц. В этом нам поможет функция importXml, имеющая два входных параметра: URL и XPath (язык запроса для XML-документов)

То есть, для того, чтобы показать, сколько страниц имеется для запроса habrahabr, впишем в ячейку следующее:
=importXml("http://www.google.com/search?hl=en&q=habrahabr", "//td/font/b[3]")

Добавляем мобильность

Нам необходимо собрать информацию о том, сколько проиндексированных страниц имеется по запросу Russia, Britain и т.д. Вбиваем в колонку «PageCount for country name» следующий код, который берет информацию из ячейки и добавляет её к запросу:
=importXml("http://www.google.com/search?hl=en&q=" & A2, "//td/font/b[3]")

Больше мобильности — лучше результаты

Для того, чтобы не писать постоянно q=habrahabr и быть более универсальным, поместим наш запрос в какую-либо ячейку. Затем перейдем во вкладку Formulas, и назначим переменную для нашей ячейки (Formulas -> Range Names -> Define New).

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

=importXml("http://www.google.com/search?hl=en&q=" & A2 & "+" & keyword, "//td/font/b[3]")
Растягиваем содержимое этой формулы на весь столбец, чтобы получить сведения для других стран

Добавляем карту

Для добавления карты необходимо найти GoogleShare. Выделяем первую ячейку в соответствующем столбце и вставляем в неё формулу:
=E2 / D2 * 100
Которая подсчитает отношение общего числа страниц для страны и числа страниц для запроса, например, habrahabr+Russia. Применяем формулу для каждой страны из списка и получаем необходимый нам индекс.

Теперь все готово для того, чтобы добавить гаджет. Выделяем ячейки, содержащие краткий код страны и столбец GoogleShare. Выбираем Insert -> Gadget на панели, затем в открывшемся диалоге выбираем Maps -> HeatMap. Карта готова! :) Теперь сидим и думаем, зачем нам все это надо.

PS: Этот текст основан на статье Creating a Googleshare Map With Google Spreadsheets
Tags:
Hubs:
+31
Comments 18
Comments Comments 18

Articles