Bright Data 提供了一个强大的 Web Scraper API,允许您从 44 个流行网站提取结构化数据,包括电子商务网站(Amazon、Walmart、eBay)、社交媒体(LinkedIn、Instagram、TikTok、Facebook)等,特别适用于需要可靠结构化网络数据源的 AI 代理。
概述
集成详情
|Class|Package|Serializable|JS support|Version| |:--|:--|:-:|:-:|:-:| |BrightDataWebScraperAPI|langchain-brightdata|✅|❌|!PyPI - 版本|
工具特性
|Native async|Returns artifact|Return data|Pricing| |:-:|:-:|:--|:-:| |❌|❌|网站结构化数据(Amazon 产品、LinkedIn 个人资料等)|需要 Bright Data 账户|
设置
该集成位于 langchain-brightdata package.
pip install langchain-brightdata
您需要 Bright Data API 密钥才能使用此工具。您可以将其设置为环境变量:
os.environ["BRIGHT_DATA_API_KEY"] = "your-api-key"
或者在初始化工具时直接传递:
from langchain_brightdata import BrightDataWebScraperAPI
scraper_tool = BrightDataWebScraperAPI(bright_data_api_key="your-api-key")
实例化
这里展示如何实例化 BrightDataWebScraperAPI 工具。该工具允许您使用 Bright Data 的 Dataset API 从各种网站提取结构化数据,包括 Amazon 产品详情、LinkedIn 个人资料等。
该工具在实例化时接受以下参数:
- -
bright_data_api_key(必需,str):您的 Bright Data API 密钥用于身份验证。
调用
基本用法
from langchain_brightdata import BrightDataWebScraperAPI
# Initialize the tool
scraper_tool = BrightDataWebScraperAPI(
bright_data_api_key="your-api-key" # Optional if set in environment variables
)
# Extract Amazon product data
results = scraper_tool.invoke(
{"url": "https://www.amazon.com/dp/B08L5TNJHG", "dataset_type": "amazon_product"}
)
print(results)
带参数的高级用法
from langchain_brightdata import BrightDataWebScraperAPI
# Initialize with default parameters
scraper_tool = BrightDataWebScraperAPI(bright_data_api_key="your-api-key")
# Extract Amazon product data with location-specific pricing
results = scraper_tool.invoke(
{
"url": "https://www.amazon.com/dp/B08L5TNJHG",
"dataset_type": "amazon_product",
"zipcode": "10001", # Get pricing for New York City
}
)
print(results)
# Extract LinkedIn profile data
linkedin_results = scraper_tool.invoke(
{
"url": "https://www.linkedin.com/in/satyanadella/",
"dataset_type": "linkedin_person_profile",
}
)
print(linkedin_results)
自定义选项
BrightDataWebScraperAPI 工具接受多个自定义参数:
|Parameter|Type|Description| |:--|:--|:--| |url|str|要提取数据的 URL| |dataset_type|str|要使用的数据集类型(见下方可用类型)| |zipcode|str|用于位置特定数据的可选邮政编码| |keyword|str|搜索关键词(用于 amazon_product_search)| |first_name|str|名字(用于 linkedin_people_search)| |last_name|str|姓氏(用于 linkedin_people_search)| |num_of_reviews|str|评论数量(用于 facebook_company_reviews)| |num_of_comments|str|评论数量(用于 youtube_comments,默认:10)| |days_limit|str|限制结果的天数(用于 google_maps_reviews,默认:3)|
可用数据集类型(44 个数据集)
电子商务(10 个数据集)
|Dataset Type|Description|Required Inputs| |:--|:--|:--| |amazon_product|产品详情、价格、规格|url (with /dp/)| |amazon_product_reviews|客户评论和评分|url (with /dp/)| |amazon_product_search|Amazon 搜索结果|keyword, url| |walmart_product|Walmart 产品数据|url (with /ip/)| |walmart_seller|Walmart 卖家信息|url| |ebay_product|eBay 产品数据|url| |homedepot_products|Home Depot 产品数据|url| |zara_products|Zara 产品数据|url| |etsy_products|Etsy 产品数据|url| |bestbuy_products|Best Buy 产品数据|url|
LinkedIn(5 个数据集)
|数据集类型|描述|必需输入| |:--|:--|:--| |linkedin_person_profile|职业档案数据|url| |linkedin_company_profile|公司信息|url| |linkedin_job_listings|职位列表详情|url| |linkedin_posts|帖子内容与互动|url| |linkedin_people_search|搜索人员|url, first_name, last_name|
商业智能(2 个数据集)
|数据集类型|描述|必需输入| |:--|:--|:--| |crunchbase_company|公司融资、投资者、指标|url| |zoominfo_company_profile|B2B 公司情报|url|
Instagram(4 个数据集)
|数据集类型|描述|必需输入| |:--|:--|:--| |instagram_profiles|档案数据与统计|url| |instagram_posts|帖子内容与互动|url| |instagram_reels|Reel 内容与指标|url| |instagram_comments|帖子评论|url|
Facebook(4 个数据集)
|数据集类型|描述|必需输入| |:--|:--|:--| |facebook_posts|帖子内容与互动|url| |facebook_marketplace_listings|Marketplace 列表数据|url| |facebook_company_reviews|公司评论|url, num_of_reviews| |facebook_events|活动详情|url|
TikTok(4 个数据集)
|数据集类型|描述|必需输入| |:--|:--|:--| |tiktok_profiles|档案数据与统计|url| |tiktok_posts|视频内容与指标|url| |tiktok_shop|商店产品数据|url| |tiktok_comments|视频评论|url|
YouTube(3 个数据集)
|数据集类型|描述|必需输入| |:--|:--|:--| |youtube_profiles|频道档案数据|url| |youtube_videos|视频内容与指标|url| |youtube_comments|视频评论|url, num_of_comments (默认值:10)|
Google(3 个数据集)
|数据集类型|描述|必需输入| |:--|:--|:--| |google_maps_reviews|地图商户评论|url, days_limit (默认值:3)| |google_shopping|购物产品数据|url| |google_play_store|应用商店数据|url|
其他平台(9 个数据集)
|数据集类型|描述|必需输入| |:--|:--|:--| |apple_app_store|iOS 应用数据|url| |x_posts|X (Twitter) 帖子数据|url| |reddit_posts|Reddit 帖子数据|url| |github_repository_file|GitHub 文件内容|url| |yahoo_finance_business|金融商业数据|url| |reuter_news|新闻文章数据|url| |zillow_properties_listing|房产列表数据|url| |booking_hotel_listings|酒店列表数据|url|
在代理中使用
from langchain_brightdata import BrightDataWebScraperAPI
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 Bright Data Web Scraper API tool
scraper_tool = BrightDataWebScraperAPI(bright_data_api_key="your-api-key")
# Create the agent with the tool
agent = create_agent(llm, [scraper_tool])
# Provide a user query
user_input = "Scrape Amazon product data for https://www.amazon.com/dp/B0D2Q9397Y?th=1 in New York (zipcode 10001)."
# Stream the agent's step-by-step output
stream = agent.stream_events({"messages": user_input}, version="v3")
for snapshot in stream.values:
snapshot["messages"][-1].pretty_print()