Перейти к основному содержимому

Maps::Yandex - Парсер Яндекс карт

img

Обзор парсера

Парсер яндекс карт собирает контактные данные организаций.

Функционал A-Parser позволяет сохранять настройки парсинга для дальнейшего использования (пресеты), задавать расписание парсинга и многое другое. Вы можете использовать автоматическое размножение запросов, подстановку подзапросов из файлов, перебор цифро-буквенных комбинаций и списков для получения максимально возможного количества результатов.

Сохранение результатов возможно в том виде и структуре которая вам необходима, благодаря встроенному мощному шаблонизатору Template Toolkit который позволяет применять дополнительную логику к результатам и выводить данные в различных форматах, включая JSON, SQL и CSV.

Собираемые данные

  • Наименование организации
  • Адрес и координаты
  • Рейтинг, количество отзывов и ценовая политика
  • Категории и теги
  • Сайт, социальные сети и телефоны
  • Ссылка на фото и логотип
  • Описание
  • Ссылка на страницу организации на Яндекс Картах
  • Информация о времени работы заведения

Возможности

  • Обязательно нужно указать координаты и зум области, в которой осуществляется поиск
  • Возможность задать количество страниц для сбора данных
  • Возможность указать язык результатов
  • Возможность использовать антигейт для обхода каптч

Варианты использования

  • Сбор списка организаций присутствующих в заданной области
  • Получение контактов организаций
  • Любые другие варианты, подразумевающие поиск организаций на картах

Запросы

В качестве запросов необходимо указывать ключевые слова, точно так же как если бы их вводили прямо в форму поиска Яндекс Карт, например:

пицца

Варианты вывода результатов

A-Parser поддерживает гибкое форматирование результатов благодаря встроенному шаблонизатору Template Toolkit, что позволяет ему выводить результаты в произвольной форме, а также в структуированной, например CSV или JSON

Вывод по умолчанию

Формат результата:

$serp.format('$name ($rating): $address\n')

В результате отображен список организаций, их рейтинги и адреса:

Пироги № 1 (4.9): Россия, Москва, улица Большие Каменщики, 9, стр. Б
Einstein lounge (4.8): Россия, Москва, Таганская улица, 29, стр. 1
Gusto (4.1): Россия, Москва, улица Большая Дмитровка, 7/5с1
Френдс (4.4): Россия, Москва, Краснобогатырская улица, 90, стр. 2
Shisha City (4.4): Россия, Москва, Воронцовская улица, 6, стр. 7
Джекс (4.4): Россия, Москва, 1-я Фрезерная улица, 2/1с10
Ресторан Guilty Pleasure (4.3): Россия, Москва, Оружейный переулок, 15А
White Fox (4.3): Россия, Москва, Большой Дровяной переулок, 6

Вывод всех контактных данных

Формат результата:

$serp.format('$name ($rating): $address, $reviews, $price, $categories, $tags, $site, $phones, $photo, $coordinates, $social, $logo, $description, $link\n')

Пример результата:

