Как извлечь любую информацию с сайта с помощью Гугл Таблиц

Введение

Я столкнулся с этой задачей в следующих обстоятельствах. Нужно было в рекламе проставить актуальные цены на 566 товаров. Цену нужно было взять с сайта, все страницы которого идентичны друг другу. Делать это вручную очень утомительно и времязатратно. И было решено автоматизировать эту задачу с помощью функции IMPORTXML в Google Spreadsheets.

Сейчас пошагово покажу весь процесс на примере своего сайта.

Какие исходные данные нужны

  1. Ссылки на страницы сайтов, с которых нужно достать информацию
  2. Минимальные знания в HTML разметке и в составлении xpath запросов
  3. Лень делать вручную, жгучее желание автоматизировать рутину

Порядок действий

  1. Создаем пустую гугл таблицу Google Spreadsheets
  2. Вставляем в неё список всех ссылок сайта, откуда будем заимствовать контент. В этом примере буду использовать свой собственный сайт.

    Как извлечь любую информацию с сайта с помощью Гугл Таблиц
    Вставляем ссылки в гугл таблицу
  3. Открываем любую из ссылок. На примере этой статьи
  4. Нажимаем F12, открывается отладчик браузера

    Отладчик браузера в Google Chrome
    Открываем отладчик браузера
  5. Находим в нем вкладку Elements, которая покажет исходный html-код страницы

    Открываем вкладку Elements в отладчике браузера
    Открываем вкладку Elements в отладчике браузера
  6. Нажимаем на иконку со стрелочкой

    Кликаем на маленькую синюю стрелку для интерактивного выбора элементов на странице
    Кликаем на маленькую синюю стрелку для интерактивного выбора элементов на странице
  7. Кликаем на тот элемент страницы, текстовое содержимое хотим вытащить. Во вкладке Console браузера появится HTML тег, который содержит нужный нам текст. У многих html тегов есть атрибут class или id. Именно они нам и нужны. С помощью этих атрибутов мы будем искать то, что нужно извлекать.
    Выбираем на странице нужный элемент, кликаем на него и смотрим в консоль браузера
    Выбираем на странице нужный элемент, кликаем на него и смотрим в консоль браузера

    В моем случае это тег <span> с атрибутом itemprop=»author».

  8. Найдя нужный класс, вбиваем в соседнюю ячейку гугл таблицы следующую формулу
    =IMPORTXML(A3; "//span[@itemprop='author']")
    Здесь A3 — это ячейка, содержащая ссылку. Далее в кавычках указан xpath запрос по тегу span и его атрибуту itemprop со значением  ‘author’. Для каждого сайта будут свои значения. Их нужно найти в консоли браузера.  Если вы не знакомы с xpath и не знаете, как обратиться к нужному HTML элементу, рекомендую вот эту статью с примерами.

    Вставляем формулу рядом со ссылками
    Вставляем формулу рядом со ссылками
  9. Жмем Enter, проверяем, корректно ли формула собирает информацию
  10. Протягиваем до конца диапазона

Прикладываю ссылку на получившуюся Гугл таблицу
https://docs.google.com/spreadsheets/d/1gYozQKpA1beaIN5kGcgNc-QEST5i9orJTHdS1TJnqAQ/edit?usp=sharing

Фото аватара
Наиль Галимов

Автор блога

Оцените автора
( 3 оценки, среднее 5 из 5 )
Добавить комментарий