Парсинг Яндекс Карт или как собрать целевую аудиторию
Бизнес-задача
Перед тем как перейти к парсингу Яндекс Карт, расскажу, какую задачу я хотел решить.
Я решил узнать, кто является целевой аудиторией для сервисов мультиссылок, например Taplink. Если зайти на сайт Taplink’a[ссылка удалена модератором], то они там показывают сценарии использования сервиса и пишут о категориях клиентов, на которые они ориентируются. Это “популярные люди”, “бизнес”, “интернет-магазин” и “каждый”. На лендинге немало примеров работ для оффлайн бизнеса, поэтому появилась идея проверить, используют ли вообще эти категории бизнеса сервисы мультиссылок. И для этого пригодится информация с Яндекс Карт.
Поделим сайты на типы:
- сайты на собственном домене (или сделанные в конструкторе, или разработанные самостоятельно)
- сайты на домене конструктора
- страницы на домене сервиса мультиссылок
- последний тип организаций без сайта, но с соцсетью
Целевой аудиторией будут те организации, где последние три категории представлены в большом количестве. Почему так? Потому что компании, имеющие соцсети, развиваются, и многим из них в скором времени может понадобиться сайт. А большое количество организаций (определенной категории бизнеса), которые пользуются конструктором, говорит о том, что этому сегменту интересны сервисы мультиссылок. Бизнес со своим доменом с большой вероятностью не перейдет в Taplink.
Парсинг Карт
Перед тем, как что-то парсить, нужно узнать, есть ли у сервиса API. У Яндекс Карт оно есть, но там есть определенные ограничения. Найти XHR запросы в консоли разработчика или json‘ы в html странице мне не удалось, поэтому пришлось писать парсер на selenium и bs4.
Я разделил работу на две части. Первая: сбор ссылок на страницы организаций. Вторая: сбор информации по этим ссылкам.
Собираем ссылки организаций
LinksCollector
– это сборщик ссылок, в метод run
нужно передать город, район, тип организации и последний параметр type_org
– это тип организации (а также папка, куда складываются ссылки)
from selenium import webdriver from link_parser import LinksCollector driver = webdriver.Safari() grabber = LinksCollector(driver) grabber.run(city='Москва', district='район Арбат', type_org_ru='Кафе', type_org='cafe')
Внутри LinksCollector
: driver
открывает https://yandex.ru/maps, вводит нужный запрос, собирает все организации по запросу в регионе и сохраняет.
Parser
– это сборщик информации со страницы организации. В метод parse_data
нужно передать список ссылок hrefs
, которые мы нашли ранее и папку для сохранения информации type_org
(у меня такая же, как тип организации).
from selenium import webdriver from info_parser import Parser driver = webdriver.Safari() parser = Parser(driver) parser.parse_data( hrefs=["https://yandex.ru/maps/org/tsentr_pravovykh_konsultatsiy/1180977373/"], type_org='cafe' )
Внутри Parser
: webdriver
обходит все страницы по списку и собирает следующую информацию: название, сайт, соцсети, телефон, адрес, рейтинг, время работы. Можно собирать и товары, и услуги при желании. Для моего “исследования” нужны только соцсети и сайт.
Немного аналитики
В jupyter-ноутбуке можно посмотреть на то, какие организации какие типы сайтов используют.
Кафе практически никогда не используют мультиссылки. Используют чаще всего сайт на своем домене или соцсети. Что логично по нескольким причинам:
- Крупные сети или дорогие рестораны имеют средства на свой сайт.
- Небольшим кафе проще добавлять свое меню в Яндекс Картах или постить фото в соцсети.
Поэтому сервисам мультиссылок стоит задуматься об API соцсетей и переносить посты с фото себе. Или сосредоточится на клиентах другой категории. Taplink у себя в лендинге целый раздел завел с примером кафе, хотя стоило бы сделать пример для категории, которая будет использовать сервис чаще и реально является потенциальным клиентом.
Следущая категория – это “Ногтевая студия”. Почти все организации этого типа имеют соцсети, ведь нужно выкладывать фото красивых ноготочков. Но в отличие от “Кафе” некоторые имеют мультиссылки и используют их для записи в салон. Я думаю, если подумать над идеей переноса фото и постов из соцсетей, то пользователей будет больше, ведь тогда на красивые ноготочки можно будет смотреть на странице (мультиссылке).
Такие организации как “Отель”, “Фитнес” делают свои сайты. “Шоурумы”, как ни странно, тоже: для них важен модный дизайнерский сайт. Подробнее про то, как определялись типы сайтов, и больше аналитики можно посмотреть в ноутбуке.
Выводы
- Во-первых, сбор небольшого количества данных на коленке может помочь понять: какая ваша целевая аудитория и как себя лучше позиционировать.
- Просмотр их сайтов или соцсетей поможет понять, что нужно ЦА и какие фичи следует добавить, чтобы улучшить сервис.
Я надеюсь, вам понравилась статья.
Также надеюсь, что вам поможет парсер для ваших задач. Также не сомневаюсь, что многие могут написать его лучше. Тогда прошу делиться мыслями и идеями