Documentation has been updated: see help center and changelog in one place.

Python SDK

了解如何使用 AI Studio 的 Python SDK。

YouTube

我们提供一个简单的 Python SDK,用于无缝与 Oxylabs AI Studio API 服务交互,包括 AI-Scraper、AI-Crawler、AI-Browser-Agent 以及其他数据提取工具。

要求

  • python 3.10 及以上

  • AI Studio API 密钥

安装

pip install oxylabs-ai-studio

用法

爬取 (AiCrawler.crawl)

from oxylabs_ai_studio.apps.ai_crawler import AiCrawler

crawler = AiCrawler(api_key="<API_KEY>")

url = "https://oxylabs.io"
result = crawler.crawl(
    url=url,
    user_prompt="查找所有包含代理产品定价的页面",
    output_format="markdown",
    render_javascript=False,
    return_sources_limit=3,
    geo_location="US",
)
print("结果:")
for item in result.data:
    print(item, "\n")

输入参数

  • url (str): 起始要爬取的 URL (必需)

  • user_prompt (str): 用于指导提取的自然语言提示 (必需)

  • output_format (Literal["json", "markdown"]): 输出格式(默认: "markdown")

  • schema (dict | None): 用于结构化提取的 OpenAPI 模式(当 output_format 为 "json" 时为必需)

  • render_javascript (bool): 是否渲染 JavaScript(默认: False)

  • return_sources_limit (int): 返回源的最大数量(默认: 25)

  • geo_location (str): 代理位置,使用 ISO2 格式。

抓取 (AiScraper.scrape)

from oxylabs_ai_studio.apps.ai_scraper import AiScraper

scraper = AiScraper(api_key="<API_KEY>")

schema = scraper.generate_schema(prompt="想解析开发者、平台、类型、价格、游戏标题、流派(数组)和描述")
print(f"生成的模式: {schema}")

url = "https://sandbox.oxylabs.io/products/3"
result = scraper.scrape(
    url=url,
    output_format="json",
    schema=schema,
    render_javascript=False,
)
print(result)

输入参数

  • url (str): 要抓取的目标 URL (必需)

  • output_format (Literal["json", "markdown"]): 输出格式(默认: "markdown")

  • schema (dict | None): 用于结构化提取的 OpenAPI 模式(当 output_format 为 "json" 时为必需)

  • render_javascript (bool): 是否渲染 JavaScript(默认: False)

  • geo_location (str): 代理位置,使用 ISO2 格式。

浏览器代理 (BrowserAgent.run)

from oxylabs_ai_studio.apps.browser_agent import BrowserAgent

browser_agent = BrowserAgent(api_key="<API_KEY>")

schema = browser_agent.generate_schema(
    prompt="游戏名称、平台、评分星级和价格"
)
print("模式: ", schema)

prompt = "查找商店中是否有游戏 'super mario odyssey'。如果有,找出其价格。使用搜索栏查找该游戏。"
url = "https://sandbox.oxylabs.io/"
result = browser_agent.run(
    url=url,
    user_prompt=prompt,
    output_format="json",
    schema=schema,
)
print(result.data)

输入参数

  • url (str): 起始要浏览的 URL (必需)

  • user_prompt (str): 用于提取的自然语言提示 (必需)

  • output_format (Literal["json", "markdown", "html", "screenshot"]): 输出格式(默认: "markdown")

  • schema (dict | None): 用于结构化提取的 OpenAPI 模式(当 output_format 为 "json" 时为必需)

  • geo_location (str): 代理位置,使用 ISO2 格式。

搜索 (AiSearch.search)

from oxylabs_ai_studio.apps.ai_search import AiSearch


search = AiSearch(api_key="<API_KEY>")

query = "千层面 食谱"
result = search.search(
    query=query,
    limit=5,
    render_javascript=False,
    return_content=True,
)
print(result.data)

输入参数

  • query (str): 搜索内容 (必需)

  • limit (int): 要返回的最大结果数(默认: 10,最大: 50)

  • render_javascript (bool): 是否渲染 JavaScript(默认: False)

  • return_content (bool): 是否在结果中返回 markdown 内容(默认: True)

  • geo_location (str): 搜索代理位置,使用 ISO2 格式。

地图 (AiMap.map)

from oxylabs_ai_studio.apps.ai_map import AiMap


ai_map = AiMap(api_key="<API_KEY>")
payload = {
    "url": "https://career.oxylabs.io",
    "user_prompt": "职位广告页面",
    "return_sources_limit": 10,
    "geo_location": None,
    "render_javascript": False,
}
result = ai_map.map(**payload)
print(result.data)

输入参数

  • url (str): 起始要爬取的 URL (必需)

  • user_prompt (str): 用于指导提取的自然语言提示 (必需)

  • render_javascript (bool): 是否渲染 JavaScript(默认: False)

  • return_sources_limit (int): 返回源的最大数量(默认: 25)

  • geo_location (str): 代理位置,使用 ISO2 格式。

使用示例

参见 示例 文件夹以获取每个方法的使用示例。

每个方法都有对应的异步版本。

最后更新于

这有帮助吗?