🥳加入无抓取社区领取您的免费试用,访问我们强大的网页抓取工具包!
返回博客

浏览器使用与爬虫浏览器:实现AI代理的最大效果

Alex Johnson
Alex Johnson

Senior Web Scraping Engineer

12-May-2025

Scraping Browser 已成为日常数据提取和自动化任务的首选工具。通过将 Browser-Use 与 Scrapeless Scraping Browser 集成,您可以克服浏览器自动化的限制并避免被封锁。

在本文中,我们将使用 Browser-Use 和 Scrapeless Scraping Browser 构建一个自动化 AI 代理工具,以执行自动化数据抓取。您将看到这如何节省您的时间和精力,使得自动化任务变得轻而易举!

您将学到:

  • 什么是 Browser-Use,它如何帮助构建 AI 代理?
  • 为什么 Scraping Browser 能有效克服 Browser-Use 的限制?
  • 如何使用 Browser-Use 和 Scraping Browser 构建一个无阻塞的 AI 代理?

什么是 Browser-Use?

Browser-Use 是一个基于 Python 的 AI 浏览器自动化库,旨在赋予 AI 代理高级浏览器自动化能力。它可以识别网页上的所有交互元素,并允许代理以编程方式与页面进行交互——执行搜索、点击、填写表单和数据抓取等常见任务。Browser-Use 的核心是将网站转换为结构化文本,并支持像 Playwright 这样的浏览器框架,极大地简化了 web 交互。

与传统的自动化工具不同,Browser-Use 将视觉理解与 HTML 结构解析相结合,使得 AI 代理能够使用自然语言指令控制浏览器。这使得 AI 在感知页面内容和高效执行任务方面更为智能。此外,它支持多标签管理、元素交互跟踪、自定义操作处理和内置错误恢复机制,以确保自动化工作流的稳定性和一致性。

更重要的是,Browser-Use 兼容所有主要的大型语言模型(如 GPT-4、Claude 3、Llama 2)。借助 LangChain 集成,用户只需用自然语言描述任务,AI 代理即可完成复杂的 web 操作。对于寻求 AI 驱动的 web 交互自动化的用户而言,这是一个强大且前景可期的工具。

Browser-Use 在 AI 代理开发中的局限性

如上所述,Browser-Use 并不是像哈利·波特中的魔法棒那样运作。相反,它结合了视觉输入和 AI 控制,通过 Playwright 自动化浏览器。

Browser-Use 不可避免地带来了一些缺点,但这些局限性并不是来自于自动化框架本身。相反,它们源于所控制的浏览器。像 Playwright 这样的工具以特定配置和自动化工具启动浏览器,这也可能暴露于反机器人检测系统。

因此,您的 AI 代理可能经常遇到 CAPTCHA 挑战或被封锁的页面,例如“抱歉,我们这边出了问题。”要发掘 Browser-Use 的全部潜力,需要进行深思熟虑的调整。最终目标是避免触发反机器人系统,以确保您的 AI 自动化顺利运行。

经过广泛的测试,我们可以自信地说:Scraping Browser 是最有效的解决方案。

什么是 Scrapeless Scraping Browser?

Scraping Browser 是一种基于云的无服务器浏览器自动化工具,旨在解决动态网页抓取中的三个核心问题:高并发瓶颈、反机器人规避和成本控制

  1. 它始终提供高并发、反封锁的无头浏览器环境,使开发人员能够轻松抓取动态内容。

  2. 它配备了全球代理 IP 池和指纹识别技术,能够自动解决 CAPTCHA 并绕过封锁机制。

Scrapeless Scraping Browser 专为 AI 开发人员而设计,具有深度定制的 Chromium 内核和全球分布的代理网络。用户可以无缝运行和管理多个无头浏览器实例,以构建与 web 交互的 AI 应用程序和代理。它消除了本地基础设施和性能瓶颈的限制,使您可以全心专注于构建自己的解决方案。

Browser-Use 和 Scraping Browser 如何协同工作?

当结合使用时,开发人员可以利用 Browser-Use 来协调浏览器操作,同时依靠 Scrapeless 的稳定云服务和强大的反封锁能力来可靠地获取 web 数据。

