[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-oxylabs--oxylabs-ai-studio-py":3,"tool-oxylabs--oxylabs-ai-studio-py":65},[4,23,32,40,49,57],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":22},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,2,"2026-04-05T10:45:23",[13,14,15,16,17,18,19,20,21],"图像","数据工具","视频","插件","Agent","其他","语言模型","开发框架","音频","ready",{"id":24,"name":25,"github_repo":26,"description_zh":27,"stars":28,"difficulty_score":29,"last_commit_at":30,"category_tags":31,"status":22},2181,"OpenHands","OpenHands\u002FOpenHands","OpenHands 是一个专注于 AI 驱动开发的开源平台，旨在让智能体（Agent）像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点，通过自动化流程显著提升开发速度。\n\n无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员，还是需要快速原型验证的技术团队，都能从中受益。OpenHands 提供了灵活多样的使用方式：既可以通过命令行（CLI）或本地图形界面在个人电脑上轻松上手，体验类似 Devin 的流畅交互；也能利用其强大的 Python SDK 自定义智能体逻辑，甚至在云端大规模部署上千个智能体并行工作。\n\n其核心技术亮点在于模块化的软件智能体 SDK，这不仅构成了平台的引擎，还支持高度可组合的开发模式。此外，OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩，证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能，支持与 Slack、Jira 等工具集成，并提供细粒度的权限管理，适合从个人开发者到大型企业的各类用户场景。",70612,3,"2026-04-05T11:12:22",[19,17,20,16],{"id":33,"name":34,"github_repo":35,"description_zh":36,"stars":37,"difficulty_score":10,"last_commit_at":38,"category_tags":39,"status":22},3074,"gpt4free","xtekky\u002Fgpt4free","gpt4free 是一个由社区驱动的开源项目，旨在聚合多种可访问的大型语言模型（LLM）和媒体生成接口，让用户能更灵活、便捷地使用前沿 AI 能力。它解决了直接调用各类模型时面临的接口分散、门槛高或成本昂贵等痛点，通过统一的标准将不同提供商的资源整合在一起。\n\n无论是希望快速集成 AI 功能的开发者、需要多模型对比测试的研究人员，还是想免费体验最新技术的普通用户，都能从中受益。gpt4free 提供了丰富的使用方式：既包含易于上手的 Python 和 JavaScript 客户端库，也支持部署本地图形界面（GUI），更提供了兼容 OpenAI 标准的 REST API，方便无缝替换现有应用后端。\n\n其技术亮点在于强大的多提供商支持架构，能够动态调度包括 Opus、Gemini、DeepSeek 等多种主流模型资源，并支持 Docker 一键部署及本地推理。项目秉持社区优先原则，在降低使用门槛的同时，也为贡献者提供了扩展新接口的便利框架，是探索和利用多样化 AI 资源的实用工具。",65970,"2026-04-04T01:02:03",[16,19,17],{"id":41,"name":42,"github_repo":43,"description_zh":44,"stars":45,"difficulty_score":46,"last_commit_at":47,"category_tags":48,"status":22},2234,"scikit-learn","scikit-learn\u002Fscikit-learn","scikit-learn 是一个基于 Python 构建的开源机器学习库，依托于 SciPy、NumPy 等科学计算生态，旨在让机器学习变得简单高效。它提供了一套统一且简洁的接口，涵盖了从数据预处理、特征工程到模型训练、评估及选择的全流程工具，内置了包括线性回归、支持向量机、随机森林、聚类等在内的丰富经典算法。\n\n对于希望快速验证想法或构建原型的数据科学家、研究人员以及 Python 开发者而言，scikit-learn 是不可或缺的基础设施。它有效解决了机器学习入门门槛高、算法实现复杂以及不同模型间调用方式不统一的痛点，让用户无需重复造轮子，只需几行代码即可调用成熟的算法解决分类、回归、聚类等实际问题。\n\n其核心技术亮点在于高度一致的 API 设计风格，所有估算器（Estimator）均遵循相同的调用逻辑，极大地降低了学习成本并提升了代码的可读性与可维护性。此外，它还提供了强大的模型选择与评估工具，如交叉验证和网格搜索，帮助用户系统地优化模型性能。作为一个由全球志愿者共同维护的成熟项目，scikit-learn 以其稳定性、详尽的文档和活跃的社区支持，成为连接理论学习与工业级应用的最",65628,1,"2026-04-05T10:10:46",[20,18,14],{"id":50,"name":51,"github_repo":52,"description_zh":53,"stars":54,"difficulty_score":10,"last_commit_at":55,"category_tags":56,"status":22},51,"gstack","garrytan\u002Fgstack","gstack 是 Y Combinator CEO Garry Tan 亲自开源的一套 AI 工程化配置，旨在将 Claude Code 升级为你的虚拟工程团队。面对单人开发难以兼顾产品战略、架构设计、代码审查及质量测试的挑战，gstack 提供了一套标准化解决方案，帮助开发者实现堪比二十人团队的高效产出。\n\n这套配置特别适合希望提升交付效率的创始人、技术负责人，以及初次尝试 Claude Code 的开发者。gstack 的核心亮点在于内置了 15 个具有明确职责的 AI 角色工具，涵盖 CEO、设计师、工程经理、QA 等职能。用户只需通过简单的斜杠命令（如 `\u002Freview` 进行代码审查、`\u002Fqa` 执行测试、`\u002Fplan-ceo-review` 规划功能），即可自动化处理从需求分析到部署上线的全链路任务。\n\n所有操作基于 Markdown 和斜杠命令，无需复杂配置，完全免费且遵循 MIT 协议。gstack 不仅是一套工具集，更是一种现代化的软件工厂实践，让单人开发者也能拥有严谨的工程流程。",64604,"2026-04-05T23:10:16",[17,16],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":10,"last_commit_at":63,"category_tags":64,"status":22},3364,"keras","keras-team\u002Fkeras","Keras 是一个专为人类设计的深度学习框架，旨在让构建和训练神经网络变得简单直观。它解决了开发者在不同深度学习后端之间切换困难、模型开发效率低以及难以兼顾调试便捷性与运行性能的痛点。\n\n无论是刚入门的学生、专注算法的研究人员，还是需要快速落地产品的工程师，都能通过 Keras 轻松上手。它支持计算机视觉、自然语言处理、音频分析及时间序列预测等多种任务。\n\nKeras 3 的核心亮点在于其独特的“多后端”架构。用户只需编写一套代码，即可灵活选择 TensorFlow、JAX、PyTorch 或 OpenVINO 作为底层运行引擎。这一特性不仅保留了 Keras 一贯的高层易用性，还允许开发者根据需求自由选择：利用 JAX 或 PyTorch 的即时执行模式进行高效调试，或切换至速度最快的后端以获得最高 350% 的性能提升。此外，Keras 具备强大的扩展能力，能无缝从本地笔记本电脑扩展至大规模 GPU 或 TPU 集群，是连接原型开发与生产部署的理想桥梁。",63927,"2026-04-04T15:24:37",[20,14,18],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":80,"owner_email":80,"owner_twitter":80,"owner_website":81,"owner_url":82,"languages":83,"stars":92,"forks":93,"last_commit_at":94,"license":95,"difficulty_score":10,"env_os":96,"env_gpu":96,"env_ram":96,"env_deps":97,"category_tags":102,"github_topics":103,"view_count":29,"oss_zip_url":80,"oss_zip_packed_at":80,"status":22,"created_at":116,"updated_at":117,"faqs":118,"releases":119},957,"oxylabs\u002Foxylabs-ai-studio-py","oxylabs-ai-studio-py","Structured data gathering from any website using AI-powered scraper, crawler, and browser automation. Scraping and crawling with natural language prompts. Equip your LLM agents with fresh data. AI Studio python SDK for intelligent web data gathering. ","oxylabs-ai-studio-py 是 Oxylabs 推出的 Python SDK，让你用自然语言就能从任意网站抓取结构化数据。无需编写复杂的 XPath 或正则表达式，只需像聊天一样告诉它\"提取所有产品价格\"或\"找出游戏名称、平台和评分\"，AI 会自动理解并完成采集。\n\n这个工具主要解决了传统爬虫开发门槛高、维护成本大的痛点。面对动态渲染的网页、反爬机制或复杂的页面结构，开发者往往需要投入大量时间调试。而 oxylabs-ai-studio-py 内置了 AI 驱动的爬虫、自动遍历网站的爬取器，以及能模拟真人操作的浏览器自动化代理，三者配合可以应对绝大多数数据采集场景。\n\n它特别适合需要为 LLM 应用获取实时网络数据的开发者、从事市场情报分析的研究人员，以及任何希望快速构建数据管道的技术团队。技术亮点在于\"自然语言即代码\"的设计理念——你描述需求，AI 自动生成提取规则和数据 schema，大幅降低从想法到数据的实现周期。支持 Markdown、JSON、CSV 等多种输出格式，还能指定地理位置模拟不同地区的访问。","# OxyLabs AI Studio Python SDK\n\n[![AI-Studio Python (1)](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Foxylabs_oxylabs-ai-studio-py_readme_0f962005e043.png)](https:\u002F\u002Faistudio.oxylabs.io\u002F?utm_source=877&utm_medium=affiliate&utm_campaign=ai_studio&groupid=877&utm_content=ai-studio-js-github&transaction_id=102f49063ab94276ae8f116d224b67) \n\n[![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Foxylabs_oxylabs-ai-studio-py_readme_5e5557ef7c03.png)](https:\u002F\u002Fdiscord.gg\u002FPds3gBmKMH) [![YouTube](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FYouTube-Oxylabs-red?style=for-the-badge&logo=youtube&logoColor=white)](https:\u002F\u002Fwww.youtube.com\u002F@oxylabs)\n\nA simple Python SDK for seamlessly interacting with [Oxylabs AI Studio API](https:\u002F\u002Faistudio.oxylabs.io\u002F) services, including AI-Scraper, AI-Crawler, AI-Browser-Agent and other data extraction tools.\n\n## Requirements\n- python 3.10 and above\n- API KEY\n\n## Installation\n\n```bash\npip install oxylabs-ai-studio\n```\n\n## Usage\n\n### Crawl (`AiCrawler.crawl`)\n\n```python\n\nfrom oxylabs_ai_studio.apps.ai_crawler import AiCrawler\n\ncrawler = AiCrawler(api_key=\"\u003CAPI_KEY>\")\n\nurl = \"https:\u002F\u002Foxylabs.io\"\nresult = crawler.crawl(\n    url=url,\n    user_prompt=\"Find all pages with proxy products pricing\",\n    output_format=\"markdown\",\n    render_javascript=False,\n    return_sources_limit=3,\n    geo_location=\"United States\",\n)\nprint(\"Results:\")\nfor item in result.data:\n    print(item, \"\\n\")\n\n```\n\n**Parameters:**\n- `url` (str): Starting URL to crawl (**required**)\n- `user_prompt` (str): Natural language prompt to guide extraction (**required**)\n- `output_format` (Literal[\"json\", \"markdown\", \"csv\", \"toon\"]): Output format (default: \"markdown\")\n- `schema` (dict | None): Json schema for structured extraction (required if output_format is \"json\", \"csv\" or \"toon\")\n- `render_javascript` (bool): Render JavaScript (default: False)\n- `return_sources_limit` (int): Max number of sources to return (default: 25)\n- `geo_location` (str): Proxy location in ISO2 format or country canonical name. See [docs](https:\u002F\u002Fdevelopers.oxylabs.io\u002Fscraping-solutions\u002Fweb-scraper-api\u002Ffeatures\u002Flocalization\u002Fproxy-location#list-of-supported-geo_location-values)\n- `max_credits` (int | None): Maximum of credits to use (optional)\n\n### Scrape (`AiScraper.scrape`)\n\n```python\nfrom oxylabs_ai_studio.apps.ai_scraper import AiScraper\n\nscraper = AiScraper(api_key=\"\u003CAPI_KEY>\")\n\nschema = scraper.generate_schema(prompt=\"want to parse developer, platform, type, price game title, genre (array) and description\")\nprint(f\"Generated schema: {schema}\")\n\nurl = \"https:\u002F\u002Fsandbox.oxylabs.io\u002Fproducts\u002F3\"\nresult = scraper.scrape(\n    url=url,\n    output_format=\"json\",\n    schema=schema,\n    render_javascript=False,\n)\nprint(result)\n\n```\n**Parameters:**\n- `url` (str): Target URL to scrape (**required**)\n- `output_format` (Literal[\"json\", \"markdown\", \"csv\", \"screenshot\", \"toon\"]): Output format (default: \"markdown\")\n- `schema` (dict | None): JSON schema for structured extraction (required if output_format is \"json\", \"csv\" or \"toon\")\n- `render_javascript` (bool | string): Render JavaScript. Can be set to \"auto\", meaning the service will detect if rendering is needed (default: False)\n- `geo_location` (str): Proxy location in ISO2 format or country canonical name. See [docs](https:\u002F\u002Fdevelopers.oxylabs.io\u002Fscraping-solutions\u002Fweb-scraper-api\u002Ffeatures\u002Flocalization\u002Fproxy-location#list-of-supported-geo_location-values)\n- `user_agent` (str): User-Agent request header. See more at https:\u002F\u002Fdevelopers.oxylabs.io\u002Fscraping-solutions\u002Fweb-scraper-api\u002Ffeatures\u002Fhttp-context-and-job-management\u002Fuser-agent-type.\n\n### Browser Agent (`BrowserAgent.run`)\n\n```python\nfrom oxylabs_ai_studio.apps.browser_agent import BrowserAgent\n\nbrowser_agent = BrowserAgent(api_key=\"\u003CAPI_KEY>\")\n\nschema = browser_agent.generate_schema(\n    prompt=\"game name, platform, review stars and price\"\n)\nprint(\"schema: \", schema)\n\nprompt = \"Find if there is game 'super mario odyssey' in the store. If there is, find the price. Use search bar to find the game.\"\nurl = \"https:\u002F\u002Fsandbox.oxylabs.io\u002F\"\nresult = browser_agent.run(\n    url=url,\n    user_prompt=prompt,\n    output_format=\"json\",\n    schema=schema,\n)\nprint(result.data)\n```\n\n**Parameters:**\n- `url` (str): Starting URL to browse (**required**)\n- `user_prompt` (str): Natural language prompt for extraction (**required**)\n- `output_format` (Literal[\"json\", \"markdown\", \"html\", \"screenshot\", \"csv\", \"toon\"]): Output format (default: \"markdown\")\n- `schema` (dict | None): Json schema for structured extraction (required if output_format is \"json\", \"csv\" or \"toon\")\n- `geo_location` (str): Proxy location in ISO2 format or country canonical name. For example 'Germany' (capitalized).\n\n### Search (`AiSearch.search`)\n\n```python\nfrom oxylabs_ai_studio.apps.ai_search import AiSearch\n\n\nsearch = AiSearch(api_key=\"\u003CAPI_KEY>\")\n\nquery = \"lasagna recipe\"\nresult = search.search(\n    query=query,\n    limit=5,\n    render_javascript=False,\n    return_content=True,\n)\nprint(result.data)\n\n# Or for fast search\nresult = search.instant_search(\n    query=query,\n    limit=10,\n)\nprint(result.data)\n```\n\n**Parameters:**\n- `query` (str): What to search for (**required**)\n- `limit` (int): Maximum number of results to return (default: 10, maximum: 50)\n- `render_javascript` (bool): Render JavaScript (default: False)\n- `return_content` (bool): Whether to return markdown contents in results (default: True)\n- `geo_location` (*string*): ISO 2-letter format, country name, coordinate formats are supported. See more at [SERP Localization](https:\u002F\u002Fdevelopers.oxylabs.io\u002Fscraping-solutions\u002Fweb-scraper-api\u002Ffeatures\u002Flocalization\u002Fserp-localization).\n\n> **Note:** When `limit \u003C= 10` and `return_content=False`, the search automatically uses the instant endpoint (`\u002Fsearch\u002Finstant`) which returns results immediately without polling, providing faster response times.\n\nInstant search supported parameters:\n- `query` (*string*): The search query.\n- `limit` (*integer*): The maximum number of search results to return. Maximum: 10.\n- `geo_location` (*string*): Google's canonical name of the location. See more at [Google Ads GeoTargets](https:\u002F\u002Fdevelopers.google.com\u002Fgoogle-ads\u002Fapi\u002Fdata\u002Fgeotargets).\n\n\n### Map (`AiMap.map`)\n```python\nfrom oxylabs_ai_studio.apps.ai_map import AiMap\n\n\nai_map = AiMap(api_key=\"\u003CAPI_KEY>\")\npayload = {\n    \"url\": \"https:\u002F\u002Fcareer.oxylabs.io\",\n    \"search_keywords\": [\"career\", \"jobs\", \"vacancy\"],\n    \"user_prompt\": \"job ad pages\",\n    \"max_crawl_depth\": 2,\n    \"limit\": 10,\n    \"geo_location\": \"Germany\",\n    \"render_javascript\": False,\n    \"include_sitemap\": True,\n    \"max_credits\": None,\n    \"allow_subdomains\": False,\n    \"allow_external_domains\": False,\n}\nresult = ai_map.map(**payload)\nprint(result.data)\n```\n**Parameters:**\n- `url` (str): Starting URL or domain to map (**required**)\n- `search_keywords` (list[str]): Keywords for URLs paths filtering (default: None)\n- `user_prompt` (str | None): Natural language prompt for keyword search. Can be used together with 'search_keywords' or standalone (optional)\n- `max_crawl_depth` (int): Max crawl depth (1..5, default: 1)\n- `limit` (int): Max number of URLs to return (default: 25)\n- `geo_location` (str): Proxy location in ISO2 format or country canonical name. See [docs](https:\u002F\u002Fdevelopers.oxylabs.io\u002Fscraping-solutions\u002Fweb-scraper-api\u002Ffeatures\u002Flocalization\u002Fproxy-location#list-of-supported-geo_location-values)\n- `render_javascript` (bool): JavaScript rendering (default: False)\n- `include_sitemap` (bool): Whether to include sitemap as seed (default: True)\n- `max_credits` (int | None): Maximum of credits to use (optional)\n- `allow_subdomains` (bool): Include subdomains (default: False)\n- `allow_external_domains` (bool): Include external domains (default: False)\n\n---\nSee the [examples](https:\u002F\u002Fgithub.com\u002Foxylabs\u002Foxylabs-ai-studio-py\u002Ftree\u002Fmain\u002Fexamples) folder for usage examples of each method. Each method has corresponding async version.\n","# OxyLabs AI Studio Python SDK\n\n[![AI-Studio Python (1)](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Foxylabs_oxylabs-ai-studio-py_readme_0f962005e043.png)](https:\u002F\u002Faistudio.oxylabs.io\u002F?utm_source=877&utm_medium=affiliate&utm_campaign=ai_studio&groupid=877&utm_content=ai-studio-js-github&transaction_id=102f49063ab94276ae8f116d224b67) \n\n[![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Foxylabs_oxylabs-ai-studio-py_readme_5e5557ef7c03.png)](https:\u002F\u002Fdiscord.gg\u002FPds3gBmKMH) [![YouTube](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FYouTube-Oxylabs-red?style=for-the-badge&logo=youtube&logoColor=white)](https:\u002F\u002Fwww.youtube.com\u002F@oxylabs)\n\n一个简单的 Python SDK，用于无缝对接 [Oxylabs AI Studio API](https:\u002F\u002Faistudio.oxylabs.io\u002F) 服务，包括 AI-Scraper（AI 爬虫）、AI-Crawler（AI 抓取器）、AI-Browser-Agent（AI 浏览器代理）以及其他数据提取工具。\n\n## 要求\n- python 3.10 及以上版本\n- API 密钥\n\n## 安装\n\n```bash\npip install oxylabs-ai-studio\n```\n\n## 使用方法\n\n### 抓取 (`AiCrawler.crawl`)\n\n```python\n\nfrom oxylabs_ai_studio.apps.ai_crawler import AiCrawler\n\ncrawler = AiCrawler(api_key=\"\u003CAPI_KEY>\")\n\nurl = \"https:\u002F\u002Foxylabs.io\"\nresult = crawler.crawl(\n    url=url,\n    user_prompt=\"查找所有包含代理产品价格的页面\",\n    output_format=\"markdown\",\n    render_javascript=False,\n    return_sources_limit=3,\n    geo_location=\"United States\",\n)\nprint(\"结果:\")\nfor item in result.data:\n    print(item, \"\\n\")\n\n```\n\n**参数:**\n- `url` (str): 起始抓取的 URL (**必填**)\n- `user_prompt` (str): 指导提取的自然语言提示 (**必填**)\n- `output_format` (Literal[\"json\", \"markdown\", \"csv\", \"toon\"]): 输出格式 (默认值: \"markdown\")\n- `schema` (dict | None): 结构化提取的 JSON Schema（当输出格式为 \"json\"、\"csv\" 或 \"toon\" 时必填）\n- `render_javascript` (bool): 是否渲染 JavaScript (默认值: False)\n- `return_sources_limit` (int): 返回来源的最大数量 (默认值: 25)\n- `geo_location` (str): 代理位置，支持 ISO2 格式或国家规范名称。详见 [文档](https:\u002F\u002Fdevelopers.oxylabs.io\u002Fscraping-solutions\u002Fweb-scraper-api\u002Ffeatures\u002Flocalization\u002Fproxy-location#list-of-supported-geo_location-values)\n- `max_credits` (int | None): 最大使用的积分数量 (可选)\n\n### 刮取 (`AiScraper.scrape`)\n\n```python\nfrom oxylabs_ai_studio.apps.ai_scraper import AiScraper\n\nscraper = AiScraper(api_key=\"\u003CAPI_KEY>\")\n\nschema = scraper.generate_schema(prompt=\"想解析开发者、平台、类型、价格、游戏标题、类型（数组）和描述\")\nprint(f\"生成的 schema: {schema}\")\n\nurl = \"https:\u002F\u002Fsandbox.oxylabs.io\u002Fproducts\u002F3\"\nresult = scraper.scrape(\n    url=url,\n    output_format=\"json\",\n    schema=schema,\n    render_javascript=False,\n)\nprint(result)\n\n```\n**参数:**\n- `url` (str): 目标刮取的 URL (**必填**)\n- `output_format` (Literal[\"json\", \"markdown\", \"csv\", \"screenshot\", \"toon\"]): 输出格式 (默认值: \"markdown\")\n- `schema` (dict | None): 结构化提取的 JSON Schema（当输出格式为 \"json\"、\"csv\" 或 \"toon\" 时必填）\n- `render_javascript` (bool | string): 渲染 JavaScript。可以设置为 \"auto\"，表示服务会自动检测是否需要渲染 (默认值: False)\n- `geo_location` (str): 代理位置，支持 ISO2 格式或国家规范名称。详见 [文档](https:\u002F\u002Fdevelopers.oxylabs.io\u002Fscraping-solutions\u002Fweb-scraper-api\u002Ffeatures\u002Flocalization\u002Fproxy-location#list-of-supported-geo_location-values)\n- `user_agent` (str): User-Agent 请求头。更多信息请参阅 https:\u002F\u002Fdevelopers.oxylabs.io\u002Fscraping-solutions\u002Fweb-scraper-api\u002Ffeatures\u002Fhttp-context-and-job-management\u002Fuser-agent-type.\n\n### 浏览器代理 (`BrowserAgent.run`)\n\n```python\nfrom oxylabs_ai_studio.apps.browser_agent import BrowserAgent\n\nbrowser_agent = BrowserAgent(api_key=\"\u003CAPI_KEY>\")\n\nschema = browser_agent.generate_schema(\n    prompt=\"游戏名称、平台、评论星级和价格\"\n)\nprint(\"schema: \", schema)\n\nprompt = \"查找商店中是否有游戏 '超级马里奥奥德赛'。如果有，找到其价格。使用搜索栏查找该游戏。\"\nurl = \"https:\u002F\u002Fsandbox.oxylabs.io\u002F\"\nresult = browser_agent.run(\n    url=url,\n    user_prompt=prompt,\n    output_format=\"json\",\n    schema=schema,\n)\nprint(result.data)\n```\n\n**参数:**\n- `url` (str): 起始浏览的 URL (**必填**)\n- `user_prompt` (str): 提取的自然语言提示 (**必填**)\n- `output_format` (Literal[\"json\", \"markdown\", \"html\", \"screenshot\", \"csv\", \"toon\"]): 输出格式 (默认值: \"markdown\")\n- `schema` (dict | None): 结构化提取的 JSON Schema（当输出格式为 \"json\"、\"csv\" 或 \"toon\" 时必填）\n- `geo_location` (str): 代理位置，支持 ISO2 格式或国家规范名称。例如 'Germany'（首字母大写）。\n\n### 搜索 (`AiSearch.search`)\n\n```python\nfrom oxylabs_ai_studio.apps.ai_search import AiSearch\n\n\nsearch = AiSearch(api_key=\"\u003CAPI_KEY>\")\n\nquery = \"lasagna recipe\"\nresult = search.search(\n    query=query,\n    limit=5,\n    render_javascript=False,\n    return_content=True,\n)\nprint(result.data)\n\n# 或者快速搜索\nresult = search.instant_search(\n    query=query,\n    limit=10,\n)\nprint(result.data)\n```\n\n**参数:**\n- `query` (str): 搜索内容 (**必填**)\n- `limit` (int): 返回结果的最大数量 (默认值: 10，最大值: 50)\n- `render_javascript` (bool): 是否渲染 JavaScript (默认值: False)\n- `return_content` (bool): 是否在结果中返回 Markdown 内容 (默认值: True)\n- `geo_location` (*string*): 支持 ISO 两位字母格式、国家名称或坐标格式。更多信息请参阅 [SERP 本地化](https:\u002F\u002Fdevelopers.oxylabs.io\u002Fscraping-solutions\u002Fweb-scraper-api\u002Ffeatures\u002Flocalization\u002Fserp-localization).\n\n> **注意:** 当 `limit \u003C= 10` 且 `return_content=False` 时，搜索会自动使用即时端点 (`\u002Fsearch\u002Finstant`)，无需轮询即可立即返回结果，从而提供更快的响应时间。\n\n即时搜索支持的参数：\n- `query` (*string*): 搜索查询。\n- `limit` (*integer*): 返回搜索结果的最大数量。最大值：10。\n- `geo_location` (*string*): Google 的规范位置名称。更多信息请参阅 [Google Ads 地理目标](https:\u002F\u002Fdevelopers.google.com\u002Fgoogle-ads\u002Fapi\u002Fdata\u002Fgeotargets)。\n\n### 地图 (`AiMap.map`)\n```python\nfrom oxylabs_ai_studio.apps.ai_map import AiMap\n\n\nai_map = AiMap(api_key=\"\u003CAPI_KEY>\")\npayload = {\n    \"url\": \"https:\u002F\u002Fcareer.oxylabs.io\",\n    \"search_keywords\": [\"career\", \"jobs\", \"vacancy\"],\n    \"user_prompt\": \"job ad pages\",\n    \"max_crawl_depth\": 2,\n    \"limit\": 10,\n    \"geo_location\": \"Germany\",\n    \"render_javascript\": False,\n    \"include_sitemap\": True,\n    \"max_credits\": None,\n    \"allow_subdomains\": False,\n    \"allow_external_domains\": False,\n}\nresult = ai_map.map(**payload)\nprint(result.data)\n```\n**参数:**\n- `url` (str): 起始 URL 或域名进行映射 (**必填**)\n- `search_keywords` (list[str]): 用于 URL 路径过滤的关键词 (默认值: None)\n- `user_prompt` (str | None): 自然语言提示，用于关键词搜索。可以与 'search_keywords' 一起使用或单独使用 (可选)\n- `max_crawl_depth` (int): 最大爬取深度 (1..5, 默认值: 1)\n- `limit` (int): 返回的最大 URL 数量 (默认值: 25)\n- `geo_location` (str): 代理位置，采用 ISO2 格式或国家规范名称。详见 [文档](https:\u002F\u002Fdevelopers.oxylabs.io\u002Fscraping-solutions\u002Fweb-scraper-api\u002Ffeatures\u002Flocalization\u002Fproxy-location#list-of-supported-geo_location-values)\n- `render_javascript` (bool): 是否渲染 JavaScript (默认值: False)\n- `include_sitemap` (bool): 是否将站点地图作为种子包含 (默认值: True)\n- `max_credits` (int | None): 使用的最大积分数量 (可选)\n- `allow_subdomains` (bool): 是否包含子域名 (默认值: False)\n- `allow_external_domains` (bool): 是否包含外部域名 (默认值: False)\n\n---\n有关每个方法的使用示例，请参阅 [examples](https:\u002F\u002Fgithub.com\u002Foxylabs\u002Foxylabs-ai-studio-py\u002Ftree\u002Fmain\u002Fexamples) 文件夹。每个方法都有对应的异步版本。","# OxyLabs AI Studio Python SDK 快速上手指南\n\n## 环境准备\n\n在开始使用 `oxylabs-ai-studio-py` 之前，请确保满足以下要求：\n\n- **Python 版本**：需要 Python 3.10 或更高版本。\n- **API 密钥**：您需要从 [Oxylabs AI Studio](https:\u002F\u002Faistudio.oxylabs.io\u002F) 获取一个有效的 API 密钥。\n\n## 安装步骤\n\n通过 pip 安装 SDK：\n\n```bash\npip install oxylabs-ai-studio\n```\n\n如果您在中国大陆，建议使用国内镜像源加速安装，例如：\n\n```bash\npip install oxylabs-ai-studio -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n## 基本使用\n\n以下是最简单的使用示例，帮助您快速上手。\n\n### 1. 爬取网页 (`AiCrawler.crawl`)\n\n```python\nfrom oxylabs_ai_studio.apps.ai_crawler import AiCrawler\n\ncrawler = AiCrawler(api_key=\"\u003CAPI_KEY>\")\n\nurl = \"https:\u002F\u002Foxylabs.io\"\nresult = crawler.crawl(\n    url=url,\n    user_prompt=\"Find all pages with proxy products pricing\",\n    output_format=\"markdown\",\n    render_javascript=False,\n    return_sources_limit=3,\n    geo_location=\"United States\",\n)\nprint(\"Results:\")\nfor item in result.data:\n    print(item, \"\\n\")\n```\n\n### 2. 抓取数据 (`AiScraper.scrape`)\n\n```python\nfrom oxylabs_ai_studio.apps.ai_scraper import AiScraper\n\nscraper = AiScraper(api_key=\"\u003CAPI_KEY>\")\n\nschema = scraper.generate_schema(prompt=\"want to parse developer, platform, type, price game title, genre (array) and description\")\nprint(f\"Generated schema: {schema}\")\n\nurl = \"https:\u002F\u002Fsandbox.oxylabs.io\u002Fproducts\u002F3\"\nresult = scraper.scrape(\n    url=url,\n    output_format=\"json\",\n    schema=schema,\n    render_javascript=False,\n)\nprint(result)\n```\n\n### 3. 浏览器代理操作 (`BrowserAgent.run`)\n\n```python\nfrom oxylabs_ai_studio.apps.browser_agent import BrowserAgent\n\nbrowser_agent = BrowserAgent(api_key=\"\u003CAPI_KEY>\")\n\nschema = browser_agent.generate_schema(\n    prompt=\"game name, platform, review stars and price\"\n)\nprint(\"schema: \", schema)\n\nprompt = \"Find if there is game 'super mario odyssey' in the store. If there is, find the price. Use search bar to find the game.\"\nurl = \"https:\u002F\u002Fsandbox.oxylabs.io\u002F\"\nresult = browser_agent.run(\n    url=url,\n    user_prompt=prompt,\n    output_format=\"json\",\n    schema=schema,\n)\nprint(result.data)\n```\n\n### 4. 搜索 (`AiSearch.search`)\n\n```python\nfrom oxylabs_ai_studio.apps.ai_search import AiSearch\n\nsearch = AiSearch(api_key=\"\u003CAPI_KEY>\")\n\nquery = \"lasagna recipe\"\nresult = search.search(\n    query=query,\n    limit=5,\n    render_javascript=False,\n    return_content=True,\n)\nprint(result.data)\n\n# 或者使用快速搜索\nresult = search.instant_search(\n    query=query,\n    limit=10,\n)\nprint(result.data)\n```\n\n### 5. 网站映射 (`AiMap.map`)\n\n```python\nfrom oxylabs_ai_studio.apps.ai_map import AiMap\n\nai_map = AiMap(api_key=\"\u003CAPI_KEY>\")\npayload = {\n    \"url\": \"https:\u002F\u002Fcareer.oxylabs.io\",\n    \"search_keywords\": [\"career\", \"jobs\", \"vacancy\"],\n    \"user_prompt\": \"job ad pages\",\n    \"max_crawl_depth\": 2,\n    \"limit\": 10,\n    \"geo_location\": \"Germany\",\n    \"render_javascript\": False,\n    \"include_sitemap\": True,\n    \"max_credits\": None,\n    \"allow_subdomains\": False,\n    \"allow_external_domains\": False,\n}\nresult = ai_map.map(**payload)\nprint(result.data)\n```\n\n---\n\n以上是 `oxylabs-ai-studio-py` 的基本使用方法。更多高级用法和示例，请参考 [examples 文件夹](https:\u002F\u002Fgithub.com\u002Foxylabs\u002Foxylabs-ai-studio-py\u002Ftree\u002Fmain\u002Fexamples)。","一家电商数据分析公司需要定期从竞争对手网站抓取商品价格信息，用于市场分析和定价策略制定。\n\n### 没有 oxylabs-ai-studio-py 时\n- 数据采集效率低下，需要手动编写和维护复杂的爬虫代码，面对反爬机制经常失效\n- 难以处理动态加载的网页内容，必须额外配置浏览器渲染环境，增加了开发成本\n- 数据提取准确性差，需要人工分析网页结构并编写解析规则，容易因页面改版而出错\n- 无法灵活应对多地区价格差异，需要手动设置代理和地理位置参数\n- 数据格式不统一，每次都需要重新设计输出结构，增加了后续处理的工作量\n\n### 使用 oxylabs-ai-studio-py 后\n- 只需用自然语言描述需求即可完成数据采集，大幅降低了开发难度和维护成本\n- 内置智能渲染功能，自动判断是否需要执行JavaScript，简化了动态内容处理流程\n- 借助AI生成的数据提取模式，能够准确识别目标信息，减少因页面变化导致的错误\n- 支持通过简单的地理位置参数设置，轻松获取不同区域的价格信息\n- 提供标准化的数据输出格式，方便与后续分析系统无缝对接\n\noxylabs-ai-studio-py让企业能够以前所未有的效率获取高质量竞争情报，为商业决策提供有力支持。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Foxylabs_oxylabs-ai-studio-py_7385d225.png","oxylabs","Oxylabs.io","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Foxylabs_cb4c7f6a.png","Innovative Proxy Service to Gather Data at Scale",null,"https:\u002F\u002Foxylabs.io\u002F","https:\u002F\u002Fgithub.com\u002Foxylabs",[84,88],{"name":85,"color":86,"percentage":87},"Python","#3572A5",99.2,{"name":89,"color":90,"percentage":91},"Makefile","#427819",0.8,2716,23,"2026-04-05T06:57:34","MIT","未说明",{"notes":98,"python":99,"dependencies":100},"需要 API KEY 才能使用该工具，建议参考官方示例代码进行配置和调用。","3.10+",[101],"oxylabs-ai-studio",[14,16],[104,105,106,107,108,109,110,111,112,113,114,115],"ai-crawler","ai-scraper","ai-scraping","ai-search","ai-tools","ai-web-scraper","proxy-scraper","python-ai","web-scraping","web-scraping-ai","web-scraping-python","web-scraping-api","2026-03-27T02:49:30.150509","2026-04-06T07:14:55.445808",[],[120],{"id":121,"version":122,"summary_zh":123,"released_at":124},103683,"v0.2.19","## Changes\r\n\r\n- Removed deprecated endpoint from `map` app\r\n","2025-11-20T14:54:43"]