Как парсить яндекс карты
Перейти к содержимому

Как парсить яндекс карты

  • автор:

Парсинг Яндекс Карт или как найти целевую аудиторию

Всем привет, меня зовут Стешенко Артем. Я работаю в Data Science и также занимаюсь небольшим проектом по разработке страниц (или мультиссылок) для самозанятых.

Бизнес-задача

Перед тем как перейти к парсингу Яндекс Карт, расскажу, какую задачу я хотел решить.

Я решил узнать, кто является целевой аудиторией для сервисов мультиссылок, например Taplink. Если зайти на сайт Taplink’a [ссылка удалена модератором] , то они там показывают сценарии использования сервиса и пишут о категориях клиентов, на которые они ориентируются. Это “популярные люди”, “бизнес”, “интернет-магазин” и “каждый”. На лендинге немало примеров работ для оффлайн бизнеса, поэтому появилась идея проверить, используют ли вообще эти категории бизнеса сервисы мультиссылок. И для этого пригодится информация с Яндекс Карт.

Скрин лендинга https://taplink.ru/

Скрин лендинга https://taplink.ru/

Поделим сайты на типы:

сайты на собственном домене (или сделанные в конструкторе, или разработанные самостоятельно)

сайты на домене конструктора

страницы на домене сервиса мультиссылок

последний тип организаций без сайта, но с соцсетью

Целевой аудиторией будут те организации, где последние три категории представлены в большом количестве. Почему так? Потому что компании, имеющие соцсети, развиваются, и многим из них в скором времени может понадобиться сайт. А большое количество организаций (определенной категории бизнеса), которые пользуются конструктором, говорит о том, что этому сегменту интересны сервисы мультиссылок. Бизнес со своим доменом с большой вероятностью не перейдет в Taplink.

Парсинг Карт

Перед тем, как что-то парсить, нужно узнать, есть ли у сервиса API. У Яндекс Карт оно есть, но там есть определенные ограничения. Найти XHR запросы в консоли разработчика или json‘ы в html странице мне не удалось, поэтому пришлось писать парсер на selenium и bs4.

Я разделил работу на две части. Первая: сбор ссылок на страницы организаций. Вторая: сбор информации по этим ссылкам.

Собираем ссылки организаций

LinksCollector — это сборщик ссылок, в метод run нужно передать город, район, тип организации и последний параметр type_org — это тип организации (а также папка, куда складываются ссылки)

Внутри LinksCollector : driver открывает https://yandex.ru/maps, вводит нужный запрос, собирает все организации по запросу в регионе и сохраняет.

Пример работы парсера

Пример работы парсера

Parser — это сборщик информации со страницы организации. В метод parse_data нужно передать список ссылок hrefs , которые мы нашли ранее и папку для сохранения информации type_org (у меня такая же, как тип организации).

Внутри Parser : webdriver обходит все страницы по списку и собирает следующую информацию: название, сайт, соцсети, телефон, адрес, рейтинг, время работы. Можно собирать и товары, и услуги при желании. Для моего «исследования» нужны только соцсети и сайт.

Немного аналитики

В jupyter-ноутбуке можно посмотреть на то, какие организации какие типы сайтов используют.

Кафе практически никогда не используют мультиссылки. Используют чаще всего сайт на своем домене или соцсети. Что логично по нескольким причинам:

Крупные сети или дорогие рестораны имеют средства на свой сайт.

Небольшим кафе проще добавлять свое меню в Яндекс Картах или постить фото в соцсети.

Поэтому сервисам мультиссылок стоит задуматься об API соцсетей и переносить посты с фото себе. Или сосредоточится на клиентах другой категории. Taplink у себя в лендинге целый раздел завел с примером кафе, хотя стоило бы сделать пример для категории, которая будет использовать сервис чаще и реально является потенциальным клиентом.

https://taplink.ru/ https://taplink.ru/

Следущая категория — это «Ногтевая студия». Почти все организации этого типа имеют соцсети, ведь нужно выкладывать фото красивых ноготочков. Но в отличие от «Кафе» некоторые имеют мультиссылки и используют их для записи в салон. Я думаю, если подумать над идеей переноса фото и постов из соцсетей, то пользователей будет больше, ведь тогда на красивые ноготочки можно будет смотреть на странице (мультиссылке).

