跳转到文档内容

可复用数据结构

AdsCrawl API 共用的浏览器、代理、指纹、Cookie、等待和操作对象。

APIv1当前版本
本页内容

cloudBrowser.runtime

runtime.status 为 starting、running、stopping 或 stopped;starting/stopping 仍占额度。runtimeKind 为 neko 或 worker_cdp。活动会话带 sessionId、expiresAt;只有 running 才可能带 connectUrl,可直接打开对应实例的交互界面,需使用档案所有者账号登录。neko 链接指向 API 域 /cloud-browser-runtime/{sessionId}/,不返回 cdpBaseUrl;固定 usr/pwd 参数是公共查看器协议值,访问权限仍由会话 Cookie 校验,不使用只读 cast 模式。worker_cdp 使用 CDP Studio,可返回带临时令牌的 cdpBaseUrl。请使用返回地址,勿自行拼接或向 URL 添加 API Key、Cookie、代理凭据。地址缺失时先查询真实状态。

字段类型说明
runtimeKind"neko" | "worker_cdp"运行时类型。
status必填"starting" | "running" | "stopping" | "stopped"runtime.status 为 starting、running、stopping 或 stopped;starting/stopping 仍占额度。runtimeKind 为 neko 或 worker_cdp。活动会话带 sessionId、expiresAt;只有 running 才可能带 connectUrl,可直接打开对应实例的交互界面,需使用档案所有者账号登录。neko 链接指向 API 域 /cloud-browser-runtime/{sessionId}/,不返回 cdpBaseUrl;固定 usr/pwd 参数是公共查看器协议值,访问权限仍由会话 Cookie 校验,不使用只读 cast 模式。worker_cdp 使用 CDP Studio,可返回带临时令牌的 cdpBaseUrl。请使用返回地址,勿自行拼接或向 URL 添加 API Key、Cookie、代理凭据。地址缺失时先查询真实状态。
sessionIdstring活动会话 ID。
expiresAtstring (RFC3339)活动会话最大到期时间。
connectUrlstring可选的交互式云浏览器直达链接;需要档案所有者的登录会话。
cdpBaseUrlstring仅 worker_cdp 可返回。

cloudBrowser.quotas

limit 是套餐允许保存的档案数量;runningLimit 是用户同时运行上限;runningCount 统计该用户所有档案的 starting、running、stopping,会跨分页、API Key 和页面共享,不包含临时 /cdp/sessions。users.cloud_browser_running_limit 为 NULL 或负数时默认 1,0 禁止新启动,正数为上限。列表和每次启动实时读取;下调不会主动关闭已有实例。全局容量仍单独限制,不叠加临时 CDP 的每 Key 并发限制。

字段类型说明
limit必填integer可保存档案数量。
runningLimit必填integer用户同时运行上限。
runningCount必填integerstarting/running/stopping 总数。

browserSettings

CDP 会话的浏览器设置。不传地区时随机使用可信代理;可显式使用 GLOBAL、指定地区或传入自定义代理。

字段类型说明
viewport{ width: number; height: number }浏览器窗口尺寸。CDP 会话会转换成默认 window-size。
localestring浏览器 locale,例如 en-US。
timezoneIdstringIANA 时区,例如 Asia/Shanghai。
geolocation{ latitude: number; longitude: number }可选地理位置。
proxyproxy自定义代理配置;与 countryCode 不能同时使用。
countryCode"GLOBAL" | string托管代理地区。GLOBAL 随机选择热门地区;指定地区优先可信代理并由动态代理兜底。不传时优先随机可信代理。
userAgentstring覆盖默认 User-Agent。
userAgentMode"custom" | "random"设为 random 时由服务端从 User-Agent 库随机选择;未传 User-Agent 时默认使用 random。
userAgentOs"windows" | "macos"随机模式使用的操作系统,默认 windows。
fingerprintfingerprintCDP 指纹设置。未显式设置时 canvas 与 webGlImage 默认为 real,其余省略信号按随机一致性档案生成。
cookiescookies[]启动会话前预置的 Cookie 列表。

