浏览器与软件实用指南

平台资料怎么整理成表格?商品快照、评分与来源核对

平台资料导成表格后,先确认每行属于哪个来源、变体和时间,再比较价格或评分。本例提供四份完整虚构JSON:两商店分别2条与1条商品观察、3条评价、2条社交记录,逐项检查原始币种、评分缺失与零值,最后保留可追溯的交付包。

浅色背景前的金属购物车特写
配图:Bruno Kelzer · Unsplash License

本次修订:增加两商店商品、三条评价和零值/缺失互动的完整JSON,补齐工具操作、导出来源清单与逐字段验收。

先把问题解决

商品应保留2+1条观察,不能按同名或相同SKU跨店合并;三条评价只有两条有评分;社交点赞0与未提供不同。逐份核对导出行,再保留包含sourceUrl、source、mode、collectedAt的JSON外层。解析时间不证明历史观察时间。

先给四份输入建立来源账本

练习包中的域名、商品、评价和帖子均为虚构。source-manifest.json给出每份文件应使用的工具、来源URL和预期行数;不要用在线采集访问这些示例域名。使用粘贴源码或导入文件处理。

  1. store-a-products.json和store-b-products.json分别交给平台商品采集,来源分别填https://shop-a.example/catalog和https://shop-b.example/catalog。
  2. reviews.json交给平台评价整理,来源https://reviews.example/tea;social.json交给社交内容整理,来源https://posts.example/team。
  3. 选择粘贴源码或导入,读取完整文件后点击解析内容。源码会发送到KitNelo解析服务,不能描述为离线浏览器处理。
  4. 每次解析后分别保存JSON与CSV或Excel,并记录输入文件和输出文件的对应,不把四份不同任务的行数混为一个总量。

按步骤选择具体操作

  • 整理商品快照: 保留 SKU、变体、币种与采集时间;展示价格不一定等于最终结账价,也不是实时源。
  • 整理评价记录: 保留原始评分与量表上下限,以及来源和日期;不要直接比较 4/5 与 4/10。
  • 提取文章记录: 与来源核对作者、发布时间和正文完整性;静态 HTML 可能缺少动态加载内容。
  • 查看视频元信息: 将时长、封面和公开链接视为元信息,不要假定工具会下载视频或验证播放统计。
  • 整理社交内容: 保留作者、发布时间与来源提供的互动字段;缺失计数应保持缺失而不是填零。

先定每份输入的参考答案,再看工具预览

正确提取不仅是看到了一个表格。商品A应为2行、商品B为1行;评价3行中评分已提供2行、缺失1行;社交2行中一条明确0点赞、另一条未提供。全空字段可能在预览中隐藏,导出仍应核对字段。

四份文件分别验收,不能混加成一种业务单位
输入记录数关键字段核对
store-a / store-b2 / 1条商品观察USD 12.00、USD 20.00 / EUR 11.00
reviews3条评价4/5、6/10、未提供;不是3个已知评分
social2条帖子likes为字符串0与空白,不是两个0

完整商品输入:同SKU也可能是不同观察

店A的两种变体与店B商品分别处理。TEA-100在两商店重复,不构成全球唯一标识;不能只按SKU或Demo tea标题合并。价格按原币种保留,不把12 USD和11 EUR直接排序为同一金额。

store-a-products.json完整输入

{
  "@context": "https://schema.org",
  "@type": "ProductGroup",
  "name": "Demo tea",
  "hasVariant": [
    {
      "@type": "Product",
      "name": "Demo tea 100g",
      "sku": "TEA-100",
      "offers": {
        "@type": "Offer",
        "price": "12.00",
        "priceCurrency": "USD",
        "url": "/products/tea-100"
      }
    },
    {
      "@type": "Product",
      "name": "Demo tea 200g",
      "sku": "TEA-200",
      "offers": {
        "@type": "Offer",
        "price": "20.00",
        "priceCurrency": "USD",
        "url": "/products/tea-200"
      }
    }
  ]
}
Schema.org的ProductGroup/hasVariant结构用于本练习;两种商品变体,来源URL按账本填写。

store-b-products.json完整输入

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Demo tea 100g",
  "sku": "TEA-100",
  "offers": {
    "@type": "Offer",
    "price": "11.00",
    "priceCurrency": "EUR",
    "url": "/products/tea-100"
  }
}
另一个虚构商店,同SKU但币种与来源不同,单独保留。

