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: 10 days ago
JSON representation

宇润爬虫框架(Yurun Crawler) 是一个低代码、高性能、分布式爬虫采集框架,基于 imi 框架开发,运行在 Swoole 常驻内存的协程环境。

Lists

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