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

Maps::Google - Парсер Google карт

Обзор парсера Google Maps#

img

Парсер гугл карт собирает контактные данные организаций, с первой страницы выдачи.

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

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

Кейсы по применению парсера Google Maps#

Парсинг организаций

Сбор всех организаций в определенной местности

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

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

Возможности#

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

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

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

Запросы#

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

Результаты#

  • В результате отображен список организаций, их рейтинги и адреса:
Vivat Pizza (4.7): Prospekt Marshala Zhukova, 19/1, Moscow, Russia, 123308
Premier Pizza (4.2): пр-кт Ленинградский, 37, Moscow, Russia, 125167
City Pizza (5): Ордынка М. ул. 19, Москва, 119017, Moscow, Russia, 115035
Dodo Pizza (4.4): Ulitsa Miklukho-Maklaya, 36А, Moscow, Russia, 117198
Pizza 22 cm (4.6): Ulitsa Solyanka, 1/2, Moscow, Russia, 109028
Zhar Pitstsa (4.7): Ulitsa Industrial'naya, 15, стр. 2, Mytishchi, Moscow Oblast, Russia, 141006
Пиццерия Алло! Пицца | Кафе, доставка еды Крымская (4.4): Sevastopol Ave, 15к1, 1 этаж, Moscow, Russia, 117447
Сity Pizza (2.3): 4-Y Syromyatnicheskiy Pereulok, 3/5, Moscow, Russia, 105120
Domino's Pizza (3.8): Beregovoy Proyezd, 5А корпус 1, Moscow, Russia, 121087
Domino's Pizza (4.5): Ulitsa Fonvizina, 17, Moscow, Russia, 127322
Сity Pizza (4.2): Malomoskovskaya Ulitsa, 22, Moscow, Russia, 129626
Алло! Пицца (4.5): Tkatskaya Ulitsa, 32А, Moscow, Russia, 105187
Pizza Pizza Time (4.3): СНТ Зеленая зона, Lyubertsy, Moscow, Russia, 111674
Vivat Pizza (4.7): Sirenevyy Bul'var, 15a, Moscow, Russia, 105425
Allo! Pizza (4.4): Shcholkovskoye Shosse, 72, Moscow, Russia, 107497
Dodo Pizza (4.5): Ulitsa Initsiativnaya, 13, Lyubertsy, Moscow Oblast, Russia, 140009
Domino's Pizza (4.5): Ulitsa Panferova, 4, Moscow, Russia, 119261
Алло! Пицца (4.5): Ulitsa Kostromskaya, 14Б, Moscow, Russia, 127549
Алло! Пицца (4.5): Ulitsa Lyapidevskogo, 4 строение 2, Moscow, Russia, 125581
Dodo Pizza (4.6): Staraya Basmannaya Ulitsa, 14/2с4, Moscow, Russia, 105064

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

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

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

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

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

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

Vivat Pizza (4.7): Prospekt Marshala Zhukova, 19/1, Moscow, Russia, 123308, 558, $$, Pizza restaurant, Italian restaurant, Restaurant, Sushi restaurant, No-contact delivery, Delivery, Takeaway, Great cocktails, Wheelchair-accessible car park, Wheelchair-accessible entrance, Beer, Late-night food, Wine, Dessert, Bar on site, Good for kids, High chairs, Casual, Cosy, Groups, http://www.vivatpizza.ru/, +74957808090, https://lh5.googleusercontent.com/p/AF1QipN7H4fucI4JR1xGP6bdXorluhq9eq4l85QvCKXx=w426-h240-k-no, 55.7753678,37.4888493
Premier Pizza (4.2): пр-кт Ленинградский, 37, Moscow, Russia, 125167, 5, , Pizza restaurant, Pizza takeaway, Delivery, Takeaway, Dine-in, Good for kids, Casual, Groups, http://premierpizza.ru/, +74952210717, , 55.7727005,37.5315456
City Pizza (5): Ордынка М. ул. 19, Москва, 119017, Moscow, Russia, 115035, 1, $$, Pizza restaurant, Pizza delivery, Delivery, Dine-in, https://www.citypizza.ru/, , https://streetviewpixels-pa.googleapis.com/v1/thumbnail?panoid=dowqjCRyBVGFlZWPNAKQeg&cb_client=search.gws-prod.gps&w=408&h=240&yaw=87.83791&pitch=0&thumbfov=100, 55.741704999999996,37.6258066
Pizza 22 cm (4.6): Ulitsa Solyanka, 1/2, Moscow, Russia, 109028, 1309, $$, Pizza restaurant, Italian restaurant, Takeaway, Dine-in, Delivery, Wheelchair-accessible entrance, Dessert, Good for kids, Casual, Cosy, Groups, http://pizza22cm.ru/#msk, +79264297222, https://lh5.googleusercontent.com/p/AF1QipOYxiI0ITxnRGGltyFFW1Y8MmcPZMoJMz9dd77u=w408-h272-k-no, 55.754531799999995,37.6380833

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

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

