AgentQL的文档加载器使用 AgentQL 查询从任何网页中提取结构化数据。AgentQL 可跨多种语言和网页使用,不会随时间和变化而失效。
概述
AgentQLLoader 需要以下两个参数:
- -
url:要从中提取数据的网页 URL。 - -
query:要执行的 AgentQL 查询。了解更多关于 如何在文档中编写 AgentQL 查询 或在其中进行测试 AgentQL Playground.
以下参数设置是可选的:
- -
api_key:来自您的 AgentQL API 密钥 dev.agentql.com. **Optional.** - -
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.**
AgentQLLoader 使用 AgentQL 的 REST API
集成详情
| 类 | 包 | 本地 | 可序列化 | JS 支持 |
|---|---|---|---|---|
AgentQLLoader | langchain-agentql | ✅ | ❌ | ❌ |
加载器特性
| 源 | 文档懒加载 | 原生异步支持 |
|---|---|---|
AgentQLLoader | ✅ | ❌ |
设置
要使用 AgentQL 文档加载器,您需要配置 AGENTQL_API_KEY 环境变量,或使用 api_key 参数。您可以从我们的 开发者门户.
安装
安装 **langchain-agentql**.
pip install -qU langchain-agentql
设置凭证
os.environ["AGENTQL_API_KEY"] = "YOUR_AGENTQL_API_KEY"
初始化
接下来实例化您的模型对象:
from langchain_agentql.document_loaders import AgentQLLoader
loader = AgentQLLoader(
url="https://www.agentql.com/blog",
query="""
{
posts[] {
title
url
date
author
}
}
""",
is_scroll_to_bottom_enabled=True,
)
加载
docs = loader.load()
docs[0]
Document(metadata={'request_id': 'bdb9dbe7-8a7f-427f-bc16-839ccc02cae6', 'generated_query': None, 'screenshot': None}, page_content="{'posts': [{'title': 'Launch Week Recap—make the web AI-ready', 'url': 'https://www.agentql.com/blog/2024-launch-week-recap', 'date': 'Nov 18, 2024', 'author': 'Rachel-Lee Nabors'}, {'title': 'Accurate data extraction from PDFs and images with AgentQL', 'url': 'https://www.agentql.com/blog/accurate-data-extraction-pdfs-images', 'date': 'Feb 1, 2025', 'author': 'Rachel-Lee Nabors'}, {'title': 'Introducing Scheduled Scraping Workflows', 'url': 'https://www.agentql.com/blog/scheduling', 'date': 'Dec 2, 2024', 'author': 'Rachel-Lee Nabors'}, {'title': 'Updates to Our Pricing Model', 'url': 'https://www.agentql.com/blog/2024-pricing-update', 'date': 'Nov 19, 2024', 'author': 'Rachel-Lee Nabors'}, {'title': 'Get data from any page: AgentQL’s REST API Endpoint—Launch week day 5', 'url': 'https://www.agentql.com/blog/data-rest-api', 'date': 'Nov 15, 2024', 'author': 'Rachel-Lee Nabors'}]}")
print(docs[0].metadata)
{'request_id': 'bdb9dbe7-8a7f-427f-bc16-839ccc02cae6', 'generated_query': None, 'screenshot': None}
懒加载
AgentQLLoader 目前仅加载一个 Document。因此, load() 和 lazy_load() 行为相同:
pages = [doc for doc in loader.lazy_load()]
pages
[Document(metadata={'request_id': '06273abd-b2ef-4e15-b0ec-901cba7b4825', 'generated_query': None, 'screenshot': None}, page_content="{'posts': [{'title': 'Launch Week Recap—make the web AI-ready', 'url': 'https://www.agentql.com/blog/2024-launch-week-recap', 'date': 'Nov 18, 2024', 'author': 'Rachel-Lee Nabors'}, {'title': 'Accurate data extraction from PDFs and images with AgentQL', 'url': 'https://www.agentql.com/blog/accurate-data-extraction-pdfs-images', 'date': 'Feb 1, 2025', 'author': 'Rachel-Lee Nabors'}, {'title': 'Introducing Scheduled Scraping Workflows', 'url': 'https://www.agentql.com/blog/scheduling', 'date': 'Dec 2, 2024', 'author': 'Rachel-Lee Nabors'}, {'title': 'Updates to Our Pricing Model', 'url': 'https://www.agentql.com/blog/2024-pricing-update', 'date': 'Nov 19, 2024', 'author': 'Rachel-Lee Nabors'}, {'title': 'Get data from any page: AgentQL’s REST API Endpoint—Launch week day 5', 'url': 'https://www.agentql.com/blog/data-rest-api', 'date': 'Nov 15, 2024', 'author': 'Rachel-Lee Nabors'}]}")]
API 参考
有关如何使用此集成的更多信息,请参阅 Git 仓库 或 LangChain 集成文档