使用 Pydantic 和 ScraperGraphAI 进行网页抓取

·1 分钟阅读 min read·教程
Share:
使用 Pydantic 和 ScraperGraphAI 进行网页抓取

使用 Pydantic 和 ScraperGraphAI 进行网页抓取

我很高兴分享一种使用 Pydantic 模式来抓取网页数据的简单方法。这种方法可以让您的代码更加简洁,并确保数据的可靠性。

为什么重要

使用 Pydantic 可以帮助您:

  • 保持数据一致性: 数据会自动进行校验。
  • 及早发现错误: 能够快速发现问题。
  • 轻松更新代码: 清晰的模式使更改变得简单。

工作原理

我们结合 Pydantic 和 ScraperGraphAI 来精确定义所需的数据。以下是示例代码:

python
from pydantic import BaseModel, Field
from scrapegraph_py import Client

# 定义数据模式
class WebpageSchema(BaseModel):
    title: str = Field(description="网页的标题")
    description: str = Field(description="网页的描述")
    summary: str = Field(description="网页的简要摘要")

# 初始化客户端
sgai_client = Client(api_key="your-api-key-here")

# 使用模式进行抓取请求
response = sgai_client.smartscraper(
    website_url="https://example.com",
    user_prompt="提取网页信息",
    output_schema=WebpageSchema,
)

print(f"请求 ID: {response['request_id']}")
print(f"结果: {response['result']}")

sgai_client.close()

示例响应

提取的数据可能如下所示:

json
{
  "title": "示例域名",
  "description": "该域名用于文档中的示例用途。",
  "summary": "一个用于文档和测试的占位网站。"
}

优势

  • 自动数据校验: 数据会自动进行验证。
  • 对开发者友好: 简化数据解析和错误处理。
  • 轻松集成: 可无缝集成到您的项目中。

入门指南

  1. 定义数据模式: 使用 Pydantic 创建数据模型。
  2. 设置客户端: 使用 API 密钥初始化 ScraperGraphAI。
  3. 抓取数据: 通过 smartscraper 端点获取经过验证的数据。

代码解析

  1. 数据模式定义
    我们创建一个 Pydantic 模型来定义要提取的数据结构。

  2. 客户端初始化
    使用 API 密钥初始化 ScraperGraphAI 客户端。

  3. 发送请求
    使用 smartscraper 方法,并传入数据模式来提取结构化数据。

  4. 处理响应
    响应数据会自动验证,并符合您的数据模式。

结论

结合 Pydantic 和 ScraperGraphAI 进行网页抓取,可以简化数据提取过程并提高数据质量。快来尝试吧,让您的数据抓取更加高效!

祝您抓取愉快!

Did you find this article helpful?

Share it with your network!

Share:

Transform Your Data Collection

Experience the power of AI-driven web scraping with ScrapeGrapAI API. Start collecting structured data in minutes, not days.