跳到主要内容
Open In ColabOpen on GitHub

BrightDataUnlocker

Bright Data 提供了强大的 Web Unlocker API,允许您访问可能受反机器人措施、地理限制或其他访问限制保护的网站,这对于需要可靠网页内容提取的 AI 代理特别有用。

概述

集成详情

类别可序列化JS 支持最新包版本
BrightDataUnlockerlangchain-brightdataPyPI - Version

工具功能

原生异步返回工件返回数据定价
HTML、Markdown 或网页截图需要 Bright Data 账户

设置

该集成位于 langchain-brightdata 包中。

pip install langchain-brightdata

您需要一个 Bright Data API 密钥才能使用此工具。您可以将其设置为环境变量

import os

os.environ["BRIGHT_DATA_API_KEY"] = "your-api-key"

或在初始化工具时直接传入

from langchain_brightdata import BrightDataUnlocker

unlocker_tool = BrightDataUnlocker(bright_data_api_key="your-api-key")

实例化

此处演示如何实例化 BrightDataUnlocker 工具。此工具允许您使用 Bright Data 的 Web Unlocker 服务访问可能受反机器人措施、地理限制或其他访问限制保护的网站。

该工具在实例化时接受各种参数

  • bright_data_api_key(必填,str):您的 Bright Data API 密钥,用于身份验证。
  • format(可选,Literal["raw"]):响应内容的格式。默认为 "raw"。
  • country(可选,str):用于地理特定访问的两位国家代码(例如,“us”、“gb”、“de”、“jp”)。当您需要像从特定国家访问网站一样查看时设置此项。默认为 None。
  • zone(可选,str):用于请求的 Bright Data 区域。 “unlocker”区域经过优化,可用于访问可能阻止常规请求的网站。默认为 "unlocker"。
  • data_format(可选,Literal["html", "markdown", "screenshot"]):检索到的内容的输出格式。选项包括
    • "html" - 返回标准 HTML 内容(默认)
    • "markdown" - 返回转换为 markdown 格式的内容
    • "screenshot" - 返回渲染页面的 PNG 截图

调用

基本用法

from langchain_brightdata import BrightDataUnlocker

# Initialize the tool
unlocker_tool = BrightDataUnlocker(
bright_data_api_key="your-api-key" # Optional if set in environment variables
)

# Access a webpage
result = unlocker_tool.invoke("https://example.com")

print(result)

高级用法与参数

from langchain_brightdata import BrightDataUnlocker

unlocker_tool = BrightDataUnlocker(
bright_data_api_key="your-api-key",
)

# Access a webpage with specific parameters
result = unlocker_tool.invoke(
{
"url": "https://example.com/region-restricted-content",
"country": "gb", # Access as if from Great Britain
"data_format": "html", # Get content in markdown format
"zone": "unlocker", # Use the unlocker zone
}
)

print(result)

自定义选项

BrightDataUnlocker 工具接受多个参数进行自定义

参数类型描述
urlstr要访问的 URL
格式str响应内容的格式(默认值:“raw”)
国家str用于地理特定访问的两位国家代码(例如,“us”、“gb”)
区域str要使用的 Bright Data 区域(默认值:“unlocker”)
数据格式str输出格式:None (HTML)、“markdown”或“screenshot”

数据格式选项

data_format 参数允许您指定内容的返回方式

  • None"html"(默认):返回页面的标准 HTML 内容
  • "markdown":返回转换为 markdown 格式的内容,这对于直接提供给 LLM 很有用
  • "screenshot":返回渲染页面的 PNG 截图,对于视觉分析很有用

在代理中使用

from langchain_brightdata import BrightDataUnlocker
from langchain_google_genai import ChatGoogleGenerativeAI
from langgraph.prebuilt import create_react_agent

# Initialize the LLM
llm = ChatGoogleGenerativeAI(model="gemini-2.0-flash", google_api_key="your-api-key")

# Initialize the tool
bright_data_tool = BrightDataUnlocker(bright_data_api_key="your-api-key")

# Create the agent
agent = create_react_agent(llm, [bright_data_tool])

# Input URLs or prompt
user_input = "Get the content from https://example.com/region-restricted-page - access it from GB"

# Stream the agent's output step by step
for step in agent.stream(
{"messages": user_input},
stream_mode="values",
):
step["messages"][-1].pretty_print()

API 参考