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.5.tar.gz (16.1 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.5-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: novikovtv_parser_yandex-1.0.5.tar.gz
  • Upload date:
  • Size: 16.1 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.5.tar.gz
Algorithm Hash digest
SHA256 628fb0aa609714e0718d6b61a64d0a81984e570c560d383528aa4692adace0e1
MD5 be9c2169891a89e104a3b750a0edcc77
BLAKE2b-256 5f380d8dd35f774f7bc7aa18cd170f0695a56b9509a103f6a0e16f340cbe1a5a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for novikovtv_parser_yandex-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 71fa3eee54ed01e082dc573e266acf638d6fea655cf9988a3f6631f7f2ad8423
MD5 28152bd284d7c4b4902845e671fdeb46
BLAKE2b-256 2eae8397b92acd4f21cc161aaef68d067e7a74cadcf841d76ac43733b03ad65b

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