fingerprint

所有字段都可省略。浏览器任务的省略字段默认 random;CDP browserSettings 会把省略的 canvas 与 webGlImage 设为 real,其余信号按随机一致性档案生成。WebGL 为 real 时,WebGPU 与 hardware 不能设为 random。

字段类型说明
webRtc"forward" | "real" | "disabled"转发使用代理出口地址;旧值 random 仍兼容并按 forward 处理。
webGl"random" | "real"WebGL 厂商与渲染器。
webGpu"random" | "real" | "disabled"随机时跟随 WebGL GPU。
webGlImage"random" | "real"WebGL 图像噪声。
canvas"random" | "real"Canvas 噪声。
audioContext"random" | "real"音频指纹噪声。
clientRects"random" | "real"布局测量噪声。
speechVoices"random" | "real"与操作系统匹配的语音列表。
fonts"random" | "real"与操作系统匹配的字体列表。
hardware"random" | "real"成组生成 CPU 线程数和内存。
doNotTrack"random" | "enabled" | "disabled"Do Not Track 偏好。

proxy

可选代理配置。使用 server,或使用 protocol + host + port,两种写法二选一;账号和密码必须成对提供。

字段类型说明
serverstring完整代理地址,例如 http://host:port 或 socks5://host:port;不能包含账号密码,也不能与 host 同时传入。
protocol"http" | "socks5"拆分写法的代理协议。
hoststring拆分写法的代理主机。
portnumber | numeric string拆分写法的 1-65535 端口。
usernamestring代理用户名。
passwordstring代理密码。

cookies[]

导航前写入浏览器上下文的 Cookie。

字段类型说明
name必填stringCookie 名称。
value必填stringCookie 值。
domain必填string目标域名,例如 .example.com。
pathstring路径,默认 /。
secureboolean | string | number是否仅 HTTPS 发送。
httpOnlyboolean | string | number是否禁止 JS 读取。
hostOnlyboolean | string | number是否仅当前 host 生效。
sameSitestringSameSite 属性。
sessionboolean | string | number为 true 时表示会话 Cookie。
expirationDate / expires / expirynumberUnix 秒级过期时间,三种字段名都兼容。

waitFor

SPA 导航和 actions 完成后等待可见元素或文本;selector 与 text 可同时使用。

字段类型说明
selectorstring等待首个匹配元素可见。
textstring等待首个包含该文本的元素可见。
timeoutMsnumber默认 15,000,且不会超过任务剩余超时。

field

SPA extract 字段定义。DOM 字段读取元素内容;network 字段读取最近一个 URL 匹配的 JSON 响应。

字段类型说明
source必填"dom" | "network"字段数据来源。
selectorstringDOM 字段的 CSS selector。
value"text" | "html" | "attribute"DOM 读取方式,默认 text。
attributestringvalue=attribute 时读取的属性名。
urlIncludesstringnetwork 字段用于匹配响应 URL 的子串。
pathstringnetwork JSON 路径,例如 $.data.metrics[0].value。
multiplebooleanDOM 字段是否返回所有匹配元素。
parse"string" | "number" | "integer" | "boolean" | "json"对提取值进行类型转换。
regexstring可选正则;存在捕获组时优先返回第 1 组。
requiredboolean缺失时任务返回 422 SPA_REQUIRED_FIELDS_MISSING。

actions[]

按数组顺序执行页面交互;单步交互超时不超过 30 秒。

字段类型说明
wait{ type: "wait"; milliseconds: number }暂停 0-30,000ms。
waitForSelector{ type: "waitForSelector"; selector: string; timeoutMs?: number }等待首个匹配元素可见。
click{ type: "click"; selector: string }点击首个匹配元素。
fill{ type: "fill"; selector: string; value: string }清空并填写首个匹配输入框。
press{ type: "press"; selector: string; key: string }向首个匹配元素发送按键。
scroll{ type: "scroll"; selector?: string; x?: number; y?: number }滚动到元素,或按 x/y 滚动页面;默认 y=800。