Как спарсить данные с сайта в Excel без программиста
Штатная кнопка в Excel, формулы в Google Таблицах и парсер, который нейросеть напишет по твоему описанию. И честно — где каждый способ ломается.
Смотри. Тебе нужен прайс конкурента — восемьсот позиций. Или каталог поставщика, чтобы сравнить цены. Или список компаний с отраслевого портала.
Открываешь страницу, выделяешь, копируешь, вставляешь в Excel — и получаешь кашу: колонки съехали, цены слиплись с валютой, а это была первая страница из сорока. К третьей странице ты уже прикидываешь, где найти программиста и сколько он попросит.
Не надо программиста. Есть три способа, и два из них ты сделаешь за пять минут прямо сейчас. Третий чуть длиннее, но берёт почти любой сайт. Разберём все три и честно про каждый: где он работает, а где разваливается.
Три способа спарсить сайт — и когда какой
| Способ | Что берёт | Сколько времени | Где ломается |
|---|---|---|---|
| «Из Интернета» в Excel | готовые таблицы со страницы | 5 минут, без кода | данные не в теге таблицы, рисуются скриптами |
IMPORTHTML / IMPORTXML в Google Таблицах | таблицы, списки и любой кусок кода | 10 минут, одна формула | то же самое плюс закрытые разделы |
| Свой парсер по описанию словами | всё, что ты видишь в браузере | 10–30 минут вместе с нейросетью | капча, авторизация — но чинится |
Правило простое: начинай сверху. Если задача решается кнопкой — решай кнопкой, не выпендривайся. К третьему способу переходи, когда первые два вернули пустоту.
Способ 1: кнопка «Из Интернета» в Excel
Она есть в Excel давно, и половина людей о ней не знает.
Вкладка «Данные» → «Из Интернета». Вставляешь адрес страницы, ждёшь пару секунд — Excel показывает список всех таблиц, которые нашёл на странице, с превью. Тыкаешь нужную, жмёшь «Загрузить». Всё, данные на листе.
Приятный бонус: связь со страницей сохраняется. Завтра цены поменялись — жмёшь «Обновить всё», и таблица перезапрашивает сайт сама. Для отслеживания прайса раз в неделю этого хватает с головой.
Что учесть. На маке эта кнопка бывает урезана или её нет вовсе — проверь у себя, версии сильно разные. И главное ограничение: Excel ищет именно таблицы. Если на странице карточки товаров, плитка или список — в окне выбора будет пусто, и это не твоя ошибка.
Способ 2: IMPORTHTML и IMPORTXML в Google Таблицах
Тот же фокус, но гибче и прямо в ячейке.
=IMPORTHTML("https://сайт.ру/страница"; "table"; 1)
Три аргумента: адрес, что берём — "table" или "list", и номер по счёту. Первая таблица на странице — единица, вторая — двойка. Не угадал с номером — просто перебери, это секунда.
Когда данные не таблица и не список, идёт тяжёлая артиллерия:
=IMPORTXML("https://сайт.ру/страница"; "//div[@class='price']")
Вторым аргументом — адрес нужного куска внутри кода страницы. Выглядит страшно, но писать его руками не надо: скопируй кусок кода страницы, отдай нейросети и скажи, что именно хочешь достать — она соберёт выражение за тебя. Это, кстати, ровно та работа, которую нейросеть для Excel делает лучше всего: перевести «мне нужны цены вот отсюда» в формулу.
Ещё мелочь, на которой спотыкаются: в русской локали аргументы разделяются точкой с запятой, в английской — запятой. Скопировал формулу из интернета, а она ругается — начни с этого.
Плюс способа — таблица живая, Google сам перезапрашивает страницу. Минус тот же самый: сайт переверстали, и вместо цен у тебя #Н/Д по всему столбцу.
Способ 3: описываешь задачу словами — код пишет нейросеть
Вот здесь начинается интересное, и именно ради этого раздела написана статья.
Ещё пару лет назад «написать парсер» означало найти человека, объяснить ему задачу, заплатить и ждать. Сейчас ты описываешь задачу текстом — и получаешь рабочий скрипт минут за десять. Не «примерно похожий», а работающий: он сходит на сайт, соберёт данные, положит в файл.
Формулировать надо конкретно. Плохой запрос — «спарси мне этот сайт». Хороший выглядит так:
Нужен скрипт: собрать с сайта https://пример.ру/catalog список товаров в таблицу. По каждому товару: название, цена, наличие, ссылка на карточку. В каталоге 40 страниц, переход по кнопке «Дальше». Результат — CSV с заголовками, кодировка UTF-8, чтобы открылся в Excel. Между запросами пауза 1–2 секунды. Писать в файл по ходу, а не в самом конце. Если страница не открылась — записать её адрес отдельно и идти дальше.
Разберу, зачем каждая строка, — это и есть весь навык.
Адрес. Не «сайт такой-то», а конкретная страница, с которой начинать. Лучше сразу дай пример карточки товара.
Поля. Заранее реши, какие столбцы хочешь в таблице. Не решишь — получишь гору текста, из которой всё равно придётся выковыривать нужное.
Пагинация. Скажи прямо, сколько страниц и как они листаются: номерами, кнопкой «Показать ещё» или бесконечной прокруткой. Это единственное место, где парсеры чаще всего молча собирают одну страницу вместо сорока.
Формат результата. CSV открывается в Excel, но в русской локали он иногда сваливает всё в один столбец — Excel ждёт точку с запятой, а скрипт пишет запятые. Два лечения: открывать через «Данные» → «Из текста/CSV» и там выбрать разделитель, либо сразу попросить .xlsx.
Пауза. Одна-две секунды между запросами. Без неё скрипт долбит чужой сервер в полную силу, и его либо забанят, либо ты положишь сайт. Об этом ниже.
Запись по ходу. Чтобы на трёхсотой странице обрыв не съел всё собранное.
Дальше остаётся запустить. Если сама механика — где писать этот текст, чем запускать скрипт, что делать с ошибками — для тебя пока тёмный лес, посмотри разбор про нейросеть, которая пишет код: там как раз с нуля.
Как проверить, что парсер не врёт
Скрипт отработал, файл появился. Не радуйся раньше времени — проверь. Это та часть работы, которую нейросеть за тебя не сделает.
Сверь пять строк глазами. Открой таблицу, возьми пять случайных строк и найди эти товары на сайте. Цены совпали? Названия не съехали на строку?
Посчитай. Сорок страниц по двадцать четыре товара — жди примерно тысячу строк. Получил двадцать четыре — пагинация не сработала, собралась одна страница. Получил три тысячи — товары задвоились, скрипт ходит по кругу.
Посмотри на пустые столбцы. Названия есть, цены пустые — верный признак, что цену сайт подгружает скриптом отдельно. Скажи об этом нейросети прямым текстом, она поменяет подход.
Не сошлось — не переписывай сам. Опиши, что получил и что ожидал: «собрал 24 строки вместо 960, похоже, берёт только первую страницу». Этого достаточно, чтобы получить исправленную версию.
Где всё ломается
Четыре стены, в которые упираются все. Лучше узнать о них сейчас.
Сайт рисует данные скриптами. Самая частая история. Проверка на тридцать секунд: открой исходный код страницы (Ctrl+U) и поищи в нём цену, которую видишь глазами. Не нашлась — формулами её не взять никогда. Зато часто сайт сам дёргает свои данные отдельным запросом и получает их аккуратным списком — забрать их оттуда даже проще, чем разбирать вёрстку. Нейросеть умеет такое искать, если попросить.
Капча. Выскочила — значит, сайт считает тебя роботом и не рад. Сбавь темп, увеличь паузы. Сервисы разгадывания капчи существуют, но это уже обход защиты, а не сбор открытых данных, и ответственность там другая.
Пагинация. Разбирали выше. Смотри на адресную строку: появился ?page=2 — задача на одну строчку. Кнопка «Показать ещё» или бесконечная лента — нужен настоящий браузер, который прокрутит и нажмёт. Дольше, но решаемо.
Лимиты частоты. Сайт отвечает «слишком много запросов» или перестаёт отвечать вообще. Не сотня потоков, а один и с паузой. Собирать час вместо трёх минут — нормальная цена за то, чтобы вообще собрать.
Что парсить не надо
Раз уж показываю, как собирать данные, скажу и про границы. Коротко и по делу.
Данные людей — не бери. Имена, телефоны, почты, адреса. То, что они лежат открыто на сайте объявлений, не делает их твоими: это персональные данные, и собирать их в базу для обзвона — совсем другая история, чем сравнить цены на дрели.
Загляни в пользовательское соглашение сайта. У многих автоматический сбор запрещён прямо в тексте — маркетплейсы, агрегаторы, соцсети. Это две минуты чтения, и они избавляют от неприятных разговоров. Заодно посмотри /robots.txt — это не закон, но прямая просьба владельца, чего не трогать.
Не долби чужой сервер. Сотни запросов в секунду — это уже нагрузка, от которой у людей падает сайт. Пауза между запросами — не формальность, а элементарная вежливость.
Я не юрист, и в этом абзаце нет ничего похожего на юридическую консультацию. Если собираешь много, регулярно и ради денег — потрать час на консультацию с человеком, который в этом разбирается.
Простое правило на каждый день: публичные цены и характеристики для своего анализа — нормально. База контактов для холодной рассылки — уже нет.
Начни с малого. Возьми одну страницу, где есть нужная таблица, и вытащи её через «Из Интернета» — пять минут, и первый результат уже в Excel. Не получилось, страница оказалась сложной — вот тогда описывай задачу словами и собирай себе парсер. Кстати, если данные нужны не с сайта, а из Телеграма, там своя механика: выгрузка постов канала в Excel.
Погнали, попробуй прямо сейчас.