Skip to main content
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
formatstr响应内容的格式(默认:“raw”)
countrystr地理特定访问使用的两位国家代码(如 “us”、“gb”)
zonestr使用的 Bright Data 区域(默认:“unlocker”)
data_formatstr输出格式: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 langchain.agents import create_agent


# Initialize the LLM
llm = ChatGoogleGenerativeAI(model="gemini-2.5-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_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 参考