Skip to main content
AdsCrawl Go SDK 适用于 Go 1.21 及更高版本。它仅使用 Go 标准库进行 HTTP 通信,支持 context.Context 取消和超时,并提供强类型的请求和响应模型。
请将 API 密钥保存在服务端代码中,切勿在客户端应用中泄露。

安装

adscrawl-go on GitHub

查看源码、可运行的示例和发布版本。

认证并发起首个请求

在 AdsCrawl 控制台 创建 API 密钥,并在服务器环境中设置 ADSCRAWL_API_KEY。你也可以将密钥直接传递给 adscrawl.NewClient(adscrawl.Config{APIKey: "..."})。

渲染内容与截图

client.HTML(ctx, options) 返回 HTML; Markdown 返回 Markdown; Article 返回结构化的 Article; Screenshot 返回 PNG 字节。页面选项包括 Viewport、Locale、Cookies、Proxy、受控的 CountryCode、Fingerprint、服务端 TimeoutMS 以及导航 WaitUntil。
自定义 Proxy 和 CountryCode 不能同时使用。

代理与指纹

AdsCrawl 使用真实的浏览器,支持可配置的路由和浏览器指纹。随机设置会生成一个包含操作系统、GPU、硬件、字体及相关信号的统一配置文件。该浏览器工作流已通过验证,可以访问并渲染 BrowserScan、Pixelscan 和 IPhey 并返回截图。

结构化提取

client.SPA.Templates(ctx) 列出内置模板。client.SPA.Inspect(ctx, options) 建议字段和 schema。

远程 CDP 浏览器

GetVersion 会验证令牌 URL,并且不会转发 API 密钥。

持久化云浏览器

云浏览器 API 密钥启动需要先配置顶层代理。stopping 响应表示关闭操作正在进行中,调用 Get 轮询直到状态变为 stopped。启动失败时可能会在 *adscrawl.APIError 中返回一个用于清理的 profile ID。

配置与错误处理

传递 Config{Timeout: 75 * time.Second} 可更改 HTTP 超时时间。设置 PageOptions.TimeoutMS 可单独控制远程浏览器任务超时。
默认情况下,ADSCRAWL_API_KEY 提供 API 密钥。基础 URL 的优先级依次为 ADSCRAWL_BASE_URL、ADSCRAWL_API_URL,然后是 https://api.adscrawl.net。错误类型包括 APIError、TimeoutError、ConnectionError 和 ResponseError。HTTP 超时包含响应体读取时间。取消请求并不能证明远程浏览器任务已停止。