Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Yurunsoft/yurun-crawler
宇润爬虫框架(Yurun Crawler) 是一个低代码、高性能、分布式爬虫采集框架,基于 imi 框架开发,运行在 Swoole 常驻内存的协程环境。
https://github.com/Yurunsoft/yurun-crawler
Last synced: 3 months ago
JSON representation
宇润爬虫框架(Yurun Crawler) 是一个低代码、高性能、分布式爬虫采集框架,基于 imi 框架开发,运行在 Swoole 常驻内存的协程环境。
- Host: GitHub
- URL: https://github.com/Yurunsoft/yurun-crawler
- Owner: Yurunsoft
- License: mit
- Created: 2020-06-22T11:28:57.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-11-04T02:21:37.000Z (almost 4 years ago)
- Last Synced: 2024-06-18T14:24:45.156Z (5 months ago)
- Language: PHP
- Homepage:
- Size: 170 KB
- Stars: 38
- Watchers: 4
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-swoole - yurun-crawler - A framework to build high-performance, distributed web crawler. :globe_with_meridians: (Web Applications)
README
# yurun-crawler
[![Latest Version](https://img.shields.io/packagist/v/yurunsoft/crawler.svg)](https://packagist.org/packages/yurunsoft/crawler)
[![Travis](https://img.shields.io/travis/Yurunsoft/yurun-crawler.svg)](https://travis-ci.org/github/Yurunsoft/yurun-crawler)
[![Php Version](https://img.shields.io/badge/php-%3E=7.1-brightgreen.svg)](https://secure.php.net/)
[![Swoole Version](https://img.shields.io/badge/swoole-%3E=4.3.0-brightgreen.svg)](https://github.com/swoole/swoole-src)
[![imi Doc](https://img.shields.io/badge/docs-passing-green.svg)](https://doc.imiphp.com)
[![imi License](https://img.shields.io/badge/license-MIT-brightgreen.svg)](https://github.com/Yurunsoft/crawler/blob/master/LICENSE)## 介绍
宇润爬虫框架(Yurun Crawler) 是一个低代码、高性能、分布式爬虫采集框架,这可能是最一把梭的爬虫框架。
Yurun Crawler 基于 imi 框架开发,运行在 Swoole 常驻内存的协程环境。
为什么会开发这个框架?遇上有爬虫相关需求,调研了一些市面上现有的 PHP 爬虫框架,甚至是其它语言的爬虫框架,功能都十分简陋,需要编写的重复代码极多,不够一把梭。
**开发手册:**
### 目标
能够用最少的代码,方便快速地实现爬虫采集功能。
### 愿景
成为宇宙第一爬虫框架,以后提到爬虫就想到 Yurun Crawler 可以一把梭实现!
## 功能特性
* **低代码**,几乎不需要编写代码,大部分逻辑依靠注解实现
* **高性能**,基于 [imi](https://www.imiphp.com/) + [Swoole](https://www.swoole.com/) 常驻内存及协程实现。即便只开一个下载器进程,也足以支撑大量的并发下载任务。
* **分布式**,采集的流程由消息队列推动,依靠 Redis 等中间件实现纯天然的分布式特性
* 支持下载器并发**限流**
* 内置解析能力强,支持:**Dom 解析、正则、JSON、Chrome Headless 页面渲染采集**
* **代理 IP 池**,支持:MySQL、Redis
* 支持**定时采集**
* 支持**模型存储**
* 方便扩展## 示例
**Demo Example:**
主要采集逻辑,可通过注解的方式来编写,超级简单:
```php