BuxarParser: асинхронный сбор данных из Google, Яндекса и DuckDuckGo с ручным решением капчи и гибкими настройками
Рубрика: Скрипты для автоматизации
Метки: BuxarParser | DuckDuckGo | Google | Parser | парсер | Яндекс
Просмотров: 37
BuxarParser: асинхронный сбор данных из Google, Яндекса и DuckDuckGo с ручным решением капчи и гибкими настройками
BuxarParser — это асинхронный парсер поисковых систем, предназначенный для автоматизированного сбора ссылок из выдачи Google, Яндекс и DuckDuckGo. Инструмент ориентирован на задачи, где важна не только скорость, но и устойчивость к блокировкам, удобство логирования и возможность тонкой настройки под конкретные запросы.
Проект решает проблему ручного копирования ссылок и позволяет собирать данные в автоматическом режиме, предусматривая интерактивное решение капчи и эмуляцию поведения реального пользователя. BuxarParser подходит для SEO-специалистов, аналитиков, исследователей и разработчиков, которым нужен чистый и структурированный список URL по заданным поисковым запросам.
Ключевые возможности
Поддержка трёх поисковых систем
Парсер умеет работать с Google, Яндекс и DuckDuckGo. Выбор поисковика задаётся одной цифрой в конфигурационном файле, что позволяет быстро переключаться между источниками данных.
Гибкая пагинация
Можно указать не только количество обрабатываемых страниц выдачи, но и стартовую позицию. Это даёт возможность собирать данные частями и избегать повторной обработки одних и тех же результатов.
Работа со списком запросов из внешнего файла
Запросы загружаются из текстового файла queries.txt. Каждый запрос обрабатывается последовательно. В файле можно оставлять комментарии — это удобно для группировки и временного отключения отдельных позиций.
Два режима работы браузера
Парсер может запускаться в видимом режиме, чтобы вы могли вручную решить возникшую капчу, или в фоновом (headless) для полностью автоматической работы, когда появление проверок маловероятно.
Ручное прохождение капчи
При обнаружении проверки скрипт приостанавливается и ожидает действий пользователя. Браузер остаётся открытым, вы решаете капчу вручную, после чего парсинг продолжается автоматически. Это ключевое отличие от многих автоматических парсеров, которые пасуют перед капчей.
Антидетект и имитация поведения
Используются случайные User-Agent, отключаются флаги автоматизации, настраиваются реалистичные задержки между запросами (от 4 до 8 секунд по умолчанию). Всё это снижает риск блокировки и делает парсер менее заметным для поисковых систем.
Дедупликация результатов
Система автоматически исключает повторяющиеся домены из выдачи. Даже если один и тот же сайт встречается на разных страницах или по разным запросам, в финальный файл он попадёт только один раз.
Фильтрация по чёрному списку доменов
Можно задать перечень нежелательных ресурсов (соцсети, доски объявлений, спам-сайты), которые будут исключены из результатов. Это экономит время на постобработку.
Конвертация в HTML-отчёт
В комплекте идёт отдельный скрипт convert_to_html.py, который превращает сырой список ссылок в удобный читаемый HTML-файл с оформлением. Отчёт можно открыть в браузере и комфортно изучать.
Логирование и отладка
Все логи, скриншоты ошибок и капч сохраняются в отдельную папку log/. После успешного решения капчи её скриншот удаляется автоматически, чтобы не засорять пространство. При ошибках загрузки делаются скриншоты, которые помогают в диагностике.
Структура проекта
Проект организован так, чтобы рабочая директория оставалась чистой. В папке src/ находятся исполняемые файлы, конфиг, файл запросов, а также подпапка log/ для всех временных и отладочных данных. Результаты сохраняются в results.txt, после конвертации — в results.html. Такая структура удобна при многократных запусках и автоматизации.
Основные параметры настройки
Настройка производится через файл config.ini. Основные группы параметров:
Общие — задают имена файлов для результатов и логов, уровень детализации (INFO, DEBUG и т.д.).
Поисковые — определяют используемый поисковик (Google, Яндекс, DuckDuckGo), начальную страницу, глубину обхода, задержки между запросами и время ожидания решения капчи (таймаут, после которого парсер завершит попытку).
Браузерные — включают или отключают headless-режим, задают размер окна браузера.
Исключения — содержат список доменов, которые нужно отбросить на этапе фильтрации.
Все настройки снабжены комментариями в самом файле, что упрощает первое знакомство.
Установка и запуск
Проект использует современный менеджер пакетов uv, что обеспечивает быструю и изолированную установку зависимостей. После клонирования репозитория создаётся виртуальное окружение, устанавливаются пакеты из requirements.txt и браузер Chromium для Playwright.
Первый запуск рекомендуется производить в видимом режиме (headless = false), чтобы проконтролировать возможное появление капчи и при необходимости решить её вручную. После успешного сбора данных можно запустить скрипт конвертации и получить аккуратный HTML-отчёт.
Для кого этот инструмент
BuxarParser будет полезен:
- SEO-специалистам, собирающим ссылки для анализа конкурентов или поиска площадок для размещения;
- маркетологам, исследующим выдачу по коммерческим запросам;
- аналитикам, которым нужны массивы данных для обучения моделей или статистики;
- разработчикам, интегрирующим парсинг в свои системы и нуждающимся в надёжном модуле сбора данных.
Важные ограничения и рекомендации
Поисковые системы официально запрещают автоматический сбор данных. Использование парсера должно быть ответственным и не нарушать условия использования сервисов. При высокой частоте запросов возможна временная блокировка IP или появление капчи. Рекомендуется выставлять адекватные задержки, использовать смену User-Agent и при необходимости решать капчу вручную. Параметры request_delay_min/max позволяют настроить случайную паузу, снижающую нагрузку на поисковик.
Поддержка проекта
Автор предлагает несколько способов поддержать разработку: криптовалютные переводы (Bitcoin, Ethereum, USDT), ЮMoney или международные переводы через Paysera. Это помогает поддерживать проект актуальным и дорабатывать функционал.
Вывод
BuxarParser — продуманный, гибкий и устойчивый к блокировкам инструмент для сбора данных из поисковых систем. Он закрывает потребности как разовых исследований, так и регулярного мониторинга, предоставляя пользователю полный контроль над процессом: от списка запросов до финального отчёта. Благодаря асинхронной архитектуре, ручному решению капчи, дедупликации и фильтрации мусора, парсер справляется с задачами, которые часто оказываются не по зубам простым скриптам.
Ссылки на проект:
