Как выгрузить отзывы с Яндекс Карт в таблицу Excel
Свои отзывы забираешь из кабинета организации, чужие — парсером, который напишет нейросеть. И что с этой таблицей делать дальше, чтобы был толк.
Смотри. У тебя кофейня, салон или клиника, на карточке в Яндекс Картах висит под две сотни отзывов, общая оценка — 4,3. Вопрос простой: из-за чего именно 4,3?
Глазами это не читается. Пролистал два десятка сверху — «вроде нормально, кто-то бухтит». А разложи всё по полочкам — окажется, что сорок человек написали про ожидание, двенадцать про хамство на ресепшене, а пятеро вообще перепутали тебя с соседями. Это уже не «кто-то бухтит». Это два конкретных места, которые чинятся за неделю.
Чтобы это увидеть, отзывы надо вынуть с карты и сложить в таблицу. Разберём по порядку: как их достать (способа два, и они очень разные), какие столбцы нужны и что с таблицей потом делать. Потому что файл в папке «Разобрать» денег не приносит.
Зачем вообще складывать отзывы в таблицу
Четыре вещи, и все четыре про деньги, а не про красоту.
Посчитать, о чём жалуются. Не «есть негатив», а «на ожидание — 40 раз, на хамство — 12». Это разница между «надо что-то делать» и планом на понедельник.
Увидеть динамику. Дата отдельным столбцом — и видно, что до марта было 4,7, а после смены управляющего стало 4,1. В ленте отзывов такое не разглядишь.
Сравнить с конкурентом. Собираешь его карточку теми же полями и смотришь, за что хвалят его и молчат про тебя.
Найти неотвеченное. Столбец «есть ответ владельца», фильтр — и вот список, где ты промолчал. Читают-то не автора, читают тебя.
Свои отзывы и чужие — это два разных дела
Тут развилка, и от неё зависит всё остальное.
Отзывы на твою организацию. Карточка подтверждена и есть доступ в кабинет организации — иди туда первым делом. Отзывы там уже лежат аккуратно: дата, оценка, текст, твой ответ. Никаких скриптов и серых зон, это твои данные о твоём бизнесе.
Есть ли в кабинете прямая кнопка «скачать файлом» — проверь у себя. Интерфейсы обновляются, у разных аккаунтов набор возможностей разный, и я не хочу называть тебе кнопку, которой у тебя не окажется. Нет кнопки — не беда: две сотни отзывов копируются руками за полтора часа под сериал. Звучит тупо, но это честные полтора часа против вечера борьбы с капчей.
Отзывы конкурента. Кабинета у тебя нет и не будет, остаётся публичная страница карточки. И тут простые способы отваливаются: кнопка «Из Интернета» в Excel и формулы в Google Таблицах её не возьмут. Причина техническая — страница рисуется скриптами уже в браузере, а отзывы догружаются порциями по мере прокрутки, в исходном коде их просто нет. Почему одни сайты берутся формулой, а другие нет, разобрано отдельно: спарсить данные с сайта в Excel.
Значит, нужен скрипт, который открывает страницу как настоящий браузер, прокручивает список до конца и забирает то, что подгрузилось. Заказывать его не надо — описываешь задачу словами, код пишет нейросеть.
Правило простое: можешь взять из кабинета — бери из кабинета. Парсер — это когда доступа нет.
Какие столбцы нужны в таблице
Реши это до того, как запускать сбор. Иначе получишь простыню текста, из которой всё равно придётся выковыривать нужное.
| Столбец | Зачем он |
|---|---|
| Дата | динамика по месяцам, «до и после» |
| Оценка | средняя и доля единиц-двоек |
| Текст отзыва | главное, ради него всё |
| Ответ владельца | видно, где промолчали |
| Филиал или адрес | если точек несколько |
| Ссылка на отзыв | чтобы вернуться и ответить |
А теперь про то, чего в таблице быть не должно. Имена авторов, ссылки на профили и фото не тащи. Для аналитики они не нужны совсем: тебе важно, что написали, а не кто. Зато это персональные данные людей, и как только они у тебя в файле — у тебя появляются обязанности, которых ты не просил. Не собирать их — самое простое решение из возможных.
Как описать задачу нейросети, чтобы получить рабочий скрипт
Плохая формулировка — «спарси мне отзывы с Яндекс Карт». Хорошая выглядит примерно так:
Нужен скрипт: собрать отзывы с карточки организации на Яндекс Картах. Ссылка на карточку: <вставь свою>. Поля по каждому отзыву: дата, оценка, текст, есть ли ответ организации. Имена авторов не собирать. Список отзывов подгружается при прокрутке — нужно долистать до конца, а не брать первую порцию. Результат — файл xlsx с заголовками столбцов. Между действиями пауза 2-3 секунды, работать в один поток. Писать в файл по ходу, а не в самом конце. Если страница перестала отвечать — остановиться и сказать, сколько собрано.
Каждая строка тут не для красоты. Прокрутка — место, где парсеры молча ломаются чаще всего: не скажешь про неё, получишь двадцать отзывов вместо двухсот и не сразу это заметишь. Пауза и один поток — чтобы не долбить чужой сервер в полную силу; иначе либо тебя блокируют, либо ты создаёшь людям проблемы. Запись по ходу — чтобы обрыв на середине не съел собранное. «Сказать, сколько собрано» — скрипт, который молча падает, хуже того, который честно говорит «взял 60 из 184».
Если сама механика пока тёмный лес — где это писать, чем запускать, что делать с красными буквами в ответ — начни отсюда: нейросеть, которая пишет код. Там с нуля.
Что делать с готовой таблицей: разбор отзывов нейросетью
Ради этого всё и затевалось. Таблица сама по себе — просто много букв в клеточках.
Шаг первый: категории придумывает не человек. Соблазн велик — написать список тем из головы. Не надо. Дай нейросети сотню-другую отзывов и попроси:
Вот отзывы клиентов. Не делай выводов. Выпиши 10-12 тем, которые повторяются чаще всего. Называй их словами самих клиентов, не общими словами вроде «сервис». Рядом с каждой темой дай две цитаты-примера.
Получишь честную картину: «долго ждали заказ», «нахамили на кассе», «дорого за такую порцию», «не было парковки». Своя голова так не соберёт — она помнит последний скандал, а не общую массу.
Шаг второй: разметка. Прогоняешь весь файл партиями по 30–50 отзывов: каждому проставить тему (можно несколько) и тональность. Целиком файл не суй — длинные куски нейросеть читает по диагонали и ленится к концу списка.
Шаг третий: сводная. По каждой теме две цифры: сколько раз встретилась и какая средняя оценка у отзывов, где она упомянута. И вот тут главный приём: чинить первым надо не то, о чём пишут чаще всего, а то, что сильнее роняет оценку. «Долго ждали» может встречаться сто раз при средней 4,2 — люди ворчат, но возвращаются. А «нахамили» — двенадцать раз при средней 1,3, и каждый такой не вернётся никогда и уведёт двоих. Разница видна только в таблице. Считать руками не обязательно, сводную и формулы попроси у той же нейросети — нейросеть для Excel как раз про это.
И проверь глазами. Возьми двадцать размеченных строк наугад: та ли тема, та ли тональность. Нейросеть ошибается уверенно и с ровным лицом, особенно на сарказме — «ну спасибо, обслужили по высшему разряду» легко уезжает в похвалу. Десять минут проверки спасают от решений по кривым цифрам.
Конкурента размечай тем же списком тем. Тогда видно, где вы расходитесь: у него хвалят скорость, а у тебя это первая жалоба — вот за чем люди уходят.
Где всё это ломается
Честно про грабли, чтобы ты не решил, что дело в твоих руках.
Вёрстка меняется. Работало в марте, в июне возвращает пустоту. Нормальная жизнь любого парсера. Лечится тем же способом, каким писался: сказать нейросети, что перестало работать.
Собралась только первая порция. Классика бесконечной прокрутки. Сверь число строк в файле с числом отзывов на карточке — расхождение видно сразу.
Площадка считает тебя роботом. Капча, страница перестала отвечать, запросы уходят в никуда. У больших площадок есть защита от автоматических запросов, и это их право. Разумное поведение одно — сбавить темп: паузы побольше, один поток, не гнать. Обходить защиту специально — другая история и другая ответственность.
Числа не сошлись с кабинетом. Если внутри отзывов больше, чем видно публично, не ищи ошибку в скрипте первым делом: площадка сама решает, что показывать снаружи. Проверь на паре конкретных отзывов, прежде чем чинить то, что не сломано.
Отзывов мало для выводов. Тридцать отзывов — это не статистика, а тридцать мнений. Посчитать можно, перестраивать бизнес по трём совпадениям — нет.
Что собирать не стоит
Раз показываю, как забирать данные, скажу и про границы. Коротко.
Имена, фото и ссылки на профили авторов. Персональные данные живых людей. Открытость на карте не делает их твоими, а для частотного анализа они не нужны вообще: важно «о чём написали», а не «кто написал».
Массовый автоматический сбор чужой площадки. У Яндекс Карт, как у любого крупного сервиса, есть пользовательское соглашение, и автоматический сбор там обычно ограничен. Открой и прочитай — десять минут, которые избавляют от неприятных разговоров.
Нагрузка. Сотни запросов в секунду — не сбор данных, а помеха чужой работе. Пауза между запросами не формальность.
Я не юрист, и это не юридическая консультация. Разовый разбор своей и соседней карточки ради понимания рынка — одно дело. Регулярный промышленный сбор с чужих площадок, тем более на продажу, — совсем другое, и там стоит поговорить со специалистом до, а не после.
Правило на каждый день: сводная аналитика для себя — нормально, список авторов негативных отзывов конкурента с именами — уже нет. Улавливаешь разницу?
Начни с малого прямо сегодня. Открой свою карточку, забери отзывы из кабинета, если он есть, скинь первую сотню нейросети и попроси список повторяющихся тем. Полчаса — и ты узнаешь про свой бизнес то, чего не знал год.
Погнали.