#spider #framework #type-safe #expose #unsafe #modern #low-level

scrupy

Scrupy 是一个用 Rust 编写和为 Rust 定制的快速、现代蜘蛛框架。该框架实现了 Scrapy 的功能,但它是低级且类型安全的。它提供了一个优雅的 API,并且不使用任何不安全的代码。

3 个版本

使用旧的 Rust 2015

0.1.6 2017年7月10日
0.1.5 2017年7月10日
0.1.0 2017年7月10日

18#spider

MIT 许可证

23KB
433

Scrupy

Scrupy 是一个用 Rust 编写和为 Rust 定制的快速、现代蜘蛛框架。该框架实现了 Scrapy 的功能,但它是低级且类型安全的。它提供了一个优雅的 API,并且不使用任何不安全的代码。

组件

引擎

引擎负责控制系统所有组件之间的数据流,并在某些动作发生时触发事件。

调度器

调度器从引擎接收请求并将它们排队,以便在引擎请求时(也发送给引擎)将其提供。

下载器

下载器负责获取网页并将其提供给引擎,然后引擎将这些网页提供给蜘蛛。

##蜘蛛 蜘蛛是 Scrapy 用户编写的自定义类,用于解析响应并从中提取项目(也称为抓取项目)或附加请求以跟进。有关更多信息,请参阅蜘蛛。

##项目管道 项目管道负责在蜘蛛提取(或抓取)项目后处理项目。典型任务包括清洁、验证和持久化(例如将项目存储在数据库中)。有关更多信息,请参阅项目管道。

##下载器中间件 下载器中间件是位于引擎和下载器之间的特定钩子,在请求从引擎传递到下载器以及响应从下载器传递到引擎时处理请求。

###使用下载器中间件,如果您需要执行以下操作之一

  • 在请求发送到下载器之前处理请求(即 Scrapy 在发送请求到网站之前);
  • 在将其传递给蜘蛛之前更改接收到的响应;
  • 发送一个新的请求而不是将接收到的响应传递给蜘蛛;
  • 在不获取网页的情况下将响应传递给蜘蛛;
  • 静默丢弃某些请求。

依赖项

~4.5MB
~106K SLoC