# bricks
**Repository Path**: KKKKKKKEM/bricks
## Basic Information
- **Project Name**: bricks
- **Description**: No description available
- **Primary Language**: Python
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-05-22
- **Last Updated**: 2025-04-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
[license]: /LICENSE
[license-badge]: https://img.shields.io/github/license/KKKKKKKEM/bricks?style=flat-square&a=1
[prs]: https://github.com/KKKKKKKEM/bricks
[prs-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square
[issues]: https://github.com/KKKKKKKEM/bricks/issues/new
[issues-badge]: https://img.shields.io/badge/Issues-welcome-brightgreen.svg?style=flat-square
[release]: https://github.com/KKKKKKKEM/bricks/releases/latest
[release-badge]: https://img.shields.io/github/v/release/KKKKKKKEM/bricks?style=flat-square
[![license][license-badge]][license]
[![prs][prs-badge]][prs]
[![issues][issues-badge]][issues]
[![release][release-badge]][release]
# 简介
`Bricks` 旨在将爬虫开发变得像搭建积木一样简单而有趣。这个框架的核心理念是提供一个直观、高效的方式来构建复杂的网络爬虫,同时保持代码的简洁和可维护性。无论您是刚入门的新手还是经验丰富的专家,`Bricks` 都能让您轻松地搭建起强大的爬虫,满足从简单数据抓取到复杂网络爬取的各种需求。
通过精心设计的接口和模块化的结构,`Bricks` 使得组合、扩展和维护爬虫变得前所未有的容易。您可以像搭积木一样,快速组合出适合您需求的爬虫结构,无需深入底层细节,同时也能享受到定制化和控制的乐趣。使用 `Bricks`,您将体验到无与伦比的开发效率和灵活性,让爬虫开发不再是一件费时费力的任务。
# 特性
`Bricks` 拥有以下特性
- **基于事件触发的可拓展爬虫**:在定义好自己爬虫主体逻辑的情况下,可以不修改核心代码,在请求前后,存储前后等多个事件接口进行拓展,让爬虫流程更加清晰,且插槽也可拓展
- **爬虫基类丰富**:内置纯代码开发的 `air` 爬虫、流程化自定义配置式的 `form` 爬虫、固定流程配置式的 `template` 爬虫
- **丰富的解析器**:包括 `json` / `xpath` / `jsonpath` / `regex` / 自定义,简单解析 0 代码
- **丰富的下载器**:目前内置的下载器为 `curl-cffi` ,并且还有可选的 `requests` / `requests-go` / `pycurl` / `Playwright` / `dp` / `httpx` / `tls_client`, 且开发者可以根据规范自己定制拓展
- **灵活的调度器**:调度器支持处理同步任务和异步任务,并且支持根据当前任务数量自动调节 `Worker` 数量(可伸缩线程池)
- **多种任务队列**:内置 `Local` 和 `Redis` 两种任务队列,以便应用单机和分布式爬虫,且开发者可以根据规范自己定制拓展
- **爬虫API化**:内置`rpc`和`listener` 模式,可以将爬虫一键转化为可远程调用的 `api`,方便外部调用
# 安装
## 安装最新代码
```
pip install -U git+https://github.com/KKKKKKKEM/bricks.git
```
## 安装正式版
```
pip install -U bricks-py
```
## 安装测试版
```shell
# beta 版本全部都发布在 test.pypi.org
pip install -i https://test.pypi.org/simple/ -U bricks-py
```
# 使用文档
具体文档请查看 [Bricks Docs](https://kkkkkkkem.vercel.app/bricks)