Maps::Yandex - Парсер Яндекс карт
Обзор парсера
Парсер яндекс карт собирает контактные данные организаций.
Функционал 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"
},
]
}]
Чтобы опции "Начальный текст" и "Конечный текст" были доступны в Редакторе заданий, нужно активировать "Больше опций".
Возможные настройки
Параметр | Значение по умолчанию | Описание |
---|---|---|
Coordinates | 55.780844,37.6572693 | Координаты области поиска, обязательный параметр |
Zoom | 11 | Зум, обязательный параметр |
Pages count | 5 | Количество страниц |
Language | English | Выбор языка результатов |
AntiGate preset | default | Предварительно настроенный пресет парсера Util::AntiGate |