商品导出逐条答案
来源 / SKU名称price / currency导出的商品URL
shop-a / TEA-100Demo tea 100g12.00 / USDhttps://shop-a.example/products/tea-100
shop-a / TEA-200Demo tea 200g20.00 / USDhttps://shop-a.example/products/tea-200
shop-b / TEA-100Demo tea 100g11.00 / EURhttps://shop-b.example/products/tea-100

Schema.org的ProductGroup说明描述组与变体关系。此处只核对输入中提供的快照,不取得结账价、运费或实时库存。

三条评价只有两个评分,先保留量表再计算

将完整reviews.json用于平台评价整理,应得到Review A、B、C三条。rating依次4、6、空白;worstRating为1、0、空白;bestRating为5、10、空白。C没有提供评分,不能填0,也不能纳入“已知评分条数”的分母。

按“评分÷最高分”,A为80%、B为60%;按量表区间位置,A为(4−1)/(5−1)=75%、B为(6−0)/(10−0)=60%。两种指标不能混用,原始4与6也不能直接平均成统一星级。当前输入的已知评分覆盖为2/3;这不是平台全部评价的覆盖率。

reviews.json完整输入

[
  {
    "@type": "Review",
    "name": "Review A",
    "reviewBody": "Fictional review A.",
    "reviewRating": {
      "ratingValue": 4,
      "worstRating": 1,
      "bestRating": 5
    }
  },
  {
    "@type": "Review",
    "name": "Review B",
    "reviewBody": "Fictional review B.",
    "reviewRating": {
      "ratingValue": 6,
      "worstRating": 0,
      "bestRating": 10
    }
  },
  {
    "@type": "Review",
    "name": "Review C",
    "reviewBody": "Fictional review C has no rating."
  }
]
三条虚构评价,第三条没有reviewRating。参考结果保留空白,不补造量表。

Schema.org的Rating字段区分ratingValue、bestRating与worstRating。这里的两种算法是明确写出的编辑比较方法,工具不会替你生成可信的跨平台平均分。

交付时保留JSON外层,别把解析日期当观察日期

再用social.json核对点赞:第一条明确为0,第二条没有likes,结果应为0与空白。预览可能省略全空的comments等列,但CSV/Excel与JSON仍会保留相应字段;不要根据预览列数判断来源完整。

本系列JSON下载有sourceUrl、source、mode、collectedAt和result;实际行在result.items。CSV与Excel主要保存结果行,商品url常是具体商品页,不一定是本次导入的目录URL。保留JSON或另外建立文件来源清单,才能回到完整输入。

collectedAt表示本次运行解析服务的时间。账本中的2026-10-01/02是虚构案例的观察标签,不会因为今天解析就变成真实历史证据。重新导入旧文件也不等于重新获得平台实时数据;source值为paste也不能证明曾在线抓取。

social.json完整输入

[
  {
    "@type": "SocialMediaPosting",
    "articleBody": "Fictional post A",
    "likes": 0
  },
  {
    "@type": "SocialMediaPosting",
    "articleBody": "Fictional post B"
  }
]
明确零值与未提供字段各一条;两条均为编辑构造。

来源采集与字段边界指南解释如何保留材料范围;对未提供字段继续按缺失与零的区分复核,不把不可获取写成零。

逐文件核对后再交付,来源缺失就保留未决

一个可复查的包应包含四份原始JSON、来源账本、四份解析JSON及需要的行表。修复错误的来源URL或输入后重新解析,另存版本;不要只改输出表的显示名称掩盖错误。

本例快照交付验收

  • 商品2+1行分别对应两来源、三条URL和原币种,未按标题或SKU跨店合并。
  • 三条评价保留两套已提供量表,第三条缺失不补零,已知评分条数2/3明确。
  • 两条社交记录保留0与缺失,预览隐藏列没有被误认为字段不存在。
  • JSON外层与表格文件对应,解析时间和虚构观察标签分开。
  • 没有把导入文件称为官方API连接、实时监控或完整平台数据,参考来源范围和缺失值规则。

常见问题

提取价格会一直有效吗?

不会,应保留观察时间,需要当前决策时重新核对原来源。

视频记录包含视频文件吗?

元信息记录不代表媒体已下载或已获再利用许可。

不可获取计数可以设为零吗?

不应,零是观察到的数量,不可获取表示未取得有依据的值。

参考资料与延伸阅读

按步骤开始处理

进入对应工具,预览处理结果,检查导出的文件。

继续阅读