Skip to main content

This is the yandex search engine parser

Project description

Парсер поисковой выдачи Яндекса

Описание классов

SiteParser

Описание: Основной класс для парсинга контактных данных с веб-страниц. Извлекает телефоны, email, адреса и ссылки на соцсети.

Методы:

  • async parse(links: list[str]) -> list[SiteParserData] - Асинхронно обрабатывает список URL и возвращает структурированные данные
  • __parse_link(link: str) - Внутренний метод парсинга отдельной страницы
  • __try_parse_link(link: str) - Обертка с обработкой ошибок для __parse_link

YandexSearchLinksParser

Описание: Парсер для извлечения ссылок из HTML-выдачи Яндекса с фильтрацией нежелательных доменов.

Поля:

  • IGNORE_LINKS - Список игнорируемых доменов (yandex.ru, youtube.com и др.)

Методы:

  • parse() -> list[str] - Основной метод извлечения и фильтрации ссылок
  • is_ignored(domain: str) -> bool - Проверяет домен на наличие в черном списке
  • _links (property) - Возвращает все найденные ссылки в HTML

YandexAPI

Описание: Базовый клиент для работы с API Yandex Cloud с IAM-аутентификацией.

Особенности:

  • Автоматическое обновление IAM-токенов
  • Кэширование токенов в БД
  • Поддержка асинхронных запросов

Методы:

  • async create() -> YandexAPI - Фабричный метод инициализации
  • __refresh_IAM_token() - Обновление токена при необходимости
  • __get_IAM_token_from_db() - Получение токена из БД
  • __write_IAM_token_to_db() - Сохранение токена в БД

YandexSearchTextApiV1

Описание: Клиент для работы с Yandex Search API (версия 1).

Особенности:

  • Поддержка дневного/ночного парсинга
  • Ограничение запросов (RPS control)
  • Сохранение результатов в файлы и БД

Методы:

  • async search(query_text: str, p_type: ParserType, search_id: int) - Основной метод поиска
  • __fetch() - Выполнение запроса к API
  • __try_search() - Обертка с обработкой ошибок для __fetch

ParserRouter

Описание: FastAPI роутер для обработки запросов парсинга.

Эндпоинты:

  • POST /parser/request/create - Запуск нового парсинга
  • GET /parser/csv/{search_id} - Получение результатов в CSV
  • GET /parser/search/status - Проверка статуса выполнения

DB Models

Основные модели:

  • Search - Поисковые запросы пользователей
  • RequestResult - Результаты парсинга страниц
  • SiteParserData - Извлеченные контактные данные
  • IAM - Токены для API Яндекса

UnitOfWork

Описание: Паттерн Unit of Work для управления транзакциями БД.

Особенности:

  • Асинхронная работа с SQLAlchemy
  • Автоматическое управление сессиями
  • Поддержка репозиториев

Деплой проекта на PyPi

https://packaging.python.org/en/latest/tutorials/packaging-projects/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

novikovtv_parser_yandex-1.0.1.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

novikovtv_parser_yandex-1.0.1-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

Details for the file novikovtv_parser_yandex-1.0.1.tar.gz.

File metadata

  • Download URL: novikovtv_parser_yandex-1.0.1.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for novikovtv_parser_yandex-1.0.1.tar.gz
Algorithm Hash digest
SHA256 faff8f82825bf6de13cfeb8c4a346027edd474bd21f06202c99fc00a46e4a0ff
MD5 5746167c71159f89fb21d5ae8f15d765
BLAKE2b-256 2e5be2c04a8269430fe69f5325e78ffd03fd6a7811bd78618bfc0079679ce7e5

See more details on using hashes here.

File details

Details for the file novikovtv_parser_yandex-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for novikovtv_parser_yandex-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 35a65e79f8ade73c9af81a749a0770c5c780147611704c8a8c937f37fa7465e3
MD5 8a3edc06ee330cbb5b17277b3754b452
BLAKE2b-256 9d6798b70fbcab90db7139bab77e3f4da8b0ebeede5126ce9fa2c0c85cebf44b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page