oxylabs-ai-studio-py
用自然语言Prompt驱动AI理解页面结构,将网页采集从技术活变成API调用
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
用自然语言Prompt驱动AI理解页面结构,将网页采集从技术活变成API调用
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你需要让AI应用实时获取某个电商网站的商品价格、招聘平台的新职位、新闻网站的最新文章。如果每次都要写正则表达式、调试XPath、维护CSS选择器——光是数据清洗就能耗掉你一周。
oxylabs-ai-studio-py 解决的就是这个痛点:把网页数据采集变成自然语言对话,让AI来理解页面结构,开发者只需说"我要这个页面上所有商品的名称、价格和评分"。
Oxylabs 是一家成立多年的商业代理IP和网页采集服务商。oxylabs-ai-studio-py 是他们将商业级网页采集能力 API 化的 Python SDK——本质上是一个AI驱动的数据采集中间件,而非传统意义上的爬虫框架。
这个项目的核心价值在于:把"写爬虫"这件技术活,变成了"描述你要什么"这件自然语言任务。作者是 Oxylabs 团队(公司级项目),采用 MIT 许可证,Python 3.10+ 要求,代码质量规范严格(ruff + mypy strict 模式)。
传统爬虫需要遍历sitemap、配置爬取深度、处理重复URL。AI爬虫只需两行代码:
crawler = AiCrawler(api_key="你的API_KEY")
result = crawler.crawl(
url="https://oxylabs.io",
user_prompt="找出所有代理产品的名称和定价",
output_format="markdown",
geo_location="United States"
)
底层工作原理:SDK 调用 Oxylabs AI Studio 的 /crawl/run 端点,由服务端 AI 解析页面 DOM 结构,生成提取规则,然后批量执行。返回结果已经是清洗过的结构化数据。
针对单个页面,AiScraper 提供了更精细的控制。最实用的功能是自然语言生成 JSON Schema:
scraper = AiScraper(api_key="你的API_KEY")
schema = scraper.generate_schema(
prompt="解析游戏名称、平台、类型、价格、评分和描述"
)
result = scraper.scrape(
url="https://sandbox.oxylabs.io/products/3",
output_format="json",
schema=schema
)
generate_schema 利用 AI 将自然语言转换为标准 JSON Schema,大幅降低结构化提取门槛。支持多输出格式:json、markdown、csv、screenshot、toon。
这是最接近"AI Agent"概念的功能。BrowserAgent 可以模拟真实用户在页面上的多步操作:
browser_agent = BrowserAgent(api_key="你的API_KEY")
result = browser_agent.run(
url="https://sandbox.oxylabs.io/",
user_prompt="搜索'super mario odyssey',找到价格",
output_format="json",
schema=schema
)
它执行:打开页面 → 使用搜索框 → 点击结果 → 提取数据。解决了大量现代 Web 应用(React/Vue SPA)无法直接通过 HTTP 请求采集的问题。
直接调用搜索引擎 API,支持普通搜索(search)和即时搜索(instant_search,<=10条结果且不返回内容时自动走快速通道)。可以指定地理位置,返回 markdown 格式内容。
输入一个URL,快速获得该站点的完整页面目录,配合关键词过滤,非常适合竞品调研和内容审计。
项目采用标准的 Python Package 结构(src layout + hatchling 构建):
src/oxylabs_ai_studio/
apps/
ai_crawler.py # 爬虫核心
ai_scraper.py # 单页抓取
browser_agent.py # 浏览器代理
ai_search.py # 搜索引擎
ai_map.py # 站点地图
client.py # HTTP客户端基类(httpx + tenacity)
models.py # Pydantic 模型
settings.py # 环境变量配置
logger.py # 结构化日志
客户端层(client.py)是架构亮点:封装了 httpx 异步客户端,内置 tenacity 重试机制(指数退避),自动处理 429 限流和 5xx 错误,代码简洁但健壮。默认重试5次,wait_exponential 退避策略。
依赖极简:整个SDK只依赖5个核心包(httpx、pydantic、pydantic-settings、python-dotenv、tenacity),没有引入爬虫框架或AI框架——这是一款纯工具包,不会污染项目依赖树。
代码质量:采用 ruff(PEP8 + 常见错误规则集)+ mypy strict 模式全类型注解,CI/CD 有自动发布 workflow。
安装体验非常简单:
pip install oxylabs-ai-studio
但实际使用有商业门槛:必须注册 Oxylabs AI Studio 账号并购买 credits(按量计费),没有免费额度——这是一个SaaS API的Python客户端,不是自托管方案。
部署难度「简单」,无需 GPU,无需服务器(调用远程 API),Python 3.10+ 环境即可。部署前需确认:
没有免费额度:与 Firecrawl、ScrapingBee 等竞品提供免费 tier 不同,Oxylabs AI Studio 完全付费,对个人开发者和小团队成本门槛较高。
非自托管:所有数据处理在 Oxylabs 服务端完成,数据隐私完全依赖 Oxylabs 的商业信誉,不适合处理敏感数据。
无本地推理:没有 Ollama/本地 LLM 集成,所有 AI 理解能力都是付费 API 调用,不适合需要离线场景的用户。
代理依赖:SDK 本身是薄薄的封装层,核心能力在远端,服务稳定性依赖 Oxylabs。
这个项目的出现,反映了一个趋势:AI Agent 需要实时、结构化的网络数据,而传统爬虫技术无法满足"让AI自己决定抓什么"的需求。
oxylabs-ai-studio-py 的精准定位是:给 AI 应用提供可靠的网页数据管道。它的目标用户不是爬虫工程师,而是 AI 应用开发者——帮助他们把"获取网页数据"从技术债变成一个可靠的 API 调用。
增长趋势(growth_trend_score: 1.76)反映出这个赛道的热度:随着 AI Agent 概念爆发,越来越多的项目需要"让AI自己读网页"的能力,而这个 SDK 正是解决该需求的一个商业级选项。