最新的安装说明、示例和源代码请查看 TypeScript SDK GitHub 仓库。
- 完整类型化的目标和参数,支持 IDE 自动补全
- 同步、异步和批量抓取方法
- 通过 Web Data API 提供网页搜索、站点地图和爬取功能
- 原生支持
fetch;需要 Node.js 18 或更高版本 - 类型化的错误层级,让集成更安全
什么是 Decodo TypeScript SDK?
Decodo TypeScript SDK 为 Google、Amazon、TikTok、YouTube、ChatGPT、Perplexity 等 Decodo 目标提供类型化接口。您无需手动构造 HTTP 请求和校验载荷,而是直接在编辑器中使用完整类型化的方法和特定目标的参数。为什么使用该 SDK?
- 强类型与自动补全:目标参数完整类型化,带来更好的编辑器支持和更少的错误。
- 统一的抓取接口:通过同一个 SDK 使用搜索引擎、电商平台、社交媒体和 AI 工具。
- 异步与批量工作流:创建抓取任务、轮询任务状态,并大规模处理批量请求。
- 类型化错误:安全地处理身份验证、参数校验、超时和速率限制等失败情况。
- 配置极简:使用原生
fetch,无需额外的 HTTP 客户端。
要求
- Node.js 18 或更高版本,以支持原生
fetch - 推荐使用 TypeScript 5.0 或更高版本,以获得最佳类型推断
安装
快速开始
创建一个新项目:npm init -y 创建的是 CommonJS 包,因此使用 import 的文件会失败并报 SyntaxError: Cannot use import statement outside a module。请先将该包切换为 ES 模块:
较旧的计划只有基本身份验证令牌。请将其作为
token 传入,而不是 apiKey——详见下文的”配置”一节。main.js 并初始化客户端:
配置
apiKey 或 token 之一,切勿同时传入:
同时设置两者会抛出
webScrapingApi accepts either token or apiKey, not both. Provide only one.;两者都不设置会抛出 webScrapingApi requires apiKey or token in DecodoConfig.;非法的 baseUrl 会抛出 webScrapingApi baseUrl must be a valid URL.您传入的凭据还决定了 SDK 调用哪个 API。apiKey 使用位于 data.decodo.com 的 Web Data API,这也是使用搜索、站点地图和爬取功能的唯一途径。token 使用位于 scraper-api.decodo.com 的旧版 Web Scraping API,该 API 仅支持抓取。抓取
通过client.webScrapingApi 访问该 API。下面的示例假定您已导入 Target,并在需要时一并导入 DecodoClient:
同步抓取
等待抓取结果返回后再继续:异步抓取
创建抓取任务并立即返回。任务状态和结果需另行轮询:批量抓取
在单个请求中发送多个查询或 URL:Web Data API:搜索、站点地图和爬取
这些方法由位于data.decodo.com 的 Web Data API 提供,需要 apiKey。在配置了基本身份验证 token 的客户端上调用它们,会在发出任何请求之前就抛出异常,例如:search() requires webScrapingApi.apiKey. A Basic token cannot call the Data API.
搜索
运行一次网页搜索并返回结果页面:站点地图
发现站点上的链接:爬取
crawl() 会启动爬取、轮询其状态,并在任务结束后返回所有页面:
listCrawlPages() 每次返回一批基于游标分页的结果。请把 next 的值作为 cursor 再次传入,直到它为空:
支持的目标
每个目标接受一个主输入参数(url、query、product_id 或 prompt),以及可选的配置项。
搜索引擎
电商
社交媒体
AI 工具
其他
通用目标与原始 URL 抓取
Target.UniversalEcommerce 未列入上述表格,因为它不接受 url、query、product_id 或 prompt 这类主输入参数。它只接受 callback_url 等可选配置字段。错误处理
该 SDK 会抛出与 API 错误码对应的类型化错误:AuthenticationError、RateLimitError 和 ValidationError 都继承自 DecodoError。TimeoutError 不在 DecodoError 的层级之内,因此请单独处理。
相关内容
- CLI:在命令行中运行 Decodo 抓取工作流。
- Python SDK:将 Decodo API 集成到 Python 项目中。
- Go SDK:将 Decodo API 集成到 Go 项目中。
- MCP 服务器:将 AI 智能体和兼容 MCP 的工具连接到 Decodo。
- GitHub 仓库:查看 TypeScript SDK 的源代码、示例和最新版本。
支持
需要帮助或只是想打个招呼?我们的支持团队全天候为您服务。
您也可以随时通过电子邮件 support@decodo.com 联系我们。
您也可以随时通过电子邮件 support@decodo.com 联系我们。
反馈
找不到您要找的内容?请求一篇文章!
有反馈意见?分享您对我们如何改进的想法。
有反馈意见?分享您对我们如何改进的想法。