Skip to content

v1.7.0

Choose a tag to compare

@crawl-coder crawl-coder released this 02 Jun 14:19
· 152 commits to master since this release
cbe15b8

Crawlo — 基于 asyncio 的高性能异步 Python 爬虫框架,内置断点续爬、背压控制、Cloudflare 绕过、分布式(Redis Stream + ACK)等生产级特性。API 兼容 Scrapy,迁移成本极低。

🚀 New Features
三种部署模式:standalone / auto / distributed,代码零改动
断点续爬(Checkpoint):Ctrl+C 自动保存状态,重启自动恢复
背压控制(Backpressure):支持 queue_size / adaptive 策略,队列 + 并发双重监控
Cloudflare 绕过:内置 5 种下载器(aiohttp / httpx / playwright / camoufox / cloakbrowser / hybrid)
分布式(Redis Stream + ACK):两阶段故障转移、死信队列、心跳守护、Leader 选举、动态配置
10+ 内置 Pipeline:MySQL / PostgreSQL / ClickHouse / SQLite / MongoDB / Elasticsearch / HBase / CSV / JSON / 去重管道
定时调度:内置 Cron / Interval 调度器,无需 crontab
MCP 工具支持:通过 MCP 协议集成 AI 工具调用

🔧 Bug Fixes
Checkpoint 断点续爬从未生效 — _shutdown_requested 拷贝不更新 + engine 无法获取信号状态,修复后 6 轮中断恢复率 100%
pip install crawlo 缺数据库驱动报错 — 可选依赖 Pipeline 改为 PEP 562 延迟导入,核心安装不再强制数据库驱动
循环导入 — 3 个包级 init.py 重构,消除框架级循环依赖

🛠 Improvements
背压系统重构:BackpressureController → EngineBackpressureAdapter,连接 BACKPRESSURE_STRATEGY 配置
全线 asyncmy:移除所有 aiomysql 引用,统一使用 Cython 加速驱动
MySQL 批量插入优化:性能提升约 190x
CloakBrowser Cloudflare 异步绕过:挑战检测 + 自动等待 + 资源屏蔽后移
默认模式背压水位线响应 BACKPRESSURE_RATIO:全局可调

📦 Dependencies
核心依赖精简:pip install crawlo 仅装核心驱动(aiohttp / httpx / lxml / parsel 等)
数据库:pip install crawlo[database](asyncmy / asyncpg / aiosqlite / pymongo 等)
反检测:pip install crawlo[stealth](cloakbrowser)
渲染:pip install crawlo[render](playwright / camoufox)