BrightDataTools 提供全面的网页抓取功能,包括 Markdown 转换、截屏、搜索引擎结果以及来自 LinkedIn、Amazon、Instagram 等众多平台的结构化数据源。

先决条件

以下示例需要 requests 库。

pip install -U requests

您还需要一个 BrightData API 密钥。设置 BRIGHT_DATA_API_KEY 环境变量:

export BRIGHT_DATA_API_KEY="YOUR_BRIGHTDATA_API_KEY"

可选地,您可以配置区域设置:

export BRIGHT_DATA_WEB_UNLOCKER_ZONE="your_web_unlocker_zone"
export BRIGHT_DATA_SERP_ZONE="your_serp_zone"

示例

基本网页抓取

从 LinkedIn、Amazon 等平台提取结构化数据:

from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.brightdata import BrightDataTools
from agno.utils.media import save_base64_data

agent = Agent(
    model=OpenAIChat(id="gpt-4o"),
    tools=[
        BrightDataTools(
            get_screenshot=True,
        )
    ],
    markdown=True,
    show_tool_calls=True,
)

# 示例 1:将网页抓取为 Markdown
agent.print_response(
    "Scrape this webpage as markdown: https://docs.agno.com/introduction",
)

Toolkit 参数

这些参数将传递给 BrightDataTools 构造函数。

参数类型默认值描述
api_keyOptional[str]NoneBrightData API 密钥。如果未提供,则使用 BRIGHT_DATA_API_KEY环境变量。
serp_zonestr"serp_api"用于搜索引擎请求的区域。可以通过 BRIGHT_DATA_SERP_ZONE 环境变量进行覆盖。
web_unlocker_zonestr"web_unlocker1"用于网页抓取请求的区域。可以通过 BRIGHT_DATA_WEB_UNLOCKER_ZONE 环境变量进行覆盖。
scrape_as_markdownboolTrue启用 scrape_as_markdown 工具。
get_screenshotboolFalse启用 get_screenshot 工具。
search_engineboolTrue启用 search_engine 工具。
web_data_feedboolTrue启用 web_data_feed 工具。
verboseboolFalse启用详细日志记录。
timeoutint600数据源请求的超时(秒)。

Toolkit 函数

函数描述
scrape_as_markdown抓取网页并以 Markdown 格式返回内容。参数:url (str) - 要抓取的 URL。
get_screenshot捕获网页的屏幕截图并将其添加为图像工件。参数:url (str) - 要截屏的 URL,output_path (str, optional) - 输出路径(默认为 “screenshot.png”)。
search_engine使用 Google、Bing 或 Yandex 进行搜索并以 Markdown 格式返回结果。参数:query (str), engine (str, default: “google”), num_results (int, default: 10), language (Optional[str]), country_code (Optional[str])。
web_data_feed从 LinkedIn、Amazon、Instagram 等各种来源检索结构化数据。参数:source_type (str), url (str), num_of_reviews (Optional[int])。

支持的数据源

web_data_feed 函数支持以下数据源类型:

电子商务

  • amazon_product - Amazon 产品详情
  • amazon_product_reviews - Amazon 产品评论
  • amazon_product_search - Amazon 产品搜索结果
  • walmart_product - Walmart 产品详情
  • walmart_seller - Walmart 卖家信息
  • ebay_product - eBay 产品详情
  • homedepot_products - Home Depot 产品
  • zara_products - Zara 产品
  • etsy_products - Etsy 产品
  • bestbuy_products - Best Buy 产品

专业网络

  • linkedin_person_profile - LinkedIn 个人资料
  • linkedin_company_profile - LinkedIn 公司资料
  • linkedin_job_listings - LinkedIn 工作列表
  • linkedin_posts - LinkedIn 帖子
  • linkedin_people_search - LinkedIn 人员搜索结果

社交媒体

  • instagram_profiles - Instagram 个人资料
  • instagram_posts - Instagram 帖子
  • instagram_reels - Instagram Reels
  • instagram_comments - Instagram 评论
  • facebook_posts - Facebook 帖子
  • facebook_marketplace_listings - Facebook Marketplace 列表
  • facebook_company_reviews - Facebook 公司评论
  • facebook_events - Facebook 活动
  • tiktok_profiles - TikTok 个人资料
  • tiktok_posts - TikTok 帖子
  • tiktok_shop - TikTok Shop
  • tiktok_comments - TikTok 评论
  • x_posts - X (Twitter) 帖子

其他平台

  • google_maps_reviews - Google Maps 评论
  • google_shopping - Google Shopping 结果
  • google_play_store - Google Play 商店应用
  • apple_app_store - Apple App Store 应用
  • youtube_profiles - YouTube 个人资料
  • youtube_videos - YouTube 视频
  • youtube_comments - YouTube 评论
  • reddit_posts - Reddit 帖子
  • zillow_properties_listing - Zillow 房源列表
  • booking_hotel_listings - Booking.com 酒店列表
  • crunchbase_company - Crunchbase 公司数据
  • zoominfo_company_profile - ZoomInfo 公司资料
  • reuter_news - Reuters 新闻
  • github_repository_file - GitHub 存储库文件
  • yahoo_finance_business - Yahoo Finance 商业数据

开发者资源