Архитектура и принципы работы
Данный проект реализует асинхронный парсер для сбора данных с платформы ВКонтакте. Процесс работы основывается на асинхронной обработке с использованием Python, Selenium и BeautifulSoup. Архитектура направлена на поддержку масштабируемости и надежности при парсинге большого объема данных.
Основные технологии
Python asyncio — для асинхронной работы функций;
Selenium — управление браузером и имитация действий пользователя;
BeautifulSoup — парсинг HTML;
CSV — экспорт результатов.
Классы
Класс: SeleniumVkParser
Авторизация
Метод login_vk открывает VK, проходит многошаговую авторизацию, вводит телефон и пароль.
Поиск сообществ
Методы:
search_communities(query)— вводит ключевое слово в поиске по группам.get_community_links(max)— скроллит страницу вниз, собирая ссылки на найденные сообщества (до лимита).
Парсинг данных со страницы сообщества
Метод parse(community_links):
Переходит по каждой ссылке.
Открывает раздел "Подробнее".
Извлекает HTML, передаёт в
find_data_in_html.
Чтение HTML и извлечение данных
Метод find_data_in_html(html, title) ищет:
Описание,
Телефон,
Сайт,
Адрес,
Внешние ссылки,
Контакты.
Экспорт
Метод get_csv_result_string(data) формирует CSV-строку.