Serper 抓取网站
SerperScrapeWebsiteTool
Section titled “SerperScrapeWebsiteTool”该工具旨在抓取网站内容,并从任意网站 URL 中提取干净、可读的文本。它使用 serper.dev 抓取 API 来获取并处理网页,并可选择包含 markdown 格式以获得更好的结构和可读性。
要有效使用 SerperScrapeWebsiteTool,请按以下步骤进行:
- 安装包:确认你的 Python 环境中已安装
crewai[tools]包。 - 获取 API Key:在
serper.dev注册账户,获取serper.devAPI key。 - 环境配置:将你获得的 API key 存储到名为
SERPER_API_KEY的环境变量中,方便工具使用。
要将此工具集成到你的项目中,请遵循以下安装说明:
pip install 'crewai[tools]'下面的示例演示如何初始化工具并抓取网站:
from crewai_tools import SerperScrapeWebsiteTool
# 初始化工具,启用网站抓取能力tool = SerperScrapeWebsiteTool()
# 使用 markdown 格式抓取网站result = tool.run(url="https://example.com", include_markdown=True)SerperScrapeWebsiteTool 接受以下参数:
- url:必需。要抓取的网站 URL。
- include_markdown:可选。是否在抓取内容中包含 markdown 格式。默认值为
True。
带参数的示例
Section titled “带参数的示例”下面是一个演示如何使用不同参数的示例:
from crewai_tools import SerperScrapeWebsiteTool
tool = SerperScrapeWebsiteTool()
# 使用 markdown 格式抓取(默认)markdown_result = tool.run( url="https://docs.crewai.com", include_markdown=True)
# 不使用 markdown 格式,获取纯文本plain_result = tool.run( url="https://docs.crewai.com", include_markdown=False)
print("Markdown formatted content:")print(markdown_result)
print("\nPlain text content:")print(plain_result)SerperScrapeWebsiteTool 尤其适用于:
- 内容分析:为研究目的提取并分析网站内容
- 数据收集:从网页收集结构化信息
- 文档处理:将基于网页的文档转换为可读格式
- 竞争分析:抓取竞争对手网站用于市场研究
- 内容迁移:为迁移目的从现有网站提取内容
该工具为以下情况提供了全面的错误处理:
- 网络问题:优雅地处理连接超时和网络错误
- API 错误:为与 API 相关的问题提供详细错误信息
- 无效 URL:验证并报告格式不正确的 URL 问题
- 认证:当 API key 缺失或无效时提供清晰错误信息
- 始终将
SERPER_API_KEY存储在环境变量中,切勿将其硬编码到源代码中 - 注意 Serper API 的速率限制
- 抓取内容时请遵守 robots.txt 和网站服务条款
- 对于大规模抓取操作,考虑在请求之间加入延迟