Парсинг Google Maps в CSV без кода

Support Anastasia

Administrator
Команда форума
A-Parser Enterprise

gmaphero.webp


Как спарсить Google Maps в CSV: телефоны, сайты, адреса и координаты 5 000+ организаций без кода

С помощью встроенного парсера Maps::Google можно собрать организации из Google Карт и выгрузить их в CSV: название, телефон, сайт, адрес, рейтинг, количество отзывов, категории, координаты и ссылку на карточку компании.

На выходе получается база для Excel или CRM: её можно отфильтровать по наличию сайта, рейтингу, отзывам и категориям, а затем использовать для поиска клиентов, партнёров или локального анализа рынка.



От поисковых запросов к готовой базе организаций

Вся настройка выполняется в веб-интерфейсе A-Parser: без сторонних скриптов, расширений браузера и Node.js-библиотек.

Вы задаёте поисковые фразы и границы города в OpenStreetMap, а A-Parser строит координатную сетку и собирает карточки по каждому сектору.



Какие данные Google Maps можно сохранить в CSV

Штатный парсер Maps::Google принимает ключевые слова и извлекает контактные и репутационные данные из карточек Google Карт.

В базовую выгрузку можно включить 10 колонок:

КолонкаПоле Maps::GoogleЧто содержит
Поисковая фразаqueryКлючевое слово, по которому найдена карточка
НазваниеnameНазвание организации из карточки
РейтингratingОценка по шкале от 1 до 5
ОтзывыreviewsКоличество отзывов на момент сбора
АдресaddressАдрес организации
ТелефонphonesКонтактный номер из карточки
СайтsiteСсылка на сайт или внешнюю страницу, указанную в карточке
КатегорииcategoriesОсновные и дополнительные категории организации
КоординатыcoordinatesШирота и долгота (lat, lng)
Ссылка на карточкуlinkURL Google Maps с CID; подходит для дедупликации

Дополнительные поля парсера:
Парсер также умеет отдавать timestatus (статус работы: «Открыто» / «Закрыто»), tags (параметры доступности и доп. услуги), photo (ссылка на изображение карточки) и price (ценовой диапазон).



Как настроить парсер Google Maps в A-Parser

Что понадобится

  • A-Parser Pro или Enterprise.
  • Пул резидентских прокси A-Parser Premium. Google ограничивает частые запросы с одного IP-адреса, поэтому для обхода города нужен пул прокси.
  • Список целевых ключевых фраз.



Шаг 1. Выберите Maps::Google

1. Перейдите в Редактор заданий в веб-интерфейсе A-Parser.

2. В выпадающем списке парсеров выберите встроенный парсер Maps::Google.

gmap1.png




Шаг 2. Задайте поисковые фразы

В поле Запросы укажите пул из 5–10 целевых фраз по вашей нише.

⚠️ Важное правило семантики:
Разные организации оптимизируют карточки под разные ключевики. В этом тесте запрос автосервис дал 866 строк итоговой выгрузки, а ремонт автомобилей — 1 228. Если ограничиться одним общим словом, охват будет заметно меньше.

Пул запросов для автосферы, использованный в нашем прогоне:

Код:
ремонт автомобилей
ремонт авто
автомастерская
автосервис
СТО
автотехцентр
станция технического обслуживания

gmap2.png




Шаг 3. Задайте базовые параметры парсера

gmap2_2.png


В настройках парсера Maps::Google проверьте 5 ключевых полей:

1. Координаты — координаты центра поиска. Они нужны для поиска из одной точки: например, для небольшого населённого пункта или когда важна выдача вокруг конкретной точки на карте. При включённом Collect full region координаты можно не заполнять: парсер строит сетку по границам региона. Если значение уже есть в импортированном пресете, оно не меняет эту сетку.

2. Масштаб — масштаб карты. При поиске из одной точки установите 13. В режиме обхода региона масштаб задавать не нужно: парсер сам подбирает его для каждой точки.

3. Страна — при необходимости укажите Россия вместо Авто (на основе IP). В тестах по одной точке Санкт-Петербурга это поле почти не влияло на состав выдачи; более важны координаты и язык.

4. Язык — для русскоязычного региона выберите русский (Russian). При значении английский (English) часть названий и адресов может прийти транслитом, при этом выдача может быть смешанной — проверьте несколько первых строк результата.

5. Макс. страниц — глубина пагинации по каждому узлу. В измерении на точке Санкт-Петербурга одна страница содержала 20 организаций: 3 страницы дали 60 карточек, 10 — 200. Для первого запуска используйте 3 страницы, затем при необходимости увеличьте глубину.



Шаг 4. Настройте автоматический обход города (Collect full region)

Выдача Google Maps зависит от точки поиска. Для обхода всего города A-Parser строит сетку точек внутри границ выбранного региона.

