项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-10 · 当前星标 ★ 6025
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- 已安装 Go 工具链,终端可执行 go 命令
- 可访问 github.com 以拉取 Go 模块
- 明确使用场景:新项目用 Native v2 API,已有 v1 集成走 compat 迁移
- 注意当前分支是 v2 alpha,稳定版请使用 Ferret v1
安装与启动步骤
-
1确认 Go 环境
先确认本机已装 Go 且命令可用,版本过旧可能无法拉取 v2 模块。
go version -
2初始化 Go 模块
在空目录里创建自己的 Go module,作为后续引入 Ferret 的宿主工程。
go mod init ferret-demo -
3拉取 Ferret v2
按 README 的 Getting started 使用 go get 引入 v2 模块,会自动写入 go.mod。
go get github.com/MontFerret/ferret/v2@latest -
4编写引擎入口
新项目用 ferret.New(opts...) 做 Native 嵌入;使用 github.com/MontFerret/api 的集成改用 uapi.New(opts...) 创建并持有引擎。
-
5整理并编译
整理依赖树并编译工程,确认引入的模块路径与 API 可正常解析。
go mod tidy go build ./... -
6可选:试用新语法
README 提供在线 Playground,可先在上面验证 v2 查询语法再落到代码里。
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
opts... | 否 | ferret.New / uapi.New 的可变参数,README 未列出具体选项,需查阅文档 | ferret.New(opts...) |
如何确认成功
go build ./... 编译无报错;代码中 ferret.New(opts...) 或 uapi.New(opts...) 能成功返回引擎实例。
常见问题
Q:应该用 v1 还是 v2?
A:当前分支是即将发布的 Ferret v2,官方标注为 alpha;生产环境建议先用稳定版 v1,新项目可试 v2。
Q:已有 v1 集成如何迁移到 v2?
A:优先使用 compat 模块,它被官方推荐作为现有 v1 集成的第一步迁移方式,可降低改动量。
Q:uapi.New 和 uapi.Wrap 有什么区别?
A:New 会创建并持有 Native 引擎,runtime Close 时一并关闭它;Wrap 只是借用已有引擎,其 Close 是空操作,不销毁引擎。
Q:关闭顺序有什么要求?
A:应先结束工作(settle work),并关闭 session 与 plan,然后再关闭持有它们的 runtime 或借用的引擎。
注意事项
- 本项目 README 只给出 go get 形式的安装说明,没有 CLI、Docker 或配置文件相关命令,本教程未虚构任何参数与端口。
- Ferret v2 仍处于 alpha 阶段,语法与 API 可能变动,重要项目请评估稳定性或使用 v1。
- CLI、测试运行器 lab、Web worker 均为独立仓库,使用前请单独查看对应仓库文档。
- 引擎、session、plan 的生命周期需按 README 描述的顺序释放,避免资源泄漏。
核心亮点
- 声明式 DSL 大幅降低数据提取脚本编写门槛,代码可读性强
- 基于 Chrome DevTools Protocol,能处理动态渲染的现代网页
- Go 运行时性能出色,支持并发执行,适合大规模数据抓取
不足之处
- 文档和示例相对较少,学习曲线较陡
- 依赖浏览器环境,部署和资源占用较高
适用场景
- 构建结构化数据采集管道,如商品信息、新闻聚合
- 自动化测试中提取页面关键数据
- 数据迁移和集成场景中从旧系统提取数据
替代项目
Colly、GoQuery、Scrapy
上一篇:pydoll
下一篇:workflow-use
同类项目推荐
terramate
开源
不改 Terraform 代码,就能编排多环境 IaC 并检测漂移
Open-source Infrastructure as Code (IaC) orchestration platform: GitOps workflows, o···
Tiktok-Booster
开源
自动刷 TikTok 播放量,OCR 过验证码,解放双手
Automate TikTok view boosting with CAPTCHA bypass using Tesseract OCR.
n8n-as-code
开源
用代码和AI助手轻松构建、同步和管理n8n工作流
Give your AI agent n8n superpowers. 537 nodes with full schemas, 7,700+ templates, G···
dev-proxy
开源
一条命令给接口注入故障,本地验证容错逻辑
Simulate API failures, throttling, and chaos — all from your command line.
gaia-workflow-engine
开源
拖拽画布编排 AI 工作流,无需代码即可部署
一个现代化的可视化规则引擎平台,用于编排复杂的 AI 工作流。在无限画布上设计、测试和部···
MoneyPrinter
开源
输入主题,自动生成一条YouTube短视频,省去剪辑烦恼
Automate Creation of YouTube Shorts using MoviePy.
simulink-agentic-toolkit
开源
让AI智能体真正会读会改Simulink模型
The Simulink Agentic Toolkit gives your AI agent both the tools and the expertise to···
redbook
开源
让 AI 智能体直接搜索和分析小红书内容
小红书 CLI — 搜索、分析、自动化 Xiaohongshu content. Built for AI agents.
n8n-playbook
开源
n8n 速查表+示例,快速搭建 AI 工作流
n8n-playbook: cheastsheet, examples