Такие организации как «Отель», «Фитнес» делают свои сайты. «Шоурумы», как ни странно, тоже: для них важен модный дизайнерский сайт. Подробнее про то, как определялись типы сайтов, и больше аналитики можно посмотреть в ноутбуке.

Выводы

Во-первых, сбор небольшого количества данных на коленке может помочь понять: какая ваша целевая аудитория и как себя лучше позиционировать.

Просмотр их сайтов или соцсетей поможет понять, что нужно ЦА и какие фичи следует добавить, чтобы улучшить сервис.

Я надеюсь, вам понравилась статья.

Также надеюсь, что вам поможет парсер для ваших задач. Также не сомневаюсь, что многие могут написать его лучше. Тогда прошу делиться мыслями и идеями

Парсер Яндекс-карт (справочника организаций)

Покупаю прямо сейчас!

Лучшие региональные справочники организаций были тщательно отобраны командой Яндекса, и данные из них отображаются на Яндекс-картах. Кроме того, многомиллионная аудитория Яндекса имеет возможность самостоятельно добавлять и актуализировать информацию о компаниях. Такое сочетание готовых справочников и пользовательских данных составляет серьезную конкуренцию ДубльГИСу (программа для которого здесь).

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

Менее объемный рубрикатор (по сравнению с 2GIS) во многих случаях является преимуществом. Кроме краткого рубрикатора, есть и полный, на более чем 1000 рубрик.

Актуальность данных в 2GIS обеспечивается обзвоном организаций сотрудниками ДубльГис, в то время как актуальность справочника организаций Яндекс-Карт обеспечивается множественными поставщиками данных и пользователями Яндекса. Тот или иной подход в разных случаях может быть более полезным, однозначного победителя здесь нет.

Для работы с найденными контактами организаций вы можете делать так: зайти на сайт Яндекс-Карт, открыть справочник организаций, и последовательно открывать одну компанию за другой, выбирать подходящие, копировать их название и контактные данные в Excel, а затем уже делать свои пометки: «не дозвонился», «отправил предложение на email» и т.д. Это копирование с сайта в таблицу Excel занимает огромное количество времени!

Мы предлагаем вам другой подход : использовать программу — парсер организаций Яндекс-Карт, которая самостоятельно скопирует информацию об интересующих вас компаниях с сайта в Excel, и сэкономит ваши силы и время. Вы получите готовый к обработке список компаний, в котором можно делать примечания, отфильтровывать неинтересные компании и т.д.

Программа-парсер Яндекс-Карт по сбору данных об организациях будет полезна:
— менеджерам по продажам для поиска покупателей
— менеджерам по закупкам для поиска поставщиков
— маркетологам для изучения рынка
— руководителям компаний для поиска партнеров и клиентов

