Repolode
howie6879

howie6879/ruia

Асинхронный микрофреймворк для веб-скрейпинга на Python, построенный на asyncio и aiohttp и упрощающий обход URL.

Звёзды
1,739
Форки
185
Открытые issues
9
Последний коммит
9 дней назад

Что это?

Ruia — микрофреймворк для веб-скрейпинга на Python 3.6+, построенный поверх asyncio и aiohttp. Он позволяет декларативно описывать spider: задавать извлекаемые данные и правила парсинга, а фреймворк берёт на себя конкурентную отправку запросов в event loop.

Фреймворк ориентирован на расширяемость. Middleware позволяют подключаться к обработке запросов и ответов, а плагины расширяют его возможности. При установке в Linux и macOS можно использовать uvloop для ускорения event loop; среди возможностей проекта также указана поддержка JavaScript.

В README есть ссылка на отдельный проект ruia-cache, который кэширует ответы во время отладки и помогает снизить нагрузку на целевые сайты, а также на ruia-shell для интерактивной отладки скриптов. Распределённый обход сайтов пока не реализован.

Ключевые возможности

  • 01Декларативное описание spider и извлекаемых данных
  • 02Построен на asyncio и aiohttp для конкурентной отправки запросов
  • 03Система middleware и плагинов для расширения возможностей
  • 04Опциональная поддержка uvloop в Linux и macOS
  • 05Поддержка JavaScript

Сценарии использования

  • Конкурентный сбор данных со множества страниц по списку URL
  • Создание небольших асинхронных скриптов для сбора данных на Python
  • Расширение краулера с помощью собственных middleware или плагинов

Быстрый старт

  1. 1

    Установите в Linux или Mac (с uvloop)

    pip install -U ruia[uvloop]
  2. 2

    Установите в Windows

    pip install -U ruia
  3. 3

    Прочитайте руководства, чтобы написать своего первого spider

Что важно знать

  • Ruia всё ещё находится в разработке, поэтому его API может измениться.
  • Распределённый сбор данных указан в TODO и пока недоступен.

В подборках

Темы

#web-scraping#crawler#asyncio#python#aiohttp#spider#async#asyncio-spider#crawling-framework#middlewares

Частые вопросы

Что такое ruia?
Асинхронный микрофреймворк для веб-скрейпинга на Python, построенный на asyncio и aiohttp и упрощающий обход URL. Ruia — микрофреймворк для веб-скрейпинга на Python 3.6+, построенный поверх asyncio и aiohttp. Он позволяет декларативно описывать spider: задавать извлекаемые данные и правила парсинга, а фреймворк берёт на себя конкурентную отправку запросов в event loop.
ruia можно использовать бесплатно? Какая у него лицензия?
ruia распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
ruia всё ещё поддерживается?
Активно поддерживается. Последний коммит в ruia — 30 окт. 2026 г..
Для чего можно использовать ruia?
Конкурентный сбор данных со множества страниц по списку URL Создание небольших асинхронных скриптов для сбора данных на Python Расширение краулера с помощью собственных middleware или плагинов
Как установить ruia?
Установите в Linux или Mac (с uvloop): pip install -U ruia[uvloop] Установите в Windows: pip install -U ruia Прочитайте руководства, чтобы написать своего первого spider
Где скачать ruia?
Исходный код и инструкции по установке — на GitHub: https://github.com/howie6879/ruia

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты