BuxarParser: асинхронный сбор данных из Google, Яндекса и DuckDuckGo с ручным решением капчи и гибкими настройками


Рубрика: Скрипты для автоматизации
Метки: | | | | |
Просмотров: 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 — продуманный, гибкий и устойчивый к блокировкам инструмент для сбора данных из поисковых систем. Он закрывает потребности как разовых исследований, так и регулярного мониторинга, предоставляя пользователю полный контроль над процессом: от списка запросов до финального отчёта. Благодаря асинхронной архитектуре, ручному решению капчи, дедупликации и фильтрации мусора, парсер справляется с задачами, которые часто оказываются не по зубам простым скриптам.

Ссылки на проект: