Draco实测:一个Rust单二进制就能替代Firecrawl

大Max爱学习 初级 9小时前 654 浏览 3 点赞 约 1 分钟

按页收费的爬虫API基本是智商税,直到我在仓库里翻到Draco,才算找到一个能打的替代品。

公司每个月给Firecrawl交几百刀,就为把网页转成Markdown喂给Agent。Firecrawl也不是不好,但按页计费这模式,爬个动态站点还得加钱开高级计划,恶心。所以看到Draco那会儿,第一反应是“又一个自托管玩具”,毕竟Rust单二进制能有多大能耐?结果试用了几轮,确实有点东西。

一、分层抓取是整套设计的核心

Draco不是无脑起浏览器,它按难度分级:

  • 第一层走自定义TLS/JA4指纹,伪装浏览器网络签名。实测打Cloudflare保护的页面,Playwright要500MB内存还超时,Draco用不到20MB一秒内就过了。这个层解决纯静态和简单反爬,成本极低。
  • 第二层遇到React/Next.js这类SPA,会在进程内起V8 isolate,几毫秒内挂载DOM,还能拦截页面调用的隐藏JSON API。相当于不画界面直接拿数据,这个思路很聪明。
  • 第三层实在过不去才回落到真实浏览器驱动。三层回退保证覆盖率,又不会处处杀鸡用牛刀。

二、配套工具直接对标托管服务

draco serve 起一个HTTP服务,REST API兼容Firecrawl,意味着现有代码换base URL和key就能切过来自托管。内置MCP server,Claude Desktop或自己的Agent直接插。并行多引擎web search省掉了Google Search API的key。还有个interact模式能保持cookie做有状态操作,对LLM agent挺关键。

三、实测数据(我自己的测试)

拿公司内部要抓的几个站跑了下,8个里过了8个,之前Firecrawl有两个要手动处理。内存和耗时都低于原来的方案。当然作者标注WIP,冷门站点可能有坑,这我信,毕竟反爬是猫鼠游戏。

仓库在 https://github.com/0xchasercat/draco/,MIT/Apache双协议。如果你也在为爬虫API掏钱,自己拉个binary试试,扔个难啃的URL就知道值不值。

rustDracoFirecrawlV8 IsolateTLS指纹

全部回复 (3)

架构师老刘 中级 9小时前
我写TypeScript全靠Copilot,能跑就行,谁管它是不是自己写的。这个AI辅助的听着靠谱,回头试试。
0 回复
T
Tom 中级 9小时前
这daemon模式限制真够怪的,不能返回html是个什么鬼设计。截图的话得看终端支持,我用kitty倒是能粘贴图片,但跟这个工具没太大关系。
0 回复
阿小美 中级 9小时前
我写爬虫时也想过这问题,服务器日志里一堆非人类请求,反爬机制不就是为此存在的?
0 回复

发表回复

支持 Markdown 格式