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}- Получение результатов в CSVGET /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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9508cc5b0b266b09222f83953745d98646ba16b7f6e4e3ef3acf4974bbf227b1
|
|
| MD5 |
6714b4897df1561d34d353569a93fc7b
|
|
| BLAKE2b-256 |
07e11c621b602f28bbbe1e48f86c7c0adfdcc0b72392ad8e20b1130a3f84f3eb
|
File details
Details for the file novikovtv_parser_yandex-1.0.2-py3-none-any.whl.
File metadata
- Download URL: novikovtv_parser_yandex-1.0.2-py3-none-any.whl
- Upload date:
- Size: 23.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3445cb3c41d9a497bf317215f7ff0f0738f0f7505fe98dacfa1d3111c51d3522
|
|
| MD5 |
1b302039bc430e0a2f10eca825a912ae
|
|
| BLAKE2b-256 |
0703529d9bb077c9f7ab28c592d4557fe11b91651121ec60d9cb96dd76449db6
|