Пироги № 1 (4.9): Россия, Москва, улица Большие Каменщики, 9, стр. Б, 256, , Доставка еды, Пиццерии, Пекарни, бесплатная доставка, оплата картой, доставка продуктов, доставка еды, https://piroginomerodin.ru/, +7 (499) 642-32-71, +7 (495) 127-78-47, https://avatars.mds.yandex.net/get-altay/4489303/2a000001787d1771aebf8b4b849d986caea1/XXXL, 37.65577,55.738421, https://vk.com/piroginomerodin, https://www.instagram.com/piroginomerodin/, https://avatars.mds.yandex.net/get-tycoon/474201/2a0000016dd037b101f0cd4ad3968416440e/priority-headline-logo, , https://yandex.ru/maps/org/105121172016/
Einstein lounge (4.8): Россия, Москва, Таганская улица, 29, стр. 1, 153, 900–1500 ₽, Кальян-бары, Бары, пабы, Интеллектуальные игры, настольные игры, летняя веранда, оплата картой, бизнес-ланч, проектор, Wi-Fi, спортивные трансляции, , +7 (968) 068-99-09, https://avatars.mds.yandex.net/get-altay/2419289/2a000001748889d4246610a4f452790b8eee/XXXL, 37.668036,55.739651, https://www.instagram.com/einstein_lounge/, https://avatars.mds.yandex.net/get-tycoon/1635364/2a00000170a408e3bda96d25bf44857eed75/priority-headline-logo, , https://yandex.ru/maps/org/127811263445/
Gusto (4.1): Россия, Москва, улица Большая Дмитровка, 7/5с1, 133, 1500–1700 ₽, Рестораны, Пиццерии, бизнес-ланч, Wi-Fi, кофе с собой, еда навынос, летняя веранда, оплата картой, спортивные трансляции, http://www.gusto-moscow.ru/, +7 (495) 650-69-22, https://avatars.mds.yandex.net/get-altay/2887807/2a0000017357f4fe86d86cd5d3e300855b86/XXXL, 37.614142,55.760285, https://www.facebook.com/pages/gusto-итальянская-кухня/300193353486996, https://www.instagram.com/gusto.rest/, , , https://yandex.ru/maps/org/1080982853/
Shisha City (4.4): Россия, Москва, Воронцовская улица, 6, стр. 7, 68, 900–1200 ₽, Кальян-бары, Бары, пабы, Антикафе, настольные игры, парковка для инвалидов, оплата картой, крафтовое пиво, Предзаказ онлайн, Wi-Fi, спортивные трансляции, http://www.shishataganka.ru/, +7 (958) 100-62-71, https://avatars.mds.yandex.net/get-altay/212783/2a0000015d991abf6d89fa812daac5491c4f/XXXL, 37.654414,55.739423, https://vk.com/shishacitytaganka, https://www.facebook.com/shishacitytaganka, https://www.instagram.com/shishacitytaganka, https://avatars.mds.yandex.net/get-tycoon/479792/2a000001746e2044d0177e25adeba8e943ac/priority-headline-logo, , https://yandex.ru/maps/org/1695943598/

Вывод в таблицу CSV

Формат результата:

[% FOREACH serp; 
tools.CSVline(name, rating, address, reviews, price);
END %]

Пример результата:

"Пироги № 1",4.9,"Россия, Москва, улица Большие Каменщики, 9, стр. Б",256,
"Einstein lounge",4.8,"Россия, Москва, Таганская улица, 29, стр. 1",153,"900–1500 ₽"
Gusto,4.1,"Россия, Москва, улица Большая Дмитровка, 7/5с1",134,"1500–1700 ₽"
"Shisha City",4.4,"Россия, Москва, Воронцовская улица, 6, стр. 7",68,"900–1200 ₽"
"Кальянная Культ Game",4.5,"Россия, Москва, улица Шаболовка, 2",66,"1200–1500 ₽"

Дамп результатов в JSON

Общий формат результата:

[% IF notFirst;
",\n";
ELSE;
notFirst = 1;
END;

obj = {};
obj.query = query;
obj.serp = [];

FOREACH item IN p1.serp;
obj.serp.push({
name = item.name
rating = item.rating
address = item.address
phones = item.phones
});
END;

obj.json %]

Начальный текст:

[

Конечный текст:

]

Пример результата:

[{
"query": "пицца",
"serp": [
{
"name": "Пироги № 1",
"address": "Россия, Москва, улица Большие Каменщики, 9, стр. Б",
"phones": "+7 (499) 642-32-71, +7 (495) 127-78-47",
"rating": "4.9"
},
{
"name": "Einstein lounge",
"address": "Россия, Москва, Таганская улица, 29, стр. 1",
"phones": "+7 (968) 068-99-09",
"rating": "4.8"
},
{
"name": "Gusto",
"address": "Россия, Москва, улица Большая Дмитровка, 7/5с1",
"phones": "+7 (495) 650-69-22",
"rating": "4.1"
},
]
}]
подсказка

Чтобы опции "Начальный текст" и "Конечный текст" были доступны в Редакторе заданий, нужно активировать "Больше опций".

Возможные настройки

ПараметрЗначение по умолчаниюОписание
Coordinates55.780844,37.6572693Координаты области поиска, обязательный параметр
Zoom11Зум, обязательный параметр
Pages count5Количество страниц
LanguageEnglishВыбор языка результатов
AntiGate presetdefaultПредварительно настроенный пресет парсера Util::AntiGateUtil::AntiGate