Где искать опцию региона в интерфейсе:
Опция обхода региона находится не в общем списке настроек парсера, а в блоке парсера внутри Редактора заданий под заголовком Опции парсера:
- OpenStreetMap Type+ID: укажите точный идентификатор региона из OpenStreetMap. Для Санкт-Петербурга это R421007 (буква R означает relation — административная граница города).
- Шаг в километрах: шаг координатной сетки. Установите 3 км.
- Режим OSM: выберите Код местоположения.

Как это работает: После указания relation-кода A-Parser определяет границы региона, строит внутри этого полигона сетку из 131 опорной точки с шагом 3 км и опрашивает каждую точку по вашему списку ключей. Для каждой точки парсер автоматически подбирает масштаб карты.

Количество точек может быть меньше прикидки по описывающей рамке региона: парсер работает по реальной форме границы, а не по прямоугольнику вокруг неё.

Как узнать код любого другого города:
Откройте openstreetmap.org, найдите город и откройте его административную границу. В карточке объекта указан тип и номер, например Relation: Moscow (2555133). Для поля OpenStreetMap Type+ID используйте этот номер с буквой R: R2555133.
Номер relation также можно взять из адресной строки страницы вида openstreetmap.org/relation/2555133, но это необязательно.



Шаг 5. Настройте Проксичекер

В настройках задания:

  • Выберите рабочий список прокси в поле Проксичекер.
  • Укажите Повторы запроса: 10. Google периодически возвращает временные блокировки или пустые ответы; при каждой повторной попытке парсер сменит прокси.
  • Установите 20–30 потоков.



Шаг 6. Настройте формат выгрузки в CSV

Писать скрипт не нужно: A-Parser сформирует одну строку CSV для каждой найденной карточки Google Maps. В шаблоне важно сохранить одинаковый порядок полей в шапке и строках результата.

Строки с организациями

1. В поле Формат результата вставьте шаблон:

Код:
[% FOREACH serp %]
[% tools.CSVline(
    query,
    name,
    rating,
    reviews,
    address,
    phones,
    site,
    categories,
    coordinates,
    link
) %]
[% END %]

Здесь FOREACH serp перебирает найденные карточки, а tools.CSVline создаёт отдельную CSV-строку для каждой организации. Функция корректно обрабатывает значения с разделителями, кавычками и переносами строк, поэтому адрес или название не разобьются на несколько колонок.

Шапка CSV

2. В поле Начальный текст вставьте:

Код:
Запрос,Название,Рейтинг,Отзывов,Адрес,Телефон,Сайт,Категории,Координаты,Ссылка

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

Кодировка, имя файла и запуск

3. В разделе Результаты, в блоке Опции, включите:

  • Записать UTF-8 BOM: Да (true). Эта опция добавляет сигнатуру \xEF\xBB\xBF, благодаря которой Microsoft Excel открывает кириллицу в UTF-8 без ручного импорта.

4. Выберите сохранение результатов в файл и в поле Имя файла задайте, например:

Код:
google_maps_leads_$datefile.format().csv

5. Нажмите Добавить задание или Запустить. После завершения задания скачайте CSV из Очереди заданий.

gmap3.png




Как проверить выгрузку перед запуском на весь город

Перед региональным обходом запустите задачу на 1–2 запросах и проверьте первые строки CSV:

  • заголовки и значения не склеились в одну колонку;
  • телефон, адрес, координаты и ссылка на карточку попали в нужные поля;
  • кириллица корректно открывается в Excel;
  • в поле Ссылка есть CID карточки Google Maps;
  • страна и язык соответствуют целевому региону;
  • пустые сайты, рейтинги и отзывы не всегда означают ошибку: эти поля могут отсутствовать в карточке Google Maps.

Для базы лидов удаляйте повторяющиеся значения в колонке Ссылка: она содержит CID карточки Google Maps. Если анализируете, по какому запросу найдена компания, сохраняйте также колонку Запрос.



Результаты тестового запуска: 5 102 строки по автосервисам Санкт-Петербурга

Тестовый запуск выполнен в A-Parser для региона R421007 (Санкт-Петербург, 131 точка обхода) по 7 автомобильным запросам при Макс. страниц = 3:

Как собирали данные

ПараметрЗначение
РегионСанкт-Петербург (R421007)
Дата тестового прогона30 сентября 2026 года
Поисковые фразы7 автомобильных запросов
Точек сетки131
Шаг сетки3 км
Макс. страниц3
Сгенерированных подзапросов917 (131 × 7)
Счётчик Запросы заверш./всего924 (7 исходных фраз + 917)
ПроксиРезидентские A-Parser Premium
Версия A-Parserv1.2.3671; NextGen v0.5.79 (linux)
Время выполнения5 минут 30 секунд
Сырых строк39 890

