Crawler e mecanismo de scraping para web em Rust, com foco em concorrência e renderização de JavaScript apenas quando necessário.
howie6879/ruia
Microframework assíncrono de scraping web em Python, baseado em asyncio e aiohttp, que busca tornar a coleta de URLs o mais prática possível.
- Estrelas
- 1,739
- Forks
- 185
- Issues abertas
- 9
- Último commit
- há 8 dias
O que é?
Ruia é um microframework de scraping web para Python 3.6+, desenvolvido sobre asyncio e aiohttp. Ele permite definir um spider de forma declarativa: você descreve os dados que quer extrair e as regras de parsing, e o framework cuida das requisições concorrentes no event loop.
O framework foi desenvolvido para ser extensível. Middlewares permitem integrar etapas ao fluxo de requisições e respostas, e plugins ampliam seu comportamento. A instalação no Linux e no macOS pode incluir uvloop para acelerar o event loop, e o projeto também lista suporte a JavaScript entre seus recursos.
O README aponta para o projeto separado ruia-cache, que armazena respostas em cache durante a depuração para reduzir a carga de requisições nos sites-alvo, e para o ruia-shell, usado para depurar scripts de forma interativa. O crawling distribuído consta como ainda não implementado.
Recursos principais
- 01Definição declarativa de spiders e itens de dados
- 02Baseado em asyncio e aiohttp para realizar requisições concorrentes
- 03Sistema de middlewares e plugins para extensão
- 04Suporte opcional a uvloop no Linux e no macOS
- 05Suporte a JavaScript
Casos de uso
- Fazer scraping concorrente de várias páginas a partir de uma lista de URLs
- Criar scripts pequenos e assíncronos de coleta de dados em Python
- Estender um crawler com middlewares ou plugins personalizados
Início rápido
- 1
Instale no Linux ou Mac (com uvloop)
pip install -U ruia[uvloop] - 2
Instale no Windows
pip install -U ruia - 3
Leia os tutoriais para criar seu primeiro spider
Antes de usar
- O Ruia ainda está em desenvolvimento, então sua API pode mudar.
- O rastreamento/extração distribuídos estão listados como TODO e ainda não estão disponíveis.
Em coleções
Tópicos
Perguntas frequentes
- O que é ruia?
- Microframework assíncrono de scraping web em Python, baseado em asyncio e aiohttp, que busca tornar a coleta de URLs o mais prática possível. Ruia é um microframework de scraping web para Python 3.6+, desenvolvido sobre asyncio e aiohttp. Ele permite definir um spider de forma declarativa: você descreve os dados que quer extrair e as regras de parsing, e o framework cuida das requisições concorrentes no event loop.
- ruia é gratuito? Qual é a licença?
- ruia é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- ruia ainda é mantido?
- Manutenção ativa. O último commit de ruia foi em 30 de out. de 2026.
- Para que posso usar ruia?
- Fazer scraping concorrente de várias páginas a partir de uma lista de URLs Criar scripts pequenos e assíncronos de coleta de dados em Python Estender um crawler com middlewares ou plugins personalizados
- Como instalar ruia?
- Instale no Linux ou Mac (com uvloop): pip install -U ruia[uvloop] Instale no Windows: pip install -U ruia Leia os tutoriais para criar seu primeiro spider
- Onde consigo ruia?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/howie6879/ruia
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Framework em Go para criar scrapers e crawlers que extraem dados estruturados de sites.
Biblioteca Python para criar crawlers e scrapers web confiáveis, com modos HTTP e headless browser, rotação de proxies e armazenamento persistente.
Crawler web rápido e configurável da ProjectDiscovery, com modos padrão e de navegador headless para descobrir endpoints.
Framework de web scraping em Python para requisições HTTP, navegadores stealth, parsing e crawls concorrentes completos com exportação de dados.
Scrapy é um framework Python de web scraping e crawling para extrair dados estruturados de sites.