Предлагаемая нами программа-парсер организаций Яндекс-карт позволяет собирать следующую информацию:

  • Название организации
  • Рубрики/Отрасли/Категории организации
  • Индекс/Страна/Регион/Район/Город/Улица/Дом в отдельных колонках
  • Полный адрес
  • Телефоны мобильные — для sms/Viber/WhatsApp-рассылки
  • Телефоны остальные — для холодных звонков
  • Сайт
  • Email с сайта компании(программа многопоточно просканирует сайт компании на заданную пользователем глубину)
  • ИНН с сайта компании
  • График работы
  • Геоданные (координаты): широта и долгота
  • Данные по отзывам, оценкам и рейтингу
  • ID и название филиальной сети
  • Услуги(атрибуты) организации
  • Ссылки на социальные сети (ВКонтакте/Одноклассники/Facebook/Instagram/YouTube/Twitter/Telegram/Viber/WhatsApp)
  • Ссылка на карточку компании на Яндекс-картах
  • Все сайты и все телефоны в отдельных ячейках.
  • Ссылка на онлайн-запись (например, на yclients.com или taplink.cc)
  • Ссылка на оформление заказа (например, на eda.yandex.ru или restoran.ru
  • Признак продвижения (приоритетное размещение на картах)
  • Дополнительные данные — сделаем индивидуальную настройку выгрузки по запросу!
  • Обратите внимание, парсер отзывов и фотографий — здесь, и есть ещё парсер товаров и цен YMapsPricesParser (подробности в техподдержке).

Программа позволяет задать нужный участок на карте, одну или несколько категорий, и собрать все соответствующие данные нажатием одной кнопки . Например, можно отметить рубрику «парикмахерские», выбрать нужный регион, и собрать все парикмахерские из заданной области одной кнопкой!

Программа умеет работать с сервисом автоматического распознавания капчи для разгадки выдаваемых Яндексом картинок. Вам необходимо иметь аккаунт в этом сервисе для пользования парсером. Минимального баланса в 1$ обычно хватает на несколько месяцев использования антикапчи.

Парсер Яндекс.Карт умеет работать через прокси! Если в вашей корпоративной сети в настройках браузера нужно указывать какой-то прокси (нет прямого выхода в интернет) — программа сможет работать и у вас. Если ваш IP-адрес заблокируют, вы сможете с помощью прокси обойти блокировку. Для включения работы через прокси запишите параметры прокси в формате login:password@ip:port в файл proxy.txt в папке программы. Запустите выгрузку, программа напишет в окне логов, что начала использовать прокси.

После завершения работы программы файл с результатами автоматически открывается в Excel (если установлен MS Office) или Calc (если установлен OpenOffice). Файл имеет имя вида data***.csv . Результатом сбора являются такие файлы: пример файла с информацией о компаниях на Яндекс-Картах, выгруженной парсером.

Файл Excel с данными с Яндекс-Карт

Файл Excel с данными, собранными с Яндекс-Карт

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

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

В отличие от парсера 2гис, список городов в парсере Яндекс-карт отсутствует (можно сказать, что он бесконечен) — вы можете выбрать любую область карты, которая вам нужна, и собрать данные с любого количества городов! Если заданная вами область будет слишком велика, программа автоматически разобьет её на несколько более мелких — настолько мелких, чтобы можно было собрать все организации.

Если не использовать разбиение области, собрать все организации невозможно.
Возьмем, к примеру, школы танцев Петербурга. Сайт обещает нам 1144 организации в рубрике:

Обещанное количество школ танцев Петербурга

Обещанное количество школ танцев Петербурга

Если зайти в рубрику и прокрутить список до конца (до появления надписи «добавьте организацию, если не нашли их»), окажется что в списке — только менее половины от обещеннаго количества. Можно скопировать список куда-то для подсчёта количества, а можно посмотреть в запросах браузера к сайту: после загрузки 500 организаций были запрошены следующие 25, и на этом загрузка списка закончилась:

Фактически показанное количество школ танцев Петербурга - менее половины

Фактически показанное количество школ танцев Петербурга — менее половины

Однако, полностью доверять обещанному Яндекс-картами количеству не стоит, он может несколько завышать обещания по количеству организаций. К примеру, откроем Волоколамск и введём в поиск «Автошкола». Сайт обещает нам 3 организации:

Обещанное количество Автошкол Волоколамска - три

Обещанное количество Автошкол Волоколамска — три

Если кликнуть по стрелочке, то окажется на самом деле, что автошкол всего две:

Фактически показанное количество Автошкол Волоколамска - две

Фактически показанное количество Автошкол Волоколамска — две

Наш парсер выгружает все организации, которые фактически показывают Яндекс-карты.

Программа умеет приостанавливать свою работу, и продолжать её. Паузу можно включать вручную, а если отключится интернет — программа поставит себя на паузу автоматически. Если во время сбора на сайте возникнет ошибка, и программа не сможет получить данные — она поставит себя на паузу на некоторое время, затем автоматически проснется и сделает еще несколько попыток получить те же данные.

Два индикатора показывают ход выполнения работы. Синий показывает прогресс по рубрикам, зеленый индикатор показывает прогресс сбора данных текущего этапа работы.

Парсер яндекс-карт умеет работать в режиме получения списка новых организаций в базе. При запуске сбора парсер ищет файл skip.txt в своей папке, и загружает оттуда список ID организаций, которые не нужно загружать. Если Вы собрали какую-то рубрику некоторое время назад, возьмите из старого файла результатов первую колонку с числовыми ID организаций, и поместите этот список в файл skip.txt в папке программы. Запустите сбор той же рубрики, парсер пропустит все старые организации, и на выходе вы получите список только новых организаций заданной рубрики.

Скриншот программы для парсинга Яндекс-карт:

Скриншот парсера организаций Яндекса

Что вы получаете, покупая у нас программу:

И это всё вам!Богатый функционал для любых бизнес-задач
И это всё вам!Возможность выгрузки по заданной ссылке на карту любого масштаба — по ссылке может быть три дома, а может вся страна
И это всё вам!Возможность выгрузки по заданному списку ссылок в файле — например, там могут быть 37 ссылок на города присутствия Вашей компании
И это всё вам!Список готовых ссылок на разные города и регионы — в комплекте с программой
И это всё вам!Возможность выгрузки по произвольному списку запросов / ключевых слов
И это всё вам!Возможность выгрузки по полному списку рубрик, упорядоченному по алфавиту
И это всё вам!Возможность выгрузки по дереву рубрик, структурированному по тематикам
И это всё вам!Запоминание отмеченных городов и рубрик при выходе из программы, и восстановление их при запуске. Запускайте несколько копий программы с разными профилями выгрузки из разных папок, в том числе одновременно!
И это всё вам!Корректная обработка ошибок Яндекс-карт — программа поставит себя на паузу, пока на сайте идут работы, чтобы не пропустить ни одной компании
И это всё вам!Корректная обработка ошибок подключения к сети — программа поставит себя на паузу, пока вы везете ноутбук из офиса домой, и продолжит сбор после приезда домой
И это всё вам!Поддержка работы через прокси-сервер для адаптации к инфраструктуре вашей компании или для обхода блокировки
И это всё вам!Корректная обработка ошибок подключения к сети — программа поставит себя на паузу, пока вы везете ноутбук из офиса домой
И это всё вам!Возможность автоматического сбора ИНН с сайтов компаний
И это всё вам!Возможность сбора адресов электронной почты email с сайтов компаний, в том числе с защищенных
И это всё вам!Возможность задавать количество страниц, сканируемых на сайтах компаний, и менять это количество «на лету» в процессе сбора
И это всё вам!Многопоточное сканирование сайтов компаний: до 50 параллельных потоков
И это всё вам!Программа при сканировании сайтов компаний умеет находить скрытые адреса электронной почты (например такие: office[at]mail.ru, office@mail[DOT]ru, office[собака]mail.ru и другие подобные хитрости)
И это всё вам!Визуальная индикация прогресса сбора с помощью разноцветных индикаторов
И это всё вам!Возможность пропускать ненужные/старые компании с помощью функции skip
И это всё вам!Программа автоматически задает имя файла с новой выгрузкой, не нужно искать куда и с каким именем сохранить, чтобы не потерять
И это всё вам!Программа автоматически открывает файл выгрузки после завершения сбора — невозможно не заметить
И это всё вам!Возможность сразу пользоваться собираемыми данными, еще до завершения полного сбора
И это всё вам!Прозрачный, интуитивно понятный интерфейс
И это всё вам!Надежная работа с любым качеством Интернет-соединения
И это всё вам!Высокое качество продукта — гарантия отсутствия глюков/перезагрузок/и т.д.
И это всё вам!Возможность оплаты через расчетный счет с закрывающими бухгалтерскими документами
И это всё вам!Оперативная бесплатная техподдержка от профессиональных разработчиков
И это всё вам!Бесплатные обновления программы — на год, или навсегда, без ограничения срока!

И это всё вам! БОНУС ! Программа для отбора новых компаний в базе Яндекс-карт стоимостью 3.500Р — бесплатно!

И это всё вам! БОНУС ! Программа для склеивания нескольких баз в одну (например, для склеивания баз Абакана, Архангельска и Астрахани в одну базу «А») стоимостью 2.000Р — бесплатно!

И это всё вам! БОНУС! Скидки на другие наши программы для сбора контактов — до 3.750Р!

И это всё вам! БОНУС! Секретный бонус! Какой? — узнаете после покупки! />

Стоимость парсера Яндекс-карт сегодня: 7.500Р от 1490 до 9900 рублей в зависимости от выбранных опций!)