Browser-Use 提供简单的 API,使 AI 代理能够“理解”和与 web 内容互动。例如,它可以使用 OpenAI 或 Anthropic 等大型语言模型解释任务指令,并通过 Playwright 在浏览器中完成搜索或点击链接等操作。
Scrapeless 的抓取浏览器通过解决系统的弱点来增强这个设置。在处理具有严格反机器人措施的大型网站时,其高并发代理支持、验证码解决和浏览器仿真机制确保了稳定的抓取。

总之,Browser-Use 处理智能和任务编排,而 Scrapeless 提供了强大的抓取基础,使自动化浏览器任务更高效、可靠。

如何将抓取浏览器与 Browser-Use 集成?

第 1 步. 获取 Scrapeless API 密钥

Scrapeless API 密钥

然后复制并在您的 .env 文件中设置 SCRAPELESS_API_KEY 环境变量。

要在 Browser-Use 中启用 AI 功能,您需要来自外部 AI 提供商的有效 API 密钥。在本示例中,我们将使用 OpenAI。如果您尚未生成 API 密钥,请按照 OpenAI 的官方指南创建一个。

您的 .env 文件中也需要 OPENAI_API_KEY 环境变量。

声明:以下步骤专注于如何集成 OpenAI,但您可以根据需要调整,只需确保使用 Browser-Use 支持的任何其他 AI 工具。

.evn Copy
OPENAI_API_KEY=your-openai-api-key
SCRAPELESS_API_KEY=your-scrapeless-api-key

💡记得将示例 API 密钥替换为您的实际 API 密钥

接下来,在您的程序中导入 ChatOpenAIlangchain_openaiagent.py

Plain Text Copy
from langchain_openai import ChatOpenAI

请注意,Browser-Use 依赖于 LangChain 来处理 AI 集成。因此,即使您尚未在项目中显式安装 langchain_openai,它也已可以使用。

gpt-4o 设置 OpenAI 集成,使用以下模型:

Plain Text Copy
llm = ChatOpenAI(model="gpt-4o")

无需额外配置。这是因为 langchain_openai 会自动从环境变量 OPENAI_API_KEY 中读取 API 密钥。

有关其他 AI 模型或提供商的集成,请参见官方 Browser-Use 文档

第 2 步. 安装 Browser Use

使用 pip(Python 至少 3.11 版本):

Shell Copy
pip install browser-use

要启用内存功能(由于 PyTorch 兼容性要求 Python<3.13):

Shell Copy
pip install "browser-use[memory]"

第 3 步. 设置浏览器和代理配置

以下是配置浏览器和创建自动化代理的方法:

Python Copy
from dotenv import load_dotenv
import os
import asyncio
from urllib.parse import urlencode
from langchain_openai import ChatOpenAI
from browser_use import Agent, Browser, BrowserConfig
from pydantic import SecretStr

task = "去谷歌,搜索 'Scrapeless',点击第一个帖子并返回标题"
SCRAPELESS_API_KEY = os.environ.get("SCRAPELESS_API_KEY")
OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY")

async def setup_browser() -> Browser:
    scrapeless_base_url = "wss://browser.scrapeless.com/browser"
    query_params = {
        "token": SCRAPELESS_API_KEY,
        "session_ttl": 1800,
        "proxy_country": "ANY"
    }
    browser_ws_endpoint = f"{scrapeless_base_url}?{urlencode(query_params)}"
    config = BrowserConfig(cdp_url=browser_ws_endpoint)
    browser = Browser(config)
    return browser

async def setup_agent(browser: Browser) -> Agent:
    llm = ChatOpenAI(
        model="gpt-4o", # 或选择您想使用的模型
        api_key=SecretStr(OPENAI_API_KEY),
    )

    return Agent(
        task=task,
        llm=llm,
        browser=browser,
    )

第 4 步. 创建主函数

以下是将一切串联起来的主函数:

Python Copy
async def main():
    load_dotenv()
    browser = await setup_browser()
    agent = await setup_agent(browser)
    result = await agent.run()
    print(result)
    await browser.close()
    
asyncio.run(main())

第 5 步. 运行您的脚本

运行您的脚本:

Shell Copy
python run main.py

您应该会看到您的 Scrapeless 会话在 Scrapeless Dashboard 中开始。

此外,Scrapeless 支持 会话重放,这使程序可视化。在运行程序之前,请确保您已启用 Web 录制功能。当会话完成后,您可以直接在仪表板上查看记录,以帮助您快速解决问题。

会话重放
完整代码

Python Copy
from dotenv import load_dotenv
import os
import asyncio
from urllib.parse import urlencode
from langchain_openai import ChatOpenAI
from browser_use import Agent, Browser, BrowserConfig
from pydantic import SecretStr

