跳转到内容

Serper 抓取网站

该工具旨在抓取网站内容,并从任意网站 URL 中提取干净、可读的文本。它使用 serper.dev 抓取 API 来获取并处理网页,并可选择包含 markdown 格式以获得更好的结构和可读性。

要有效使用 SerperScrapeWebsiteTool,请按以下步骤进行:

  1. 安装包:确认你的 Python 环境中已安装 crewai[tools] 包。
  2. 获取 API Key:在 serper.dev 注册账户,获取 serper.dev API key。
  3. 环境配置:将你获得的 API key 存储到名为 SERPER_API_KEY 的环境变量中,方便工具使用。

要将此工具集成到你的项目中,请遵循以下安装说明:

Terminal window
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

下面是一个演示如何使用不同参数的示例:

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 和网站服务条款
  • 对于大规模抓取操作,考虑在请求之间加入延迟