100% безопасности!

Одноминутная готовность!

Нажмите кнопку покупки, оформите заказ на защищённом сервере OnWiz, оплатите заказ в автоматическом режиме, и Вам будет автоматически выслана лицензия. Всего 1 минута отделяет Вас от возможности делать выгрузки!

Выберите подходящий вариант ниже

нет необходимости переплачивать за ненужные опции!

Ниже!

Парсер без указанных выше бонусов
Парсер с КОМПЛЕКТОМ БОНУСОВ, перечисленных выше

Те, кто покупает парсер организаций Яндекс-карт, чаще всего покупают и программу для карт ДубльГИС. Узнайте подробности о ней здесь: https://soksaitov.ru/2gis-parser/

Хотите заказать подобную программу для другого сайта — закажите у нас создание парсера.

Извлечение информации

Вам необходимо собрать данные с какого-то сайта? Представить их в удобном для обработки виде?
Мы делаем это ежедневно, и делаем хорошо!

Покажите нам сайт, расскажите что нужно извлечь оттуда и в каком виде, и всё остальное мы сделаем в лучшем виде, быстро и качественно!

Готовые базы

Вам нужна стандартная база, которой пользуются все Ваши конкуренты? У нас есть готовые базы, например база предприятий Москвы. Готовые базы — самый быстрый способ получения необходимой Вам информации!