任务 = "去谷歌,搜索'Scrapeless',点击第一个帖子并返回标题"
SCRAPELESS_API_KEY = os.environ.get("SCRAPELESS_API_KEY")
OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY")

async def setup_browser() -> Browser:
    scrapeless_base_url = "wss://browser.scrapeless.com/browser"
    query_params = {
        "token": SCRAPELESS_API_KEY,
        "session_ttl": 1800,
        "proxy_country": "ANY"
    }
    browser_ws_endpoint = f"{scrapeless_base_url}?{urlencode(query_params)}"
    config = BrowserConfig(cdp_url=browser_ws_endpoint)
    browser = Browser(config)
    return browser

async def setup_agent(browser: Browser) -> Agent:
    llm = ChatOpenAI(
        model="gpt-4o", # 或者选择你想使用的模型
        api_key=SecretStr(OPENAI_API_KEY),
    )

    return Agent(
        task=任务,
        llm=llm,
        browser=browser,
    )

async def main():
    load_dotenv()
    browser = await setup_browser()
    agent = await setup_agent(browser)
    result = await agent.run()
    print(result)
    await browser.close()

asyncio.run(main())

💡浏览器使用目前仅支持Python。

💡你可以在实时会话中复制URL,以实时查看会话进展,同时也可以在会话历史中观看会话重播。

步骤6. 运行结果

JavaScript Copy
{
    "done": {
        "text": "点击的第一个搜索结果的标题是:'Effortless Web Scraping Toolkit - Scrapeless'。",
        "success": True,
    }
}
运行结果

然后,浏览器使用代理将自动打开URL并打印页面标题:“Scrapeless: Effortless Web Scraping Toolkit”(这是Scrapeless官方网站首页的标题示例)。

整个执行过程可以在Scrapeless控制台的“仪表盘”→“会话”→“会话历史”页面中查看,你会看到最近执行会话的详细信息。

步骤7. 导出结果

为了团队共享和归档,我们可以将抓取的信息保存为JSON或CSV文件。例如,以下代码片段演示如何将标题结果写入文件:

Python Copy
import json
from pathlib import Path

def save_to_json(obj, filename):
    path = Path(filename)
    path.parent.mkdir(parents=True, exist_ok=True)
    with path.open('w', encoding='utf-8') as f:
        json.dump(obj, f, ensure_ascii=False, indent=4)
        
async def main():
    load_dotenv()
    browser = await setup_browser()
    agent = await setup_agent(browser)
    result = await agent.run()
    print(result)
    save_to_json(result.model_dump(), "scrapeless_update_report.json")
    await browser.close()
        
asyncio.run(main())

上述代码演示了如何打开文件并以JSON格式写入内容,包括搜索关键字、链接和页面标题。生成的scrapeless_update_report.json文件可以通过公司知识库或协作平台在内部共享,方便团队成员查看抓取结果。对于纯文本格式,你只需将扩展名更改为.txt,并使用基本文本输出方法。

总结

通过使用Scrapeless的抓取浏览器服务结合浏览器使用AI代理,我们可以轻松构建一个用于信息检索和报告的自动化系统。

  • Scrapeless提供了一个稳定高效的基于云的抓取解决方案,可以处理复杂的反抓取机制。
  • 浏览器使用允许AI代理智能控制浏览器执行搜索、点击和提取等任务。

这种集成使开发人员能够将繁琐的网络数据收集任务委托给自动化代理,显著提高研究效率,同时确保准确性和实时结果。

Scrapeless的抓取浏览器帮助AI在检索实时搜索数据时避免网络阻塞,并确保操作稳定性。结合浏览器使用的灵活策略引擎,我们能够构建一个更强大的AI自动化研究工具,为智能商业决策提供强大支持。该工具集使得AI代理能够像在数据库中交互一样“查询”网络内容,从而大大降低了手动监控竞争对手的成本,并提高了研发和营销团队的效率。

在Scrapeless,我们仅访问公开可用的数据,并严格遵循适用的法律、法规和网站隐私政策。本博客中的内容仅供演示之用,不涉及任何非法或侵权活动。我们对使用本博客或第三方链接中的信息不做任何保证,并免除所有责任。在进行任何抓取活动之前,请咨询您的法律顾问,并审查目标网站的服务条款或获取必要的许可。

最受欢迎的文章

目录