网站截图与 HTML 快照 - LLM Markdown

# 网站截图与 HTML 快照

> 来源页面: https://www.gugudata.com/api/details/url2snapshot

## 概览

- API 标识: `url2snapshot`
- 分类: 网站工具
- 描述: 通过网页 URL 获取站点截图与内容
- 标签: 网页截图 / 网页快照
- 短标签: 网站工具 / 截图
- 数据更新时间: 被调用于 5 秒前
- 价格: 1999元/年
- 限时折扣: 999元/年
- 月付参考: 166元/月
- 详情页: https://www.gugudata.com/api/details/url2snapshot
- 数据预览: https://www.gugudata.com/preview/url2snapshot

## API 功能

- 支持任意网页 URL 高质量截图,包括动态内容和 JavaScript 渲染页面;
- 支持全页面截图和可视区域截图两种模式;
- 可自定义截图尺寸、设备像素比等参数;
- 支持桌面端和移动端设备模拟;
- 同时返回截图图片和网页文本内容;
- 支持 base64 编码和 CDN URL 两种返回格式;
- 全接口支持 HTTPS(TLS v1.0 / v1.1 / v1.2 / v1.3);
- 全面兼容 Apple ATS;
- 全国多节点 CDN 部署;
- 接口极速响应,多台服务器构建 API 接口负载均衡。
- 接口调用状态与状态监控: https://www.gugudata.com/status

## API 文档

- 接口地址: `https://api.gugudata.com/websitetools/url2snapshot?appkey={{appkey}}`
- 返回格式: `application/json; charset=utf-8`
- 请求方式: `POST`
- 请求协议: `HTTPS`
- 请求示例: `https://api.gugudata.com/websitetools/url2snapshot?appkey={{appkey}}`
- 接口测试: https://api.gugudata.com/websitetools/url2snapshot/demo
- Apifox: https://doc.gugudata.com/
- Postman: https://www.postman.com/gugudata/gugudata-official/collection/1163860-ee114343-4622-4a54-a39b-994173c27dac/?action=share&creator=1163860&active-environment=1163860-a95b31ef-324f-43db-b2fc-faa41f45bd35
- OpenAPI: https://www.gugudata.com/openapi/gugudata.openapi.3.1.json

## 请求参数

| 参数名 | 参数类型 | 是否必须 | 默认值 | 备注 |
| --- | --- | --- | --- | --- |
| url | string | 是 | https://www.example.com | 需要截图的网页 URL 地址,必须是有效的 HTTP 或 HTTPS 链接 |
| responseFormat | string | 否 | base64 | 返回格式,可选值:base64(返回 base64 编码的图片数据)、url(返回图片 URL 链接) |
| fullPage | boolean | 否 | true | 是否截取完整页面,true 为全页面截图,false 为可视区域截图 |
| width | integer | 否 | 1920 | 截图宽度,单位像素,范围:320-3840 |
| height | integer | 否 | 1080 | 截图高度,单位像素,范围:240-2160 |
| deviceScaleFactor | number | 否 | 1 | 设备像素比,影响截图清晰度,范围:1-3 |
| userAgent | string | 否 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 | 用户代理字符串,用于模拟不同的浏览器 |
| isMobile | boolean | 否 | false | 是否模拟移动设备,true 为移动设备模式,false 为桌面模式 |

## 返回参数

| 参数名 | 参数类型 | 备注 |
| --- | --- | --- |
| DataStatus.StatusCode | integer | 接口返回状态码,100 为成功 |
| DataStatus.StatusDescription | string | 接口返回状态说明 |
| DataStatus.ResponseDateTime | string | 接口数据返回时间 |
| DataStatus.DataTotalCount | integer | 此条件下的总数据量,一般为1 |
| Data.Image | string | 截图图片,当responseFormat为base64时返回base64编码的图片数据,为url时返回图片链接 |
| Data.Content | string | 网页文本内容,提取的网页主要文本信息 |

## 接口常见 HTTP 响应状态码

> 以下为接口调用中常见的 HTTP 传输层状态码,不等同于响应体内的业务状态码;完整状态码注册表以 IANA HTTP Status Code Registry 为准。

