Thanks to visit codestin.com
Credit goes to github.com

Skip to content

zhuravlstrogo/parser

Repository files navigation

Код написан под Ubuntu, MacOS. Для работы на сервере нужен Chrome version 114 и библиотеки из requirements.txt. Примерные шаги установки описаны в run.sh. Также для работы потребуется token API Поиска по организациям яндекса и список городов для парсинга в файле cities.txt.

Цель:

сбор данных по присутствию банкоматов различных банков во всех городах РФ для выстраивания аналитики с опорой на данные по расположению конкурентов в конкретном населенном пункте.

Реализованная механика:

По API Яндекс карт получение данных по одному банкомату одного выбранного банка в городе. Список городов передается через txt файл.

Ограничения:

Лимиты: В API Яндекс карт установлен дневной лимит на кол-во запросов – 500 штук.

Города без банкоматов банка: В случае, если банкомата в городе нет, Яндекс отдает данные по банкоматам соседнего города. Задача: проверять соответствие адреса банкомата и города, в котором происходит поиск банкоматов. Проверка на вхождение города в адрес пропускает ошибки содержания наименования города в любом месте адреса (совпадение названия улицы и города поиска).

Результат главной функции данного этапа: сформированный pickle файл со словарем, содержащим наименование города из передаваемого списка городов и yandex_id первого найденного банкомата.

Пример содержания pickle файла:

alt text

По данным из pickle файла с помощью библиотеки Selenium собирается весь список банкоматов, представленных в городе из раздела chain на сайте Яндекс Карт, url = f'https://yandex.ru/maps/org/{bank_name}/{yndx_bank_id}/chain/', результатом главной функции является сохранение данных в pickle файл в виде ссылок на каждый отдельный банкомат в городе в разрезе города и банкомата.

Пример содержания pickle файла:

alt text

Парсинг данных по банкоматам с использованием библиотеки для парсинга HTML и XML документов BeautifulSoup по найденным на предыдущем шаге ссылкам на банкоматы. Сохранение распарсенных данных в csv файл.

Пример вывода данных после парсинга:

alt text

About

🔎 parsing reviews and information about organizations

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published