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

Uploaded Python 3

File details

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

File metadata

  • Download URL: novikovtv_parser_yandex-1.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 9508cc5b0b266b09222f83953745d98646ba16b7f6e4e3ef3acf4974bbf227b1
MD5 6714b4897df1561d34d353569a93fc7b
BLAKE2b-256 07e11c621b602f28bbbe1e48f86c7c0adfdcc0b72392ad8e20b1130a3f84f3eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for novikovtv_parser_yandex-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3445cb3c41d9a497bf317215f7ff0f0738f0f7505fe98dacfa1d3111c51d3522
MD5 1b302039bc430e0a2f10eca825a912ae
BLAKE2b-256 0703529d9bb077c9f7ab28c592d4557fe11b91651121ec60d9cb96dd76449db6

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