Repolode
howie6879

howie6879/ruia

基于 asyncio 和 aiohttp 的异步 Python 网页爬虫微框架,让抓取 URL 更简便。

Star
1,739
Fork
185
未关闭 Issue
9
最近提交
8天前

这是什么?

Ruia 是一个基于 asyncio 和 aiohttp 编写的 Python 异步网页爬虫微框架,要求 Python 3.6 及以上版本。开发者以声明式的方式定义数据项和解析规则,框架在事件循环中并发处理请求。

框架支持通过中间件(Middleware)介入请求与响应流程,也可以通过插件扩展功能。Linux 和 macOS 下可安装 uvloop 以获得更快的事件循环,项目还提供 JavaScript 支持。

配套项目包括用于调试阶段缓存响应、减少目标站点请求压力的 ruia-cache,以及便于交互式调试脚本的 ruia-shell。分布式爬取目前尚未实现。

核心功能

  • 01以声明式方式定义爬虫和数据项
  • 02基于 asyncio 和 aiohttp 并发发送请求
  • 03提供中间件和插件机制进行扩展
  • 04Linux 和 macOS 可选用 uvloop 加速
  • 05支持 JavaScript 页面

适用场景

  • 从一组 URL 中并发抓取大量页面
  • 用 Python 编写轻量的异步数据采集脚本
  • 通过自定义中间件或插件扩展爬虫功能

快速上手

  1. 1

    在 Linux 或 Mac 上安装(含 uvloop)

    pip install -U ruia[uvloop]
  2. 2

    在 Windows 上安装

    pip install -U ruia
  3. 3

    阅读教程,编写你的第一个爬虫

使用前须知

  • Ruia 仍在开发中,API 可能会发生变化。
  • 分布式爬取/抓取功能仍在待办列表中,目前尚不可用。

收录于专题

标签

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

常见问题

ruia 是什么?
基于 asyncio 和 aiohttp 的异步 Python 网页爬虫微框架,让抓取 URL 更简便。 Ruia 是一个基于 asyncio 和 aiohttp 编写的 Python 异步网页爬虫微框架,要求 Python 3.6 及以上版本。开发者以声明式的方式定义数据项和解析规则,框架在事件循环中并发处理请求。
ruia 可以免费使用吗?用的什么许可证?
ruia 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
ruia 还在维护吗?
活跃维护中。ruia 最近一次提交是在 2026年10月30日。
ruia 适合用来做什么?
从一组 URL 中并发抓取大量页面 用 Python 编写轻量的异步数据采集脚本 通过自定义中间件或插件扩展爬虫功能
ruia 怎么安装和运行?
在 Linux 或 Mac 上安装(含 uvloop): pip install -U ruia[uvloop] 在 Windows 上安装: pip install -U ruia 阅读教程,编写你的第一个爬虫
在哪里获取 ruia?
源代码和安装说明在 GitHub 上:https://github.com/howie6879/ruia

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目