用BrowserUse抓取网页数据

在这篇文章中,我将展示如何使用BrowserUse自动抓取数据。你将看到它如何节省您的时间和精力,使抓取任务变得轻而易举!

1、什么是BrowserUse?

BrowserUse是一个强大的工具,它实现了AI驱动的浏览器自动化。它允许用户自动化诸如浏览网站、与页面元素交互以及抓取数据等任务。通过BrowserUse,您可以以编程方式控制浏览器,模仿人类操作,如点击按钮、填写表单和从网页中提取信息。

BrowserUse的独特之处在于它可以将AI集成到过程中。这意味着您可以给工具提供简单的英语指令,AI会想办法最好地执行它们。这个功能使得BrowserUse对于那些想要在不编写复杂代码的情况下实现任务自动化的用户特别有用。

2、为什么使用AI进行网络爬取?

网络爬取通常用于收集价格、产品描述、库存水平、评论等信息。使用AI自动化的优点是它可以比人类快得多地处理大量数据。AI还能够理解复杂的页面结构,处理弹出窗口,并在飞速中做出决策,使其成为网络爬取的强大工具。

以下是您可能希望通过AI自动化爬取任务的一些原因:

  • 速度和效率

AI可以比人类更快地抓取数据。手动从网站收集数据可能需要几个小时,而AI可以在几分钟甚至几秒钟内完成相同的工作。这对于需要从多个页面或网站收集数据时尤其有帮助。

  • 准确性和一致性

AI不会感到疲倦或犯错,这意味着它可以以高精度抓取数据。它可以遵循预定义的规则,并始终如一地提取相同类型的数据,确保结果可靠。

  • 处理复杂的网站

网站不断变化,它们经常带有复杂的结构、弹出窗口或动态内容,这使得爬取变得困难。然而,AI代理能够适应页面上的变化,即使布局发生变化或出现意外障碍(如弹出窗口),仍然可以提取数据。

  • 最小的编码知识要求

使用BrowserUse,您不需要成为网络爬取或编程专家。您可以使用简单的人类可读提示与AI交互。这使其对更广泛的受众开放,包括那些没有编码背景的人。

3、使用BrowserUse开始爬取

要开始使用BrowserUse进行网络爬取,您需要以下几样东西:

  1. Python:Python是编写脚本所使用的编程语言。您可以从官方网站下载并安装Python。
  2. BrowserUse:您需要安装BrowserUse,可以通过pip或Poetry完成。
  3. Playwright:BrowserUse依赖于Playwright,这是一个用于自动化浏览器的库。您需要安装Playwright并设置它来运行您的脚本。
  4. OpenAI API密钥:由于BrowserUse集成了AI,您需要一个OpenAI API密钥来访问其功能。

4、安装必要的工具

首先创建一个新的Python项目并安装所需的库:

poetry new browser-demo  
cd browser-demo  
poetry add browser-use  
pip install playwright  
playwright install

在安装这些依赖项后,您需要设置您的OpenAI API密钥。您可以通过在OpenAI平台上注册并创建一个秘密密钥来获得API密钥。

在您的项目目录中,创建一个.env文件并添加API密钥如下:

OPENAI_API_KEY=YOUR_API_KEY_HERE

5、设置脚本

接下来,您可以开始编写脚本。这是一个简单的脚本,它初始化了一个AI代理并使用BrowserUse运行了一个浏览器自动化任务:

from langchain_openai import ChatOpenAI  
from browser_use import Agent  
import asyncio  
from dotenv import load_dotenv  
load_dotenv()  
async def main():  
task = "从网页上抓取产品价格。"  
agent = Agent(  
task=task,  
llm=ChatOpenAI(model="gpt-4o"),  
)  
await agent.run()  
input('按Enter键关闭...')  
asyncio.run(main())

此脚本使用OpenAI API运行一个AI代理,该代理将从网站上抓取数据。您可以自定义任务变量以定义代理应执行的操作。

6、编写网络爬取的提示

BrowserUse最强大的功能之一是可以使用简单、自然语言与AI交互。与其编写复杂的代码,不如给AI一个详细的提示,描述您想要自动化的任务。

6.1 示例1:抓取产品价格

假设您想从在线商店抓取产品价格。您可以编写这样的提示:

### **AI代理任务:抓取产品价格**  
#### **目标:**  
从[示例商店](https://www.example.com)上列出的前5个产品中抓取价格。  
 - -  
### **步骤1:打开网站**  
1. 打开网页[示例商店](https://www.example.com)。  
2. 等待页面完全加载后再继续。  
### **步骤2:提取产品价格**  
1. 确定页面上的前5个产品。  
2. 对每个产品,提取产品名称和价格。  
### **步骤3:汇总数据**  
1. 将提取的数据格式化为可读列表。  
2. 提供一个清晰的摘要,包括产品名称及其相应价格。  
### **关键要求:**  
- 确保提取的数据准确,包括产品名称和价格。  
- 以清晰的格式返回信息,易于阅读。

此提示清楚地概述了AI代理需要遵循的步骤。一旦您使用此提示运行脚本,AI将访问网页,提取价格,并以结构化格式提供结果。

6.2 示例2:抓取天气数据

这里还有一个例子,其中AI代理抓取特定位置的天气数据:

### **AI代理任务:抓取天气数据**  
#### **目标:**  
检索明天纽约市的天气预报[天气网](https://www.weather.com)。  
 - -  
### **步骤1:打开天气网站**  
1. 打开[Weather.com](https://www.weather.com)。  
2. 导航到纽约市的天气预报。  
3. 等待页面完全加载。  
### **步骤2:提取天气信息**  
1. 查找明天的预报。  
2. 提取温度、湿度以及任何特殊天气条件(例如雨、雪)。  
### **步骤3:汇总数据**  
1. 提供明天天气的清晰、可读的摘要,包括温度、湿度和天气状况。  
### **关键要求:**  
- 确保数据准确,反映明天的天气。  
- 以简洁的格式返回数据。

有了这个提示,AI代理将在天气网站上导航,提取必要细节,并以易于阅读的格式提供信息。

7、处理错误和复杂网站

网络爬取的一个挑战是处理复杂的或不断变化的网站。BrowserUse的AI代理设计用于处理常见的障碍,如弹出窗口、动态内容和登录表单。但是,您需要确保您的提示足够具体,以解决这些问题。

例如,如果您想从需要登录的网站上抓取数据,可以在提示中包含登录详细信息:

### **AI代理任务:从会员专属网站抓取数据**  
#### **目标:**  
从会员专属网站[独家产品](https://www.exclusiveproducts.com)抓取产品信息。  
 - -  
### **步骤1:登录网站**  
1. 打开[独家产品](https://www.exclusiveproducts.com)。  
2. 使用以下凭据登录:  
- **电子邮件:** your_email@example.com  
- **密码:** your_password_here  
### **步骤2:抓取产品信息**  
1. 登录后,导航到产品列表。  
2. 提取前10个产品的名称、价格和可用性。  
### **步骤3:汇总数据**  
1. 提供前10个产品的列表,包括其名称、价格和可用性。  
### **关键要求:**  
- 确保登录成功后再抓取数据。  
- 提供一个结构化的列表,包括产品名称、价格和可用性。

8、使用Web界面进行浏览器自动化

虽然编码是一种强大的与BrowserUse交互的方式,但您也可以使用Web界面使其更容易运行自动化任务。BrowserUse提供了一个简单的Web界面,允许您编写和执行提示,而无需接触代码。

要设置Web UI,请按照以下步骤操作:

从GitHub克隆Web UI存储库:

git clone https://github.com/browser-use/web-ui.git  
cd web-ui

安装所需的依赖项:

pip install -r requirements.txt

复制.env.example文件到.env并添加您的OpenAI API密钥。

在本地运行Web UI:

python webui.py - ip 127.0.0.1 - port 7788

一旦Web UI运行,您可以通过浏览器在http://127.0.0.1:7788/访问它。在这里,您可以输入提示并看到AI代理执行任务,而无需编写任何代码。

9、结束语

BrowserUse的AI驱动浏览器自动化对网络爬取来说是一个真正的变革者。它让您能够自动化无聊的任务,从复杂的网站上抓取数据,并像人类一样与浏览器交互。无论是产品价格、天气信息还是其他内容,BrowserUse都能快速、准确地完成任务,并且只需最少的努力。所有您需要做的就是给AI简单的提示,它会处理其余的事情。无论您是网络爬取的新手还是老手,BrowserUse都让过程更加容易和强大。


原文链接:BrowserUse: How to Use AI Browser Automation to Scrape

汇智网翻译整理,转载请标明出处