Радиусы соседних точек сетки перекрываются, поэтому одна и та же карточка может попасть в сырой результат несколько раз. Из 39 890 сырых строк сформирована итоговая выгрузка из 5 102 строк. В ней содержится 5 096 уникальных карточек по постоянному идентификатору (cid в ссылке); 6 строк повторяют CID.

Что получили

Анализ итогового файла google_maps_leads_spb_avtoservice.csv (посмотреть в HTML):

ПоказательРезультат
Строк в итоговой выгрузке5 102
Телефоны4 663 из 5 102 (91,4%)
Адреса5 096 из 5 102 (99,9%)
Координаты5 102 из 5 102 (100,0%)
Категории5 041 из 5 102 (98,8%)
Рейтинг3 702 из 5 102 (72,6%)
Отзывы3 578 из 5 102 (70,1%)
Сайты / внешние страницы2 386 из 5 102 (46,8%)
Ссылка на карточку с CID5 102 из 5 102 (100,0%)

О формате телефонных номеров:
Парсер сохраняет номера как последовательность цифр в локальном формате: 88126799299 или 89811763796. Номера сохранены без скобок и дефисов, поэтому их удобно импортировать в CRM (Битрикс24, amoCRM) и использовать в сервисах дозвона.

Что показывают результаты

1. Телефон и адрес доступны чаще сайта. Google Maps подходит для первичной базы контактов, но отсутствие сайта в карточке нужно проверять вручную.

2. Несколько синонимов расширяют охват. В этом тесте одна фраза автосервис дала заметно меньше строк, чем весь пул из семи запросов.

3. CID нужен для финальной очистки. Перекрытие сетки создаёт повторы, которые следует удалить перед импортом в CRM.

Вклад каждого запроса в итоговую базу

Ниже — распределение строк итоговой выгрузки по полю Запрос:

Поисковый запросСтрок в итоговой выгрузкеДоля выгрузки
ремонт автомобилей1 22824,1%
ремонт авто1 18023,1%
автомастерская1 08721,3%
автосервис86617,0%
СТО4328,5%
автотехцентр2324,5%
станция технического обслуживания771,5%

Если бы мы запустили парсер только по слову автосервис, итоговая выгрузка содержала бы 866 строк вместо 5 102. Комбинация синонимов увеличила объём выгрузки почти в 6 раз.



Как использовать выгрузку после сбора

CSV из Google Maps можно использовать не только как список организаций, но и как основу для сегментации, проверки данных и подготовки персонализированных обращений.

ЗадачаПоля для фильтрацииЧто сделать дальше
Поиск компаний без указанного сайтаСайт = пустоПроверить карточку вручную и предложить сайт, страницу услуг или каталог
Приоритизация заметных компанийОтзывы, РейтингОтобрать карточки с нужным уровнем отзывов и оценки для персонального контакта
Аудит репутацииРейтинг, ОтзывыНайти компании с низкой оценкой и достаточным числом отзывов для анализа причин
Географическая сегментацияАдрес, Координаты, КатегорииРазделить базу по районам, типам бизнеса или зонам работы менеджеров
Подготовка к импорту в CRMНазвание, Телефон, Сайт, СсылкаУдалить дубли по CID, проверить контакты и загрузить базу в CRM

Важно: пустое поле Сайт означает, что в карточке Google Maps нет указанной ссылки. Рейтинг и количество отзывов помогают приоритизировать проверку, но сами по себе не доказывают потребность компании в услуге.



Что делать, если результат выглядит неправильно

ПроблемаПричинаРешение
Названия компаний и улиц пришли на латиницеВ параметре Язык оставлен английский (English)Для русскоязычного региона укажите русский (Russian)
Обход региона создаёт слишком много точекНа крупном городе выбран слишком маленький Шаг в километрахДля первого запуска используйте шаг 3 км; при необходимости затем уменьшайте его
Парсер охватил область шире, чем планировалосьВ Строка местоположения OSM может выбрать не ту границуВыберите Режим OSM = Код местоположения и укажите точный relation-код, например R421007
Excel показывает «кракозябры»Файл сохранён в UTF-8 без BOMВключите Записать UTF-8 BOM: Да в блоке Опции
В итоговом файле есть повторяющиеся карточкиРадиусы соседних точек сетки перекрываютсяУдалите повторы по колонке Ссылка (CID) в Excel или Template Toolkit
Сайт, рейтинг или отзывы пустыеЭти поля могут отсутствовать в карточке Google MapsСохраните пустое значение или отфильтруйте такие строки под вашу задачу



Когда A-Parser удобнее собственного скрипта

Скрипт подойдёт, если нужна нестандартная обработка данных или интеграция с внутренней системой. Но для регулярного обхода городов придётся отдельно поддерживать сетку координат, прокси, повторы при сетевых ошибках, дедупликацию и экспорт.