Мы можем сделать любую выборку под Вашу задачу, например извлечь из полной базы только стоматологов.

Software / Программы

Вам нужно делать множество извлечений информации с какого-либо сайта? В этом случае оптимальным вариантом будет приобретение программы, которая позволит Вам самостоятельно осуществлять сбор данных с нужного сайта.
Пример: наш парсер резюме HH.ru, наш парсер Яндекс-Карт, другие парсеры.

Мы можем разработать программу под нужный Вам сайт, и у нас уже есть готовые программы под некоторые сайты.

Как парсить яндекс карты

где text = категория, а sspn — координаты
в ответ получаете json данные.

Цитата:

по примеру ссылки мне выдаёт Unauthorized (хотя я на Яндексе авторизован

так никто же не говорил, что они ничего менять не будут.
неизменное, на какое то время, это API, если есть.
а когда так, "неофициально", то будут стараться наоборот делать, чтобы не повторяли подобного.

надо смотреть запрос.. добавили ключ какой то
maps.yandex.ru/?text=Органы+власти&where=&sll=30.31349700000001,59.93853099999101&sspn=1.0848999023437322,0.16951489115989204&source=catalog&key=u218352bdc9f6c1b68109188713bb151d&output=json

он может быть привязан к IP, к примеру.

ps: ну да, сначала нужно запросить страницу, вытащить из нее ключ

Цитата:

'secret-key':'32 символа',

и использовать его в запросах
так же нужно использовать, возможно, и куки со страницы.

Результат все равно: HTTP/1.0 401 Unauthorized

Если же в броузере это делаю, то трюк проходит. Похоже, еще куку смотрит или как-то по заголовкам понимает, что робот?

Цитата:

Похоже, еще куку смотрит или как-то по заголовкам понимает, что робот?

заголовки видны те, что вы отправляете скриптом.
куки — да, остальное — без проблем имитируется как запрос браузера.

Цитата:

Да, точно куку смотрит.

ну так сохраняйте ее при запросе страницы с ключом и используйте далее в запросах.

Цитата:

все равной получаю "неавторизованный запрос".

ну неправда..

function send_request($url)
<
$headers = array(
"User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
"Accept: */*",
"Accept-Language: en-US,en;q=0.8,ru;q=0.6",
"Accept-Encoding: gzip, deflate,sdch",
"Connection: keep-alive",
);

Тема оочень интересная и ОООчень мне сейчас нужная. но я не разу не программист. подскажи если не сложно куда этот код вставлять чтобы он функционировал (парсил организации с яндекс карты).
заранее спасибо за понимание и ответ!)
Дружищи я в вашу честь на столе джигу-дрыгу отпляшу!)

парни сильно не пинайте ламу. все мы ведь разные. вы в компах спецы я в других делах) будите у меня на работе (завод мет. конструкций) я вам бесплатно Этажный щит подарю) или профиль согну любой. или мангал сварю)

Name already in use

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

plot

  1. change type_org_mapping from constants.py, ( type_org_mapping = ‘folder name’: ‘query’ For example, type_org_mapping = ‘showroom’: ‘Шоу-рум’ )
  • creating selenium webdriver.
  • creating LinksCollector object.
  • run collecting links with params of city, district, organization type and folder name for saving results.
  • creating selenium webdriver.
  • creating Parser object.
  • parse data with params of hrefs list, folder name of links from prev step

About

Parsing Yandex Maps with selenium and analysis organization site types

Topics

Resources

Stars

Watchers

Forks

Releases

Packages 0

Languages

Footer

© 2023 GitHub, Inc.

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *