Google Таблицы удобны тем, что данные сразу доступны коллегам, их можно фильтровать, строить сводные таблицы и подключать к отчётам. Вопрос в том, как туда попасть с сайта. Рассмотрим три способа — от полностью бесплатного до автоматического — и честно опишем, где каждый ломается.
Способ 1. Функции IMPORTHTML и IMPORTXML
В Google Таблицах есть встроенные функции, которые сами загружают страницу и вытаскивают из неё данные. Ничего устанавливать не нужно.
IMPORTHTML: таблицы и списки
=IMPORTHTML("https://example.com/prices"; "table"; 1)
Аргументы: адрес страницы, тип ("table" для таблицы или "list" для маркированного или нумерованного списка) и номер таблицы или списка на странице, начиная с 1. Таблицы и списки нумеруются отдельно. Если таблиц несколько, подбирайте номер: 1, 2, 3…
В русской локали аргументы разделяются точкой с запятой, в английской — запятой.
IMPORTXML: произвольные элементы по XPath
=IMPORTXML("https://example.com/catalog"; "//div[@class='product']//h3")
Второй аргумент — запрос XPath; третий, необязательный, — локаль для разбора данных. Так можно вытащить, например, все заголовки карточек. Для цены нужен второй запрос в соседнем столбце:
=IMPORTXML("https://example.com/catalog"; "//div[@class='product']//span[@class='price']")
Чтобы найти XPath, откройте инструменты разработчика в браузере (F12), кликните по элементу правой кнопкой и выберите «Copy → Copy XPath». Скопированный путь обычно указывает на один конкретный элемент — его нужно обобщить, убрав номера вроде [3].
Ограничения
Функции хороши, но у них есть пределы, и о части из них прямо сказано в справке Google:
- Обновление. Функции импорта сами проверяют обновления раз в час, пока документ открыт. Перезагрузка вкладки обновление не запускает; чтобы обновить вручную, формулу нужно удалить и вставить заново.
- Квоты. При большом числе запросов функция может долго показывать «Загрузка…» или ошибку. Числового порога Google не называет; квота считается по всем документам владельца.
- Нельзя сочетать с
NOW(),RAND()и похожими функциями — чтобы обойти кеш через «случайный» параметр в URL, не получится. - Слишком большой результат. IMPORTXML может вернуть ошибку «Result too large» — запрос нужно сузить.
- Страница загружается серверами Google, а не вашим браузером. Поэтому данные, которые видны только после входа в аккаунт, недоступны. На практике то, что сайт дорисовывает скриптами после загрузки, тоже обычно не попадает в результат: функции видят исходный HTML.
- Пагинация не поддерживается. Для каждой страницы нужна отдельная формула. Для
?page=1…?page=20это ещё терпимо, для бесконечной прокрутки — невозможно. - Хрупкость. Сайт поменял классы в вёрстке — XPath перестал находить элементы.
Итог: IMPORTHTML отлично подходит для публичных HTML-таблиц вроде курсов, расписаний, справочников. IMPORTXML — для простых страниц, где вы готовы поддерживать XPath. Для каталогов из сотен карточек с подгрузкой — нужен другой способ.
Способ 2. Через буфер обмена
Самый быстрый ручной путь — собрать данные расширением и вставить их в таблицу.
- Откройте страницу со списком и нажмите на значок Grabsavo.
- Расширение найдёт таблицу или повторяющиеся блоки и подсветит строки бирюзовыми рамками с номерами. Если выбран не тот список — переключите кандидата.
- Проверьте колонки в превью: переименуйте, поменяйте типы, добавьте недостающее поле кликом по элементу на странице.
- Настройте пагинацию, если страниц несколько.
- После сбора выберите экспорт в буфер обмена.
- В Google Таблицах кликните по ячейке
A1и нажмитеCtrl+V(Cmd+Vна Mac).
Данные встанут по столбцам, с заголовками. Этот способ доступен в бесплатной версии — до 10 страниц и 500 строк за запуск.
Совет: если в таблице уже есть данные и вы хотите добавить новые снизу, вставляйте в первую пустую строку, а заголовки потом удалите — или сразу удалите дубликаты по ключевой колонке в Grabsavo перед копированием.
Способ 3. Прямой экспорт в Google Sheets
Если данные нужно выгружать регулярно, копирование надоедает. Grabsavo умеет экспортировать результат прямо в Google Sheets — без промежуточного файла.
Когда это особенно удобно:
- Шаблон + расписание (Pro). Вы сохраняете настройку для сайта как шаблон и включаете запуск по расписанию: раз в час, 6, 12, 24 часа или неделю. Расписание работает, пока открыт браузер. После каждого запуска Grabsavo сравнивает результат с предыдущим и отмечает новые, изменившиеся и исчезнувшие строки.
- Командная работа. Таблица уже расшарена коллегам, им не нужно ждать, пока вы пришлёте файл.
Как устроить таблицу для регулярной выгрузки — разобрано в статье «Как мониторить цены конкурентов в таблице».
Что выбрать
| Задача | Способ |
|---|---|
| Публичная HTML-таблица, обновление раз в час устраивает | IMPORTHTML |
| Простая страница, несколько полей, готовы поддерживать XPath | IMPORTXML |
| Каталог из карточек, разовая выгрузка | Grabsavo + буфер обмена |
| Данные за входом в аккаунт (ваш собственный доступ) | Grabsavo — работает в вашей сессии |
| Регулярная выгрузка с отслеживанием изменений | Grabsavo: шаблон + расписание + экспорт в Google Sheets |
Подготовка данных до вставки
Google Таблицы распознают числа по настройкам локали таблицы. «12 990 ₽» почти наверняка станет текстом, и SUM его не посчитает. Есть два пути:
- почистить данные в Grabsavo до экспорта: шаг «Цену — в число и валюту» разделит значение на число
12990и валюту; - почистить в таблице формулой:
=VALUE(REGEXREPLACE(B2; "[^0-9,]"; ""))
Формула удаляет всё, кроме цифр и запятой. Если в ценах встречается десятичная точка, а локаль таблицы русская, точку нужно заменить на запятую. Подробнее — в статье «Очистка данных после парсинга: 10 приёмов».
Частые сюрпризы при вставке
Таблицы стараются «помочь» и иногда портят данные. Что проверить:
- Ведущие нули. Артикул
00123превращается в число123. Перед вставкой задайте колонке формат «Обычный текст» (Формат → Числа → Обычный текст). - Длинные числа. Штрихкоды и номера из 13+ цифр могут отобразиться в экспоненциальной записи. Решение то же — текстовый формат колонки.
- Даты.
03.04может стать 3 апреля или 4 марта — в зависимости от локали таблицы. Надёжнее приводить даты к видуYYYY-MM-DDещё до экспорта. - Ссылки. Если колонка со ссылками нужна для последующего захода в карточки или как ключ, не превращайте её в гиперссылки с другим текстом — храните полный адрес.
О приватности
Сбор в Grabsavo идёт в вашем браузере, с вашей сессией. Данные страниц не отправляются на серверы Grabsavo — исключение только опциональный ИИ-помощник, которому передаётся очищенный образец из 2–3 элементов списка. Если вы собираете данные, где встречаются имена или контакты людей, прочитайте статью «Парсинг и закон».
Попробуйте
Потренироваться в сборе и выгрузке можно на демо-каталоге со всеми видами пагинации. Установить расширение — /install.
Источники
- Справка Google Docs: Learn more about Import functions
- Справка Google Docs: IMPORTHTML и IMPORTXML