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.3.tar.gz (15.9 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.3-py3-none-any.whl (23.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: novikovtv_parser_yandex-1.0.3.tar.gz
  • Upload date:
  • Size: 15.9 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.3.tar.gz
Algorithm Hash digest
SHA256 c054ba5254a56bdb3ef2685156169ad889c2270f6f0a4dc351d521a5b47defdf
MD5 b547e3edd1a9544470a59bb31116d071
BLAKE2b-256 2c8fa9c79796cc26eea7d9e8584e313eebe36fbad5b557fb3c7967a72af0a4b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for novikovtv_parser_yandex-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0be3d04d11f0260a1355e55e779c1938e98fa2dd3753252d10cb816c601d0b31
MD5 4a4aa3105951dc4b297515e115665360
BLAKE2b-256 b1ad9862b94f140d030a9b3abc1894380c9aef15a8df23c49ff1f965ebe31b32

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