Приоритетный по конкурентности движок для обхода и скрейпинга веб-сайтов на Rust, который рендерит JavaScript только при необходимости.
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
Установите в Linux или Mac (с uvloop)
pip install -U ruia[uvloop] - 2
Установите в Windows
pip install -U ruia - 3
Прочитайте руководства, чтобы написать своего первого spider
Что важно знать
- Ruia всё ещё находится в разработке, поэтому его API может измениться.
- Распределённый сбор данных указан в TODO и пока недоступен.
В подборках
Темы
Частые вопросы
- Что такое 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 обновляется ежедневно.
Похожие проекты
Go-фреймворк для создания веб-скрейперов и краулеров, извлекающих структурированные данные с сайтов.
Библиотека Python для надёжного веб-краулинга и скрейпинга с поддержкой HTTP и headless-браузеров, ротацией прокси и постоянным хранилищем.
Быстрый настраиваемый веб-краулер и фреймворк для веб-сканирования от ProjectDiscovery с обычным и headless-режимами для поиска эндпоинтов.
Фреймворк для веб-скрейпинга на Python: от одиночных HTTP-запросов и stealth-браузеров до парсинга и параллельного обхода сайтов с экспортом данных.
Scrapy — фреймворк на Python для веб-скрейпинга и краулинга, который извлекает структурированные данные с сайтов.