360 Secure SkillHub
360 安全技能中心

Shopify JSON-LD Parser

将 Shopify 商品页或其他符合 schema.org/Product 的 HTML 交给本地 Python 脚本,提取内嵌 JSON-LD,输出商品信息、报价(价格、货币、可用性、链接、品相)及库存状态等结构化 JSON;支持 @graph 与多个脚本,仅处理静态 HTML。

igorganapolsky
igorganapolsky
热度 36.62
最近更新 2026-05-11 17:43:29
分类:效率依赖:代码执行 / 读写文件应用场景:数据处理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add shopify-jsonld-parser
Metadata
name
shopify-jsonld-parser
description
Parse JSON-LD structured data from Shopify product pages to extract commerce details like product info, offers (price, currency, availability), and inventory status from schema.org/Product and Offer. Use when: (1) analyzing Shopify HTML for product offers/pricing/stock, (2) extracting structured commerce data from web pages or local files, (3) querying JSON-LD for availability (InStock/OutOfStock/PreOrder), prices across variants, or offer counts. Handles @graph arrays and multiple scripts.

Shopify JSON-LD Parser

Parse JSON-LD from Shopify product pages (or any schema.org/Product JSON-LD) to extract structured commerce data reliably.

Quick Start

  1. Fetch HTML: web_fetch a product page URL.
  2. Parse: Run scripts/parse_shopify_jsonld.py input.html (outputs JSON).
  3. Query output for offers, availability, etc.

Example:

exec command="python3 skills/shopify-jsonld-parser/scripts/parse_shopify_jsonld.py page.html"

Workflow

  1. Input: HTML file/path with JSON-LD (from web_fetch, read, or local).
  2. Find JSON-LD: Script extracts all <script type="application/ld+json"> contents.
  3. Parse Product: Traverse @graph or root for @type: Product, extract:
    • name, description, image, sku, brand
    • offers: array of Offer objects → price, priceCurrency, availability, url, itemCondition
    • availability (product-level or per-offer): http://schema.org/InStock, OutOfStock, PreOrder, etc.
    • Variants: Infer from multiple offers or hasVariant.
  4. Output: Clean JSON: {product: {...}, offers: [...], inventory_status: "InStock|OutOfStock|Limited|Unknown"}

Inventory is typically availability enum, not exact quantity (use Shopify API for levels). Map:

  • InStock → available
  • OutOfStock → unavailable
  • PreOrder/BackOrder → preorder

Usage Examples

Extract offers from page:

read path="shopify-page.html" → html
write path="tmp.html" content=html
exec command="python3 skills/shopify-jsonld-parser/scripts/parse_shopify_jsonld.py tmp.html" → parsed.json
read path="parsed.json"

Query CLI-style: Add --query price or --field offers[0].availability flags to script.

Script Reference

scripts/parse_shopify_jsonld.py [input.html] [--query FIELD] [--output json|yaml]

  • Handles malformed JSON-LD gracefully.
  • Supports multiple @graph items.
  • Validates schema.org types.

Schema Reference

See references/schema.md for schema.org/Product + Offer properties.

Troubleshooting

  • No JSON-LD: Returns {error: "No product JSON-LD found"}
  • Multiple products: Takes first @type:Product.
  • Dynamic Liquid: Static HTML only (no JS-rendered).