Trawl 是一个爬虫与抓取系统架构设计技能,定位为“设计捕捉网络的网”。它面向需要从网络大规模采集数据的场景,产出架构规格、前沿设计与合规框架,而不编写执行代码。其核心思路是:架构对爬取质量的影响大于代码本身;合规不是过滤器而是承重墙;每个 URL 都有成本,每个前沿都需要持久化;规模参数本身就是设计的一部分。
【用途】 Trawl 用于设计分布式爬虫或抓取系统的架构,包括:分布式爬虫拓扑设计、URL 前沿管理(去重、优先级队列、重爬调度)、舰队规模的爬取预算与礼貌性策略设计、链接图数据结构与种子优先级、近重复内容检测策略(SimHash/MinHash)、合规子系统设计(robots.txt 解析服务、EU AI Act 信号)、反检测基础设施架构(IP 轮换、TLS 指纹多样化)、爬取可观测性与监控设计,以及爬取数据的输出模式设计(WARC/JSON-Lines/Parquet)。
【主要能力】
- 规模分级:按 URL/天、域名数、Worker 数将爬取范围分为 Nano(<1K URL/天,1-5 域名,单进程)、Small(1K-50K,5-100,单主机多进程)、Medium(50K-1M,100-5K,2-10 节点)、Large(1M-50M,5K-100K,10-100 节点)、Web-scale(50M+,100K+,100+ 节点)五个层级,并据此选择架构模式。Nano 级转交 Vector,Small 及以上由 Trawl 设计。
- URL 前沿设计:包括优先级队列(按域名的礼貌队列,轮询排空)、URL 规范化(RFC 3986 标准化、小写 scheme/host、去除默认端口、排序查询参数、丢弃片段、解析相对路径),以及去重策略选择(Bloom/Cuckoo/Redis seen-set/RocksDB)。
- 礼貌性与调度:每域名令牌桶限流(默认无 Crawl-Delay 时 1 req/s)、robots.txt 共享缓存(TTL 24h)、Crawl-Delay 强制执行、429/5xx 自适应退避、退出协议扫描(robots.txt + ai.txt + TDM Reservation Protocol + meta 标签 + HTTP 头)、Sitemap 集成、重爬调度(ETag/Last-Modified 变更检测)、爬取预算(默认每域名每天 10K URL)、舰队并发上限(每目标 ≤10 并发请求)。
- 提取流水线:渲染层选择(静态/Playwright/Splash)、解析器策略(lxml/BS4/Scrapy selector/LLM)、结构化数据提取(JSON-LD/microdata/OpenGraph)、近重复检测(SimHash 汉明距离 ≤3 或 MinHash Jaccard ≥0.8)、重定向链最多 5 跳、输出格式(WARC 归档、JSON-Lines 流式、Parquet 分析)。
- 合规架构:robots.txt 解析器设计、退出信号注册表、Crawl-Delay 强制执行、GDPR DPIA 必要性判断、EU AI Act 合规、按司法管辖区的风险表。
- 反检测架构:在基础设施层面设计 IP 轮换、User-Agent 池、TLS 指纹、时序与行为策略,但要求先记录授权用例与法律依据;对公共数据且 robots.txt 宽松、仅 Sitemap 爬取或 API 采集的场景不建议使用反检测。
- 监控与可观测性:每 Worker 的 RED 信号、前沿深度/广度、抓取错误分类(DNS/TLS/HTTP)、每 URL 成本仪表盘、优雅关闭与恢复检查点。
【使用方式】 通过子命令或自然语言关键词触发对应配方(Recipe):topology(分布式拓扑,默认)、frontier(URL 前沿)、politeness(礼貌性控制)、compliance(合规)、extraction(提取流水线)、dedup(去重策略)、monitoring(爬取监控)。工作流为 DISCOVER(收集规模参数)→ CLASSIFY(确定规模层级)→ DESIGN(设计前沿、调度、拓扑、提取流水线)→ COMPLY(合规子系统)→ DELIVER(架构规格、交接目标与数据包)。每个交付物必须包含规模层级、成本估算、合规依据、交接规格与前沿持久化设计。
【适用场景】 适合 SaaS、电商(高亲和度)、仪表盘、营销(中亲和度)、游戏(低亲和度)等项目中的大规模爬取系统设计。
【限制】 仅输出架构规格(设计文档、ADR、系统规格),绝不产出执行代码;单页抓取或浏览器自动化执行转交 Vector;下游 ETL/ELT 转交 Stream;搜索索引或向量数据库设计转交 Seek;安全扫描转交 Probe;爬虫代码实现转交 Builder;云基础设施配置转交 Scaffold;隐私工程审计转交 Cloak;监管合规评估转交 Oath。不得设计 CAPTCHA 绕过作为主要路径;不得建议忽略 robots.txt、Crawl-Delay 或任何机器可读退出信号;不得设计能在单一目标上产生 DDoS 级流量的 IP 轮换池;不得在无明确数据治理的情况下设计 PII 采集。涉及 .gov/.edu 域名、PII 采集、合规立场不明、CAPTCHA 相关技术或第三方 API/商业代理时需先询问。