Python + Bright Data MCP 实时抓取 Google 搜索结果实战
在开发 AI 应用或智能代理(Agent)时,实时数据往往是决定效果的关键。LLM 的推理能力高度依赖实时上下文——比如用户问'2025 年最新 AI 趋势是什么',静态训练数据无法提供答案,必须接入实时网页数据。
传统爬虫方案痛点明显:自建爬虫要处理反爬机制(IP 封禁、验证码),还要维护代理池和动态渲染逻辑,长期成本高且响应慢。Bright Data 的 Web MCP Server(Model Context Protocol Server)正好解决这些问题,它封装了底层细节,通过简单 API 就能获取结构化数据,特别适合 AI 场景。
核心准备
1. 账号与 Token
注册 Bright Data 账号后,在控制台找到 API Token。建议将其保存在环境变量中,避免硬编码在代码里。
2. 环境搭建
确保已安装 Python 3.8+。接着安装必要的依赖库:
pip install requests brightdata-sdk schedule
验证安装是否成功,输入 python --version 确认版本无误。
实战代码:抓取 Google 结果
新建文件 Search.py,编写如下代码。注意这里用到了环境变量来存储密钥,生产环境务必这样做。
import os
from brightdata import bdclient
# 从环境变量读取 Token,更安全
token = os.getenv("BRIGHTDATA_API_TOKEN", "your-api-key")
client = bdclient(api_token=token)
# 实时抓取 Google 搜索结果
results = client.search(
query=["Python 教程"], # 搜索关键词
search_engine="google", # 指定搜索引擎
country="cn" # 国家代码(中国)
)
print(results)
运行代码前,请确保终端已设置好环境变量,或者临时替换为有效 Token。执行命令:
python Search.py
常见问题排查
SDK 内置了浏览器渲染和智能代理切换,通常无需手动配置。但遇到以下情况可参考处理:
- 认证失败:提示
Invalid API token时,检查 Token 是否正确,或环境变量是否生效。 - 结果为空:可能是关键词过于特殊,尝试减少
max_results限制或更换关键词。 - 网络超时:动态网页加载较慢,建议添加重试机制。例如使用
tenacity库:
from tenacity import retry, stop_after_attempt, wait_fixed
():
client.search(...)