A-Parser объединяет эти действия в одной задаче. Конфигурацию можно сохранить как пресет, подставить другой город и список запросов, а затем запускать повторно.



Готовый пресет для импорта в A-Parser

В Редакторе заданий в строке Пресет задания (Task preset) нажмите кнопку импорта справа от поля и выберите Импорт пресета (Import preset). Разверните спойлер и вставьте Base64-код в поле импорта.

Код:
eJx9Vd1uG0UUfpXVKJVatEQxP0LynWsSCCRxSVJukiiaesfOkN2Z7cysG2NZ
StoCF70Id0hIVJQnCGlDAyHmFWbfiG9m1/baFN945/x855z5zjnjAekxpbkU
pF4LiaH6WD9QTDOjSX1vQFJ/JnWi00fv056RmqkebzMSkpQqCM5tj2zSVNfr
n0nZjZ0pYh2axYaEA2L6KQNcIovikTPyCPK3OPRonDlb7UMy/H/Po7jiqrJF
rgk9OUxpl+kKYmHsTLNUyZP+1N+ojC0AeO/mEWsfM1VJ8t6iJB6jmFF8prDa
yiJQR6qEGpDvaZyA9u4Ea63t1Ubz8wDcp8GdA2iMlLFebu58HXPB7j7OmOqH
gaAJCwNFDRddfFmPsyc6DGgUISgO6ZEUDF/NDfza1LCudBXiLKWKuIAGAkIe
3yvSrG59isNM0anB4OhxzVInuzA0RLQeVWre/uiD2srKJ9AgOXcIGpP6gGjD
0nXxZeKbFDr0powcoO0+w+HBQUgKAvSaZwOmpbS2XI7kxLhDe2xXOs64H74x
BtIWSICh6+fyMMGQHsaMRvpwKcL1nP9yQfTde8tt3Zspscjpxntax0PBH/s7
CQlfxzQYW1PS3cGwE1Mq++N698iSlwlCZB77VYEh9Q6NNQuJRvFrFIVE8xb0
Bd2TqlWSDMakaMTxBuuxeOrm49/PeBxhFxsdgNZL4LtdWv+JMZxcr5oK8/hE
oYZiJULihfutzfGKkEhuyC7uHT3CrWOecANZN2UmcPGVkBwzlk742nJ8JVKx
SYqytjIznpyUCTdE9id7Yf/JT+0oPwvtLxDe2kv83tprexXaX+2V/TN/CuHW
vg7tSxzf5i/gMbKXof3RvgHyyiF/g+MNjs9huQ3tK4QALrQ/2wtgruxrJDhF
mGunGnnhjY8Kc/4CgPwMcW/sX/ZiX0ynqpGWdZI5XmfmZFbZlqLDu61yw8ee
mdjFY9sSTZmkMXNEu5h4kban89vQ5VQ4YcrZPLTpE7hejN9d4t+EL3aKoKni
2I+PXXkJGlvNWYZs0zh+uL0xX402Mm2JVaXmpsnPKXFU278dv/nTAPxegtiR
V/wOJm9cp/bFO532RcX9AkyjI/lpfubYzs+nVmigR3ev8zNoX6GrLytWh/ou
/x4JEDw/RTIXCbMC3XV+HhQObnTyH9xUIPzINT5wJUK8yZ/ZP1BqOV/5eWWp
PeG+e8XT2HfS8GDytzf5kxxgF77RDwqtg3nd8F+iAgUR



Готовые материалы и следующий шаг


Для первого запуска замените тестовые запросы на свою нишу и проверьте первые 20 строк выгрузки. Если колонки, язык и регион соответствуют задаче, увеличивайте число запросов и запускайте обход всего города.

← Все опубликованные руководства по парсингу
 
Последнее редактирование:
В итоговом файле есть повторяющиеся карточкиРадиусы соседних точек сетки перекрываютсяУдалите повторы по колонке Ссылка (CID) в Excel или Template Toolkit

не понятно, нужно каждый раз вручную удалять дубли по CID, или можно заставить Template Toolkit сделать это автоматически? если да, то как, я этого не увидел или не понял.

---

когда вы сделаете такое же удобство с парсингом региона из OpenStreetMap в парсере яндекс карт?

---

спасибо.
 
В итоговом файле есть повторяющиеся карточкиРадиусы соседних точек сетки перекрываютсяУдалите повторы по колонке Ссылка (CID) в Excel или Template Toolkit

не понятно, нужно каждый раз вручную удалять дубли по CID, или можно заставить Template Toolkit сделать это автоматически? если да, то как, я этого не увидел или не понял.

вот так попробуй, через добавление уникализации https://a-parser.com/docs/guides/task-settings/results-deduplication#unique-any-result
1790942470642.jpeg

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

На будущее любые пожелания по улучшению парсеров оформляйте, пожалуйста, как задачи в соответствующем разделе форума.
 
Назад
Верх