Back to rankings

howie6879/ruia

Pythonhowie6879.com/ruia/

Async Python 3.6+ web scraping micro-framework based on asyncio

asyncioaiohttpasyncio-spidercrawlercrawling-frameworkspideruvloopruiapython-ruiamiddlewarespython
Star Growth
Stars
1.7k
Forks
186
Weekly Growth
β€”
Issues
8
5001k1.5k
Jan 2023Mar 2024May 2025Jul 2026
ArtifactsPyPIpip install ruia
README

Ruia logo

Ruia

πŸ•ΈοΈ Async Python 3.6+ web scraping micro-framework based on asyncio.

⚑ Write less, run faster.

travis codecov PyPI - Python Version PyPI Downloads gitter

Overview

Ruia is an async web scraping micro-framework, written with asyncio and aiohttp, aims to make crawling url as convenient as possible.

Write less, run faster:

Features

  • Easy: Declarative programming
  • Fast: Powered by asyncio
  • Extensible: Middlewares and plugins
  • Powerful: JavaScript support

Installation

# For Linux & Mac
pip install -U ruia[uvloop]

# For Windows
pip install -U ruia

# New features
pip install git+https://github.com/howie6879/ruia

Tutorials

  1. Overview
  2. Installation
  3. Define Data Items
  4. Spider Control
  5. Request & Response
  6. Customize Middleware
  7. Write a Plugins

TODO

  • Cache for debug, to decreasing request limitation, ruia-cache
  • Provide an easy way to debug the script, ruia-shell
  • Distributed crawling/scraping

Contribution

Ruia is still under developing, feel free to open issues and pull requests:

  • Report or fix bugs
  • Require or publish plugins
  • Write or fix documentation
  • Add test cases

!!!Notice: We use black to format the code.

Thanks

Related repositories
fastapi/fastapi

FastAPI framework, high performance, easy to learn, fast to code, ready for production

PythonPyPIMIT Licensepythonjson
fastapi.tiangolo.com
100.8k9.7k
home-assistant/core

:house_with_garden: Open source home automation that puts local control and privacy first.

PythonPyPIApache License 2.0pythonhome-automation
home-assistant.io
89.4k38.1k
sxyazi/yazi

πŸ’₯ Blazing fast terminal file manager written in Rust, based on async I/O.

Rustcrates.ioMIT Licenseasyncioconcurrency
yazi-rs.github.io
40.6k945
sanic-org/sanic

Accelerate your web app development | Build fast. Run fast.

PythonPyPIMIT Licensepythonframework
sanic.dev
18.6k1.6k
aio-libs/aiohttp

Asynchronous HTTP client/server framework for asyncio and Python

PythonPyPIApache License 2.0aiohttpasyncio
docs.aiohttp.org
16.5k2.4k
encode/httpx

A next generation HTTP client for Python. πŸ¦‹

PythonPyPIBSD 3-Clause "New" or "Revised" Licensepythonhttp
python-httpx.org
15.4k1.2k
coleifer/peewee

a small, expressive orm -- supports postgresql, mysql, sqlite, now with asyncio

PythonPyPIMIT Licensedankgametight
docs.peewee-orm.com
12k1.4k
MagicStack/uvloop

Ultra fast asyncio event loop.

CythonApache License 2.0asyncioasync-await
11.9k612
Kludex/uvicorn

An ASGI web server, for Python. πŸ¦„

PythonPyPIBSD 3-Clause "New" or "Revised" Licensepythonasyncio
uvicorn.dev
10.8k991
encode/uvicorn

An ASGI web server, for Python. πŸ¦„

PythonPyPIBSD 3-Clause "New" or "Revised" Licensepythonasyncio
uvicorn.org
8.9k767
litestar-org/litestar

Light, flexible and extensible ASGI framework | Built to scale

PythonPyPIMIT Licensepythonapi
docs.litestar.dev
8.3k583
MagicStack/asyncpg

A fast PostgreSQL Database Client Library for Python/asyncio.

PythonPyPIApache License 2.0postgresqlpython
8.1k462