[% FOREACH serp;
tools.CSVline(query, name, rating, address, reviews, price, categories, tags, site, phones, photo, coordinates);
END; %]

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

"пицца","Vivat Pizza",4.7,"Prospekt Marshala Zhukova, 19/1, Moscow, Russia, 123308",558,$$,"Pizza restaurant, Italian restaurant, Restaurant, Sushi restaurant","No-contact delivery, Delivery, Takeout, Great cocktails, Wheelchair-accessible entrance, Wheelchair-accessible parking lot, Beer, Late-night food, Wine, Dessert, Bar on-site, Good for kids, High chairs, Casual, Cozy, Groups",http://www.vivatpizza.ru/,+74957808090,https://lh5.googleusercontent.com/p/AF1QipN7H4fucI4JR1xGP6bdXorluhq9eq4l85QvCKXx=w426-h240-k-no,"55.7753678,37.4888493"
"пицца","Premier Pizza",4.2,"пр-кт Ленинградский, 37, Moscow, Russia, 125167",5,,"Pizza restaurant, Pizza takeaway","Delivery, Takeout, Dine-in, Good for kids, Casual, Groups",http://premierpizza.ru/,+74952210717,,"55.7727005,37.5315456"
"пицца","Pizza 22 cm",4.6,"Ulitsa Solyanka, 1/2, Moscow, Russia, 109028",1309,$$,"Pizza restaurant, Italian restaurant","Takeout, Dine-in, Delivery, Wheelchair-accessible entrance, Dessert, Good for kids, Casual, Cozy, Groups",http://pizza22cm.ru/#msk,+79264297222,https://lh5.googleusercontent.com/p/AF1QipOYxiI0ITxnRGGltyFFW1Y8MmcPZMoJMz9dd77u=w408-h272-k-no,"55.754531799999995,37.6380833"
"пицца","Dodo Pizza",4.4,"Ulitsa Miklukho-Maklaya, 36А, Moscow, Russia, 117198",116,$$,"Pizza restaurant, Coffee stand, Pizza delivery, Pizza takeaway","No-contact delivery, Delivery, Takeout, Dine-in, Vegetarian options, Breakfast, Lunch, Dessert, Seating, Good for kids, Casual, Cozy, Family-friendly, Groups, Debit cards, NFC mobile payments",https://dodopizza.ru/Moscow/belyaevo,+78003330060,https://lh5.googleusercontent.com/p/AF1QipOJ7jbAJEA8imRs58tf2roiESzzkLCyTsVUk2Zk=w408-h272-k-no,"55.6401172,37.533220299999996"
"пицца","Zhar Pitstsa",4.7,"Ulitsa Industrial'naya, 15, стр. 2, Mytishchi, Moscow Oblast, Russia, 141006",262,,"Pizza restaurant, Pizza delivery","Delivery, Takeout",http://www.pizza-jar.ru/,+79055070171,https://lh5.googleusercontent.com/p/AF1QipMMrXJkExDf3bQphAfGYTd26LfqaZwDTPvjMQkx=w408-h544-k-no,"55.9251735,37.7667529"
"пицца","Сity Pizza",2.3,"4-Y Syromyatnicheskiy Pereulok, 3/5, Moscow, Russia, 105120",6,$$,"Pizza restaurant, Pizza delivery","Delivery, Dine-in",http://www.citypizza.ru/,+74959818198,https://streetviewpixels-pa.googleapis.com/v1/thumbnail?panoid=57nDhT-w0Qgu7WfJNUW60Q&cb_client=search.gws-prod.gps&w=408&h=240&yaw=28.351305&pitch=0&thumbfov=100,"55.755070599999996,37.6673556"
"пицца","Пиццерия Алло! Пицца | Кафе, доставка еды Крымская",4.4,"Sevastopol Ave, 15к1, 1 этаж, Moscow, Russia, 117447",30

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

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

[% data = {} %]

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

[% data.json %]

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

[%
data.query = query;
data.contacts = [];
FOREACH serp;
item = {};
item.name = name;
item.rating = rating;
item.address = address;
item.reviews = reviews;
item.price = price;
item.categories = categories;
item.tags = tags;
item.site = site;
item.phones = phones;
item.photo = photo;
item.coordinates = coordinates;
data.contacts.push(item);
END;
result = {};
result = data;
%]

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

