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.4.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.4-py3-none-any.whl (23.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: novikovtv_parser_yandex-1.0.4.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.4.tar.gz
Algorithm Hash digest
SHA256 8c1a7d9c1cec850b680aeeed3c56206f8596ee20da697f7224987b987f091a25
MD5 6eb4abe677955cad9148ffe985a70ac6
BLAKE2b-256 af5c09d4e54116952a75542d101b957addda8b6244968f258497869cde3d9cb7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for novikovtv_parser_yandex-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5302b5ffb00ade9a77cd85e60deff71408989c2f9bfe5428caccb861858070a8
MD5 fb114ea77d98a9209976e903d51247f0
BLAKE2b-256 c70c1742c0a5e93e20094961dfcca6e11b86c0479ba6bf7ba4cfcf8610db10fc

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