Selenium Scraper
SeleniumScrapingTool
设计用于使用 Selenium 提取和读取指定网站的内容。
SeleniumScrapingTool
此工具目前正在开发中。随着我们对其功能的完善,用户可能会遇到意外行为。您的反馈对我们的改进至关重要。
描述
SeleniumScrapingTool
专为高效率的网页抓取任务而打造。它允许通过使用 CSS 选择器定位特定元素来精确提取网页内容。其设计满足各种抓取需求,提供了处理任何给定网站 URL 的灵活性。
安装
要使用此工具,您需要安装 CrewAI 工具包和 Selenium
您还需要在系统上安装 Chrome,因为该工具使用 Chrome WebDriver 进行浏览器自动化。
示例
以下示例演示了如何将 SeleniumScrapingTool
与 CrewAI 代理一起使用
您也可以使用预定义的参数初始化工具
参数
SeleniumScrapingTool
在初始化期间接受以下参数
- website_url:可选。要抓取的网站 URL。如果在初始化期间提供,则代理在使用工具时无需再指定。
- css_element:可选。用于提取元素的 CSS 选择器。如果在初始化期间提供,则代理在使用工具时无需再指定。
- cookie:可选。包含 cookie 信息的字典,用于模拟登录会话以访问受限内容。
- wait_time:可选。指定抓取前的延迟(秒),以便网站和任何动态内容完全加载。默认为
3
秒。 - return_html:可选。是否返回 HTML 内容而不是纯文本。默认为
False
。
将工具与代理一起使用时,代理需要提供以下参数(除非在初始化期间已指定)
- website_url:必需。要抓取的网站 URL。
- css_element:必需。用于提取元素的 CSS 选择器。
代理集成示例
以下是关于如何将 SeleniumScrapingTool
与 CrewAI 代理集成的更详细示例
实现细节
SeleniumScrapingTool
使用 Selenium WebDriver 来自动化浏览器交互
该工具执行以下步骤
- 创建一个无头 Chrome 浏览器实例
- 导航到指定的 URL
- 等待指定时间以允许页面加载
- 如果提供了 cookie,则添加
- 根据 CSS 选择器提取内容
- 将提取的内容作为文本或 HTML 返回
- 关闭浏览器实例
处理动态内容
SeleniumScrapingTool
对于抓取使用 JavaScript 加载动态内容的网站特别有用。通过使用真实的浏览器实例,它可以
- 执行页面上的 JavaScript
- 等待动态内容加载
- 如果需要,与元素交互
- 提取通过简单 HTTP 请求无法获得的内容
您可以调整 wait_time
参数以确保所有动态内容在提取前已加载。
结论
SeleniumScrapingTool
提供了一种使用浏览器自动化从网站提取内容的强大方法。通过使代理能够像真实用户一样与网站交互,它促进了对使用简单方法难以或不可能提取的动态内容的抓取。此工具对于涉及带有 JavaScript 渲染内容的现代 Web 应用的研究、数据收集和监控任务特别有用。