RezkaScraper — это мини библиотека на Python для асинхронного поиска контента (аниме, фильмов, сериалов и мультфильмов) на сайте Rezka.ag.
- Поиск по названию: Выполняет поиск по ключевому слову и возвращает первое совпадение.
- Поиск по категориям: Поддержка категорий аниме, фильмы, сериалы, мультфильмы с пагинацией.
- Возврат изображений: Возможность получать ссылки на обложки контента.
pip install rezka-scraper
import asyncio
from rezka_scraper import RezkaScraper
async def main():
scraper = RezkaScraper()
try:
# Пример с обложкой!
# Поиск по названию параметр images=True передан в метод search_rezka, он дополнительно вернет ссылку на обложку контента. Если обложка не нужна установите images=False.
title, link, image_url = await scraper.search_rezka("Рик и морти", images=True)
if title:
print(f"Найдено: {title}\nСсылка: {link}\nОбложка: {image_url}\n")
else:
print("Ничего не найдено по запросу.\n")
except Exception as e:
print(f"Ошибка при поиске по названию: {e}\n")
try:
# Пример без обложки!
# Поиск по названию параметр images=True передан в метод search_rezka, он дополнительно вернет ссылку на обложку контента. Если обложка не нужна установите images=False.
title, link = await scraper.search_rezka("Рик и морти", images=False)
if title:
print(f"Найдено: {title}\nСсылка: {link}\n")
else:
print("Ничего не найдено по запросу.\n")
except Exception as e:
print(f"Ошибка при поиске по названию: {e}\n")
try:
# Поиск аниме с пагинацией (по умолчанию первая страница)
anime_results = await scraper.search_anime(page=1)
print("Аниме на первой странице:")
for title, link in anime_results:
print(f"{title} - {link}\n")
except Exception as e:
print(f"Ошибка при поиске аниме: {e}\n")
try:
# Поиск фильмов с пагинацией (по умолчанию первая страница)
movies_results = await scraper.search_movies(page=1)
print("Фильмы на первой странице:")
for title, link in movies_results:
print(f"{title} - {link}\n")
except Exception as e:
print(f"Ошибка при поиске фильмов: {e}\n")
try:
# Поиск сериалов с пагинацией (по умолчанию первая страница)
series_results = await scraper.search_series(page=1)
print("Сериалы на первой странице:")
for title, link in series_results:
print(f"{title} - {link}\n")
except Exception as e:
print(f"Ошибка при поиске сериалов: {e}\n")
try:
# Поиск мультфильмов с пагинацией (по умолчанию первая страница)
cartoons_results = await scraper.search_cartoons(page=1)
print("Мультфильмы на первой странице:")
for title, link in cartoons_results:
print(f"{title} - {link}\n")
except Exception as e:
print(f"Ошибка при поиске мультфильмов: {e}\n")
asyncio.run(main())
| Метод | Описание |
|---|---|
search_rezka |
Поиск контента по названию. |
search_anime |
Поиск аниме с пагинацией (по умолчанию первая страница). |
search_movies |
Поиск фильмов с пагинацией (по умолчанию первая страница). |
search_series |
Поиск сериалов с пагинацией (по умолчанию первая страница). |
search_cartoons |
Поиск мультфильмов с пагинацией (по умолчанию первая страница). |
- Асинхронный подход: Для работы требуется поддержка асинхронного выполнения (asyncio).
- Зависимости: Библиотека использует aiohttp для HTTP-запросов и beautifulsoup4 для парсинга HTML и fake-useragent для создания фейкового User-Agent.
- Стабильное подключение: Для успешной работы требуется стабильный доступ к интернету.
- Возможные ограничения: Сайт Rezka.ag может быть недоступен в некоторых регионах. В этом случае вам может понадобиться использование VPN.
Этот проект лицензируется по лицензии «MIT License» - более подробную информацию смотрите в файле LICENSE.