{
"contacts": [
{
"coordinates": "55.7753678,37.4888493",
"photo": "https://lh5.googleusercontent.com/p/AF1QipN7H4fucI4JR1xGP6bdXorluhq9eq4l85QvCKXx=w426-h240-k-no",
"reviews": 558,
"name": "Vivat Pizza",
"categories": "Pizza restaurant, Italian restaurant, Restaurant, Sushi restaurant",
"phones": "+74957808090",
"tags": "No-contact delivery, Delivery, Takeaway, Great cocktails, Wheelchair-accessible car park, Wheelchair-accessible entrance, Beer, Late-night food, Wine, Dessert, Bar on site, Good for kids, High chairs, Casual, Cosy, Groups",
"rating": 4.7,
"site": "http://www.vivatpizza.ru/",
"address": "Prospekt Marshala Zhukova, 19/1, Moscow, Russia, 123308",
"price": "$$"
},
{
"coordinates": "55.7727005,37.5315456",
"photo": "",
"reviews": 5,
"name": "Premier Pizza",
"categories": "Pizza restaurant, Pizza takeaway",
"phones": "+74952210717",
"tags": "Delivery, Takeaway, Dine-in, Good for kids, Casual, Groups",
"rating": 4.2,
"site": "http://premierpizza.ru/",
"address": "пр-кт Ленинградский, 37, Moscow, Russia, 125167",
"price": ""
}
],
"query": "пицца"
}
tip

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

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

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

[% FOREACH p1.serp; "INSERT INTO serp VALUES('" _ query _ "', '"; name _ "', '"; rating _ "', '"; address _ "', '"; reviews _ "', '"; price _ "', '"; categories _ "', '"; tags _ "', '"; site _ "', '"; phones _ "', '"; photo _ "', '"; coordinates _ "')\n"; END %]

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

INSERT INTO serp VALUES('пицца', 'Vivat Pizza', '4.7', 'Prospekt Marshala Zhukova,
19/1, Moscow, Russia,
123308', '558', '$', 'Pizza restaurant, Italian restaurant, Restaurant, Sushi restaurant', 'No-contact delivery, Delivery, Takeaway, Great cocktails, Wheelchair-accessible car park, Wheelchair-accessible entrance, Beer, Late-night food, Wine, Dessert, Bar on site, Good for kids, High chairs, Casual, Cosy, Groups', 'http: //www.vivatpizza.ru/', '+74957808090', 'https://lh5.googleusercontent.com/p/AF1QipN7H4fucI4JR1xGP6bdXorluhq9eq4l85QvCKXx=w426-h240-k-no', '55.7753678,37.4888493')
INSERT INTO serp VALUES('пицца', 'Premier Pizza', '4.2', 'пр-кт Ленинградский,
37, Moscow, Russia,
125167', '5', '', 'Pizza restaurant, Pizza takeaway', 'Delivery, Takeaway, Dine-in, Good for kids, Casual, Groups', 'http: //premierpizza.ru/', '+74952210717', '', '55.7727005,37.5315456')
INSERT INTO serp VALUES('пицца', 'City Pizza', '5', 'Ордынка М. ул. 19, Москва,
119017, Moscow, Russia,
115035', '1', '$', 'Pizza restaurant, Pizza delivery', 'Delivery, Dine-in', 'https: //www.citypizza.ru/', '', 'https://streetviewpixels-pa.googleapis.com/v1/thumbnail?panoid=dowqjCRyBVGFlZWPNAKQeg&cb_client=search.gws-prod.gps&w=408&h=240&yaw=87.83791&pitch=0&thumbfov=100', '55.741704999999996,37.6258066')
INSERT INTO serp VALUES('пицца', 'Pizza 22 cm', '4.6', 'Ulitsa Solyanka,
1/2, Moscow, Russia,
109028', '1309', '$', 'Pizza restaurant, Italian restaurant', 'Takeaway, Dine-in, Delivery, Wheelchair-accessible entrance, Dessert, Good for kids, Casual, Cosy, Groups', 'http: //pizza22cm.ru/#msk', '+79264297222', 'https://lh5.googleusercontent.com/p/AF1QipOYxiI0ITxnRGGltyFFW1Y8MmcPZMoJMz9dd77u=w408-h272-k-no', '55.754531799999995,37.6380833')
INSERT INTO serp VALUES('пицца', 'Dodo Pizza', '4.4', 'Ulitsa Miklukho-Maklaya,
36А, Moscow, Russia,
117198', '116', '$', 'Pizza restaurant, Coffee stand, Pizza delivery, Pizza takeaway', 'No-contact delivery, Delivery, Takeaway, Dine-in, Vegetarian options, Breakfast, Lunch, Dessert, Seating, Good for kids, Casual, Cosy, Family friendly, Groups, Debit cards, NFC mobile payments', 'https: //dodopizza.ru/Moscow/belyaevo', '+78003330060', 'https://lh5.googleusercontent.com/p/AF1QipOJ7jbAJEA8imRs58tf2roiESzzkLCyTsVUk2Zk=w408-h272-k-no', '55.6401172,37.533220299999996')

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

ПараметрЗначение по умолчаниюОписание
Coordinates55.780844,37.6572693Координаты области поиска, обязательный параметр
Zoom11Зум, обязательный параметр
CountryAuto (Based on IP)Страна из которой осуществляется поиск
LanguageEnglishВыбор языка результатов
Последнее обновление