Schema Source from Tabstack icon

Schema Source from Tabstack

Schema Source from Tabstack 可從 URL 產生 JSON Schema、Zod schema 或 Pydantic 模型,適合需要結構化輸出、已知頁面模式與文件化 JSON 端點的開發者。

Schema Source from Tabstack

概覽

Schema Source from Tabstack 是一個 URL 轉 schema 的產生器,可從頁面擷取結構化資料,並將其呈現為 JSON Schema、Zod 或 Pydantic 輸出。首頁將其定位為可從任何 URL 產生 schema 的方式,而文件則顯示每個 schema 頁面同時也可作為 JSON 端點。

此產品面向需要以程式方式表示頁面內容的開發者。它可以針對已知的 URL 模式回傳快取的 schema 資料,並支援瀏覽器存取、HTTP 內容協商,以及可供 API 使用的文件化 JSON 回應格式。

功能

產生多種 schema 格式

將 URL 轉換為已學習的 schema,並依據頁面檢視與 API 請求回傳 JSON Schema、Zod 或 Pydantic 輸出。

HTML 與 JSON 雙重傳送

同一個 `/get/...` 頁面會為瀏覽器提供 HTML,並為 API 用戶端提供 JSON,因此文件與 API 存取位於同一主機。

快取 schema 回應

Schema 頁面會提供帶有快取結果的 JSON 端點,讓重複請求能重用先前擷取的 schema。

供 API 使用的內容協商

文件示範如何使用瀏覽器友善的 `?format=json` 查詢字串或 `Accept: application/json` 請求標頭來擷取 schema。

以模式為基礎的 URL 擷取

支援的範例包括 `reddit.com/r/[subreddit-name]` 和 `producthunt.com/products/[product-slug]` 這類模式,顯示此工具會從已知網站形狀中學習 URL 專屬 schema。

使用案例

  • 為特定頁面資料產生 schema

    當你需要可供後續處理或驗證的機器可讀 schema 時,從已知的 URL 模式擷取結構化資料。

  • 將 schema 查詢整合到應用程式

    從程式碼呼叫 JSON 端點,取得同一個 URL 重複請求的快取 schema 輸出。

  • 以文件化 API 為基礎開發

    在把端點接到用戶端或自動化流程之前,先檢視已文件化的回應格式、錯誤代碼與速率限制。

  • 處理已學習的網站模式

    在對應特定網站頁面,例如 subreddit 清單或 Product Hunt 產品頁面時,可將這些模式範例作為參考。

Pros and Cons

Pros

  • 從 URL 產生結構化 schema 輸出,而不必手動建模。
  • 支援多種輸出樣式,包括 JSON Schema、Zod 和 Pydantic。
  • 網頁與 JSON 端點使用同一主機,讓存取更簡單。
  • 對重複請求回傳快取結果,以減少重複擷取工作。
  • 對錯誤、速率限制與回應格式的文件說明足以支援 API 整合。

Cons

  • 來源只顯示少數幾個範例模式,因此支援網站的範圍在此無法完整得知。
  • 已收集的頁面文字中未顯示定價資訊,因此僅憑這些資料無法判斷其商業模式。
  • 文件指出首次請求可能需要幾秒鐘,因為擷取是同步進行的。

FAQ

我該如何取得 JSON 而不是網頁?

瀏覽器會從同一主機接收 HTML,而 API 用戶端可透過附加 `?format=json` 或送出 `Accept: application/json` 來請求 JSON。查詢字串的優先順序高於標頭。

我需要對輸入的 URL 進行 URL 編碼嗎?

不需要。伺服器會使用 `decodeURIComponent` 解碼 URL 路徑,若解碼失敗也會回退使用原始字串。

當某個 URL 尚未被爬取時會發生什麼事?

第一次請求某個 URL 時會同步觸發擷取,可能需要幾秒鐘。之後對同一個 URL 的請求會從快取提供。

有速率限制嗎?

`/get/*` 端點的速率限制為每個 IP 每分鐘 60 次請求。回應包含 `RateLimit-Limit` 和 `RateLimit-Remaining`,而 429 回應則包含 `Retry-After`。

API 可能回傳哪些錯誤?

錯誤回應使用共同格式:`{ "error": { "code", "message" } }`。已文件化的代碼包括 `BAD_URL`、`RATE_LIMITED`、`EXTRACTION_FAILED`、`UPSTREAM_UNAVAILABLE` 和 `EXTRACTION_TIMEOUT`。

Quick Facts

類別
開發者工具
主要輸出
JSON Schema、Zod 和 Pydantic
存取模式
同一主機上的網頁加 JSON 端點
來源網域
schema.tabstack.ai
支援的範例模式
Reddit subreddit 頁面與 Product Hunt 產品頁面
定價
收集到的頁面文字中未說明