ScrapeGraphAI 云 API 用自然语言把网页变成结构化 JSON,可选 Schema 约束形状。当前应以 v2 文档为准:核心是 Scrape、Extract、Search、Crawl、Monitor 等;旧 v1 的 smartscraper 一类端点已弃用,不要再写进新集成。开源 Python 库里的 SmartScraperGraph 适合本地试验,但托管配额、历史任务与监控要走云 API,并分清计费。
先写可验证的字段契约
假设任务是抓商品列表:需要 name、price(可空字符串)、可选币种。用 Pydantic 定义 Product / Products,通过 model_json_schema() 交给 Extract;字段 description 会进入提示,有助于歧义字段。提示词只补充范围,例如“提取页面可见的商品名与标价”,不要写“提取所有信息”。没有契约的宽提示很难判断对错。
调用 extract,并以 status 分流
Python SDK:ScrapeGraphAI() 读取 SGAI_API_KEY(也可显式传入),然后:
res = sgai.extract("提取商品名与价格", url="https://示例商品页", schema=Products.model_json_schema())
官方计费:每次 Extract 约 5 credits;在 fetch_config 启用 stealth=True 约再加 5;mode 的 auto/fast/js 通常不改变这笔 Extract 基础费。若 res.status == "success",用 Products.model_validate(res.data.json_data) 做类型校验;失败则记录 res.error,不要把空字典当成功。也可对已有 html/markdown 抽取,跳过抓取阶段。
| 能力 | 典型费用信号 | 完成物 |
|---|---|---|
| Extract | 5 credits起,stealth +5 | 通过 schema 的 JSON |
| Scrape markdown/html/links 等 | 多为每格式 1 credit | results 中对应格式数据 |
| Scrape json / screenshot / branding | 约 5 / 2 / 25 | 按格式验收,勿与 Extract 混算 |
样本稳定后再接 Crawl 或 Monitor
先准备 5–10 个样本 URL 与人工真值表。逐条跑 Extract,统计必填字段命中率、价格格式错误与幻觉字段。命中率达标前,不要把 Crawl、定时 Monitor 或 Agent 工作流接到生产库。本地开源图若使用 Ollama 或其他 LLM,还要单独验证模型可用性与 token 截断(cut 等配置)对长页的影响。
用同一 Schema 做上线闸门
上线前冻结 Schema 版本与样本真值,记录每条样本的 credits、是否 stealth、失败原因。生产侧 Crawl/Monitor 必须继续用同一 Schema 做 status 与 model_validate 验收;Schema 变更视为新版本,需重跑样本集,不能只改提示词就放量。
- 冻结 Schema 与样本真值。
- 对样本调用 extract,确认 status 与 model_validate。
- 对照原页抽查名称、价格、库存语义。
- 记录 credits、是否 stealth、失败原因。
- 稳定后再启用 Crawl/Monitor,并继续用同一 Schema 验收。
产品与文档:https://scrapegraphai.com/ 、https://docs.scrapegraphai.com/
数据统计
相关导航
先 Scrape 验收,再升级 Session 并 stop
观测云
用指标、日志和链路还原故障并控制采集成本
宝塔面板
服务器建站、服务管理与安全运维面板
Crawl4AI
自托管浏览器抓取并输出结构化数据
Zyte
用同一商品 URL 对照三种材料后再固化抽取策略
OSCHINA 在线工具
开源中国提供的代码处理、编码转换与开发文档入口
BeJSON
提供 JSON 校验、格式化、树视图及代码转换的开发工具
腾讯WeTest
性能测试、崩溃分析与小程序云测平台
暂无评论...
