Skip to main content
AgentQL 工具提供网页交互和从任何网页提取结构化数据的功能,使用 AgentQL 查询 或自然语言提示词。AgentQL 可用于多种语言和网页,且不会随时间推移或变化而失效。

概述

AgentQL 提供以下三种工具:
  • ExtractWebDataTool 根据 URL 从网页中提取结构化 JSON 数据,使用 AgentQL 查询 或对数据的自然语言描述。
以下两个工具也打包为 AgentQLBrowserToolkit,必须与 Playwright 浏览器或通过 Chrome DevTools 协议 (CDP) 的远程浏览器实例一起使用:
  • ExtractWebDataBrowserTool 从浏览器中的活动网页中提取结构化 JSON 数据,使用 AgentQL 查询 或自然语言描述。
  • GetWebElementBrowserTool 使用自然语言描述在浏览器的活动网页上查找 Web 元素,并返回其 CSS 选择器以便进一步交互。

集成详情

工具特性

设置

要运行此笔记本,请安装 Playwright 浏览器并配置 Jupyter Notebook 的 asyncio 循环。

凭据

要使用 AgentQL 工具,您需要从 AgentQL 开发者门户 获取自己的 API 密钥,并设置 AgentQL 环境变量。

实例化

ExtractWebDataTool

您可以使用以下参数实例化 ExtractWebDataTool
  • api_key: 您的 AgentQL API 密钥,来自 dev.agentql.com可选
  • timeout: 请求超时前等待的秒数。如果数据提取超时,请增加此值。 默认为 900
  • is_stealth_mode_enabled: 是否启用实验性反爬虫规避策略。此功能可能无法在所有时间对所有网站生效。启用此模式后,数据提取可能需要更长时间才能完成。 默认为 False
  • wait_for: 提取数据前等待页面加载的秒数。 默认为 0
  • is_scroll_to_bottom_enabled: 是否在提取数据前滚动到页面底部。 默认为 False
  • mode: "standard" 使用深度数据分析,而 "fast" 以牺牲部分分析深度换取速度,适用于大多数用例。在此指南中了解更多关于模式的信息。 默认为 "fast"
  • is_screenshot_enabled: 是否在提取数据前截图。作为 Base64 字符串返回在 ‘metadata’ 中。 默认为 False
ExtractWebDataTool 使用 AgentQL 的 REST API 实现,您可以在 API 参考文档 中查看有关参数的更多详细信息。

ExtractWebDataBrowserTool

要实例化 ExtractWebDataBrowserTool,您需要将工具连接到浏览器实例。 您可以设置以下参数:
  • timeout: 请求超时前等待的秒数。如果数据提取超时,请增加此值。 默认为 900
  • wait_for_network_idle: 是否在执行前等待网络达到完全空闲状态。 默认为 True
  • include_hidden: 是否考虑页面上视觉上隐藏的元素。 默认为 True
  • mode: "standard" 使用深度数据分析,而 "fast" 以牺牲部分分析深度换取速度,适用于大多数用例。在此指南中了解更多关于模式的信息。 默认为 "fast"
ExtractWebDataBrowserTool 使用 AgentQL 的 SDK 实现。您可以在 AgentQL 的 API 参考 中找到有关参数和函数的更多详细信息。

GetWebElementBrowserTool

要实例化 GetWebElementBrowserTool,您需要将工具连接到浏览器实例。 您可以设置以下参数:
  • timeout: 请求超时前等待的秒数。如果数据提取超时,请增加此值。 默认为 900
  • wait_for_network_idle: 是否在执行前等待网络达到完全空闲状态。 默认为 True
  • include_hidden: 是否考虑页面上视觉上隐藏的元素。 默认为 False
  • mode: "standard" 使用深度数据分析,而 "fast" 以牺牲部分分析深度换取速度,适用于大多数用例。在此指南中了解更多关于模式的信息。 默认为 "fast"
GetWebElementBrowserTool 使用 AgentQL 的 SDK 实现。您可以在 AgentQL 的 API 参考 中找到有关参数和函数的更多详细信息。

调用

ExtractWebDataTool

此工具底层使用 AgentQL 的 REST API,将公开可用的网页 URL 发送到 AgentQL 的端点。这不适用于私有页面或已登录会话。对于这些用例,请使用 ExtractWebDataBrowserTool
  • url: 您要从中提取数据的网页 URL。
  • query: 要执行的 AgentQL 查询。如果您想提取精确的结构化数据,请使用 AgentQL 查询。了解如何在文档中 编写 AgentQL 查询,或在 AgentQL 游乐场 中测试一个。
  • prompt: 要从页面提取的数据的自然语言描述。AgentQL 将根据您的提示词推断数据结构。如果您想提取由自由格式语言定义的数据而不定义特定结构,请使用 prompt
注意: 您必须定义 queryprompt 才能使用 AgentQL。

ExtractWebDataBrowserTool

  • query: 要执行的 AgentQL 查询。如果您想提取精确的结构化数据,请使用 AgentQL 查询。了解如何在文档中 编写 AgentQL 查询,或在 AgentQL 游乐场 中测试一个。
  • prompt: 要从页面提取的数据的自然语言描述。AgentQL 将根据您的提示词推断数据结构。如果您想提取由自由格式语言定义的数据而不定义特定结构,请使用 prompt
注意: 您必须定义 queryprompt 才能使用 AgentQL。 要提取数据,首先您必须使用 LangChain 的 Playwright 工具导航到网页。

GetWebElementBrowserTool

  • prompt: 要在页面上查找的 Web 元素的自然语言描述。

链式调用

您可以通过先将工具绑定到 工具调用模型 然后调用它来在链中使用 AgentQL 工具:

实例化 LLM

执行工具链

在代理中使用

您可以在 AI Agent 中使用 AgentQL 工具,使用 AgentQLBrowserToolkit。此工具包包含 ExtractDataBrowserToolGetWebElementBrowserTool。这是一个结合 AgentQL 工具包与 Playwright 工具的代理浏览器操作的示例。

实例化工具包

与 ReAct Agent 配合使用


API 参考

有关如何使用此集成的更多信息,请参阅 git 仓库LangChain 集成文档