| 状态码 | 状态码解释 | 备注 |
| --- | --- | --- |
| 200 | 请求成功 | HTTP 请求已成功处理;业务状态请结合响应体中的自定义业务码判断。 |
| 201 | 资源已创建 | 创建类接口请求成功,并已生成对应资源。 |
| 202 | 请求已接受 | 请求已被接受处理,结果可能异步完成。 |
| 204 | 无响应内容 | 请求成功但响应体为空,适用于无需返回数据的操作。 |
| 304 | 资源未变更 | 配合缓存或条件请求使用,表示可继续使用本地缓存。 |
| 400 | 请求参数错误 | 请求参数缺失、格式错误或参数组合不合法。 |
| 401 | 认证失败 | 缺少、无效或未通过认证的访问凭证(如 AppKey)。 |
| 403 | 无权限访问 | 订单到期、权限不足或接口额度不可用。 |
| 404 | 资源不存在 | 请求路径不存在。 |
| 405 | 请求方法不允许 | 当前路径不支持该 HTTP 方法。 |
| 408 | 请求超时 | 客户端请求在服务端等待时间内未完成,可稍后重试。 |
| 409 | 请求冲突 | 请求与当前资源状态冲突,调整参数或业务状态后重试。 |
| 413 | 请求内容过大 | 上传文件或请求体超过接口限制。 |
| 414 | 请求地址过长 | 请求 URL 超过服务端可处理长度,建议减少查询参数或改用 POST。 |
| 415 | 请求内容类型不支持 | 上传或请求体的内容类型不符合接口要求。 |
| 422 | 请求语义错误 | 请求格式正确,但参数取值、语义或业务约束无法处理。 |
| 429 | 请求频率受限 | 默认按来源 IP 限速,单 IP 最多 5 QPS,可满足常规业务调用。超出时网关返回 429 请求频率受限;可购买 QPS 扩展包提升速率上限,企业场景支持白名单接入与独立流控。 |
| 431 | 请求头过大 | 请求头字段过大或过多,建议精简 Header 后重试。 |
| 500 | 服务器内部错误 | 服务端处理异常,请稍后重试。 |
| 502 | 网关或上游错误 | 网关或代理从上游服务收到异常响应。 |
| 503 | 服务暂时不可用 | 服务维护、容量保护或依赖异常导致暂时不可用,请稍后重试。 |
| 504 | 网关超时 | 网关等待上游服务响应超时,可稍后重试或降低请求复杂度。 |

## 接口自定义业务状态码

| 业务状态码 | 业务状态码解释 | 备注 |
| --- | --- | --- |
| 100 | 正常返回 |  |
| 101 | 参数错误 | URL 参数为空或格式错误 |
| 102 | 请求频率受限 | 每秒请求不能超过 50 次 |
| 103 | 账号欠费 |  |
| 104 | APPKEY 错误 | 请检查传递的 APPKEY 是否为开发者中心获取到的值 |
| 110 | 网页截图失败 | 网页无法访问、加载超时或截图服务异常 |
| 111 | 图片上传失败 | 当responseFormat为url时,图片上传到CDN失败 |

## cURL 请求示例

```bash
curl --location --request POST 'https://api.gugudata.com/websitetools/url2snapshot?appkey={{appkey}}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'url=https://www.example.com' \
--data-urlencode 'responseFormat=base64' \
--data-urlencode 'fullPage=true' \
--data-urlencode 'width=1920' \
--data-urlencode 'height=1080' \
--data-urlencode 'deviceScaleFactor=1' \
--data-urlencode 'userAgent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36' \
--data-urlencode 'isMobile=false'
```

## 常见问题 Q&A

### Q: 数据请求有缓存吗?
A: 接口默认以实时响应为目标。对于日更、月更等具备明确更新周期的数据,会在数据周期内采用缓存与预热策略,以提升响应速度和稳定性;实时查询类接口则以接口说明中的更新频率为准。建议业务侧结合数据时效要求设置本地缓存与重试策略,避免高频重复请求。

### Q: 如何保证请求时 AppKey 的安全性?
A: 建议将 AppKey 保存在服务端环境中,由后端统一调用 API,再向前端或业务系统返回必要结果。不要把 AppKey 写入网页、App 客户端或公开仓库;生产环境建议按系统或业务线拆分 AppKey,并保留调用日志,便于权限控制、审计与问题排查。

### Q: 接口可以用于哪些开发语言?
A: 只要支持 HTTPS 请求的语言和框架均可接入,包括 Java、Python、Node.js、PHP、Go、C#、Swift、Kotlin 等。推荐由后端统一封装调用逻辑,集中处理鉴权、缓存、限流、重试和错误码映射,让 Web、App、AI Agent、内部系统和自动化任务复用同一套数据能力。

### Q: 接口性能可以保证吗?
A: GuGuData API 按生产环境标准部署,持续关注接口稳定性、响应速度与可用性。实际响应时间会受接口类型、请求参数、数据源更新和网络环境影响;建议生产接入前进行联调与压测,并设置合理的超时、重试、降级和告警策略。批量处理或高并发场景可提前评估 QPS、白名单和专属容量方案。

## 服务协议以及服务免责声明

- [服务协议](https://www.gugudata.com/license)
- [服务免责声明](https://www.gugudata.com/disclaimer)

## 技术支持

- 技术支持邮箱: support@gugudata.com
- 微信客服: https://work.weixin.qq.com/kfid/kfcf9a60a6afe3337b7