> ## Documentation Index
> Fetch the complete documentation index at: https://ikun.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# BrightData

> BrightDataTools 使 Agent 能够使用 BrightData 的 API 进行网页抓取、搜索引擎查询、截屏以及结构化数据提取。

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

## 先决条件

以下示例需要 `requests` 库。

```shell theme={null}
pip install -U requests
```

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

```shell theme={null}
export BRIGHT_DATA_API_KEY="YOUR_BRIGHTDATA_API_KEY"
```

可选地，您可以配置区域设置：

```shell theme={null}
export BRIGHT_DATA_WEB_UNLOCKER_ZONE="your_web_unlocker_zone"
export BRIGHT_DATA_SERP_ZONE="your_serp_zone"
```

## 示例

### 基本网页抓取

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

```python theme={null}
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_key`            | `Optional[str]` | `None`            | BrightData API 密钥。如果未提供，则使用 `BRIGHT_DATA_API_KEY`环境变量。     |
| `serp_zone`          | `str`           | `"serp_api"`      | 用于搜索引擎请求的区域。可以通过 `BRIGHT_DATA_SERP_ZONE` 环境变量进行覆盖。         |
| `web_unlocker_zone`  | `str`           | `"web_unlocker1"` | 用于网页抓取请求的区域。可以通过 `BRIGHT_DATA_WEB_UNLOCKER_ZONE` 环境变量进行覆盖。 |
| `scrape_as_markdown` | `bool`          | `True`            | 启用 `scrape_as_markdown` 工具。                                |
| `get_screenshot`     | `bool`          | `False`           | 启用 `get_screenshot` 工具。                                    |
| `search_engine`      | `bool`          | `True`            | 启用 `search_engine` 工具。                                     |
| `web_data_feed`      | `bool`          | `True`            | 启用 `web_data_feed` 工具。                                     |
| `verbose`            | `bool`          | `False`           | 启用详细日志记录。                                                  |
| `timeout`            | `int`           | `600`             | 数据源请求的超时（秒）。                                               |

## 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 商业数据

## 开发者资源

* 查看 [工具源码](https://github.com/agno-agi/agno/blob/main/libs/agno/agno/tools/brightdata.py)
* 查看 [Cookbook 示例](https://github.com/agno-agi/agno/blob/main/cookbook/tools/brightdata_tools.py)
