浏览器与软件实用指南

网页资料怎么提取成表格?两条HTML记录、选择器与缺失值核对

网页资料提取成表格,先确认源码里确实存在目标字段,再为每条记录保留来源与缺口。下面的静态HTML练习不依赖目标网站变化;你能看到两条输入、三个字段和完整参考答案,再把相同核对方式用于允许访问的公开资料。

白色书桌上用于学习和资料查找的电脑
配图:Iewek Gnos · Unsplash License

本次修订:新增两条静态HTML记录的完整提取练习、字段配置、空值与来源核对及排错路径。

先把问题解决

在结构化提取中,用.entry匹配每条记录,字段在记录内部查找。这个样例应导出2行:Alpha金额12.00,Beta金额空白;两条相对链接都补成完整网址。空白表示这个源码片段缺字段,不能写成0,也不能宣称已经抓到动态页面的全部内容。

从可看见全部输入的HTML开始

这份源码由编辑构造,不是某家公司报表。Beta故意缺少amount元素,便于检查工具是否把缺失值伪装成0。来源地址只用于本次练习补全相对链接;example.com不是已验证的报告下载站。

  1. 打开结构化提取,选择“粘贴源码”,填来源地址https://example.com/reports/,保留末尾斜杠,再粘贴本节HTML示例。
  2. 记录CSS选择器填.entry。把字段设置成下表中的三项,删除不需要的示例字段,确认字段名不重复。
  3. 确认你有权处理这些材料后发起提取。真实任务不应粘贴登录凭据、私有后台源码或把访问受限误当成需要绕过的故障。

复制到“粘贴源码”的HTML

<!doctype html>
<html lang="en"><body>
<article class="entry">
  <h2 class="name">Alpha</h2>
  <span class="amount">12.00</span>
  <a href="2026/alpha">Report</a>
</article>
<article class="entry">
  <h2 class="name">Beta</h2>
  <a href="2026/beta">Report</a>
</article>
</body></html>
虚构公开资料练习。粘贴的HTML会发送到KitNelo解析服务;当前解析不执行网页脚本。

字段配置、两行答案与错误定位

  1. 先核对记录数为2,再核对每个字段。amount是提取的文字12.00,不代表已经完成金额单位或数据类型转换。
  2. 导出JSON保留解析方式、来源地址及时间背景;若交付CSV/Excel,另附来源账本,至少写明本例为粘贴源码、来源地址、处理时间及Beta字段缺失。不要假设每个格式都自动保留外层信息。
  3. 重新打开导出文件,确认两条完整链接、Alpha金额和Beta空白。写出“Beta:当前源码无amount,待核对”,需要计算时把未解决记录单独列出。
记录选择器.entry;下列选择器均在每条记录内部匹配
字段名字段选择器属性
name.nametext
amount.amounttext
urlahref
应得到的完整业务字段
nameamounturl
Alpha12.00https://example.com/reports/2026/alpha
Beta空字符串;缺少字段https://example.com/reports/2026/beta

0行先查.entry是否拼错;有2行但字段都空,先查字段选择器;只有1行且两条记录混在一起,检查是否把body当作记录。网页显示有值而源码没有时,静态提取无法补出脚本加载内容,应使用有权取得的原始文件或另存源码重新核查。

用三页账本说明完成了什么,比“采集成功”更有用

自编调研只需要同一站点的三篇公开说明页。第一页成功取得标题和正文;第二页能访问但静态源码没有所需正文;第三页访问受限。正确的报告不是“共三页,第三页零条数据”,而是分别记录成功提取、未在可解析源码中取得、未取得访问结果。缺口的成因不同,后续动作也不同。

账本应把原始 URL、最终 URL、采集时间、所需字段和结果放在一起。重定向后的最终页若变成首页,就不能把首页正文挂在原文章标题下。只有标题提取成功也不能把正文完整度写成 100%;先对照开头、中间一节与结尾,再判断这次提取适用于哪种问题。

自编三页采集账本
页面实际取得应记录的状态下一步
说明 A标题与完整所需正文已提取并核对保留来源与采集时间
说明 B标题,无所需正文静态源码提取缺口对照可见页面与获准导出
说明 C访问限制响应未取得停止该路径,不补造零值

源码没有正文、选择器没命中与网页没有内容,分别判断

网页正文工具及同系列解析器读取公开静态 HTML/XML,不执行页面 JavaScript。若浏览器中看到文字而提取为空,先检查获得的源码是否包含那段文字。源码中有文字但自定义字段为空,优先检查 CSS 记录选择器和记录内部的字段选择器;源码中没有文字,则可能需要来源允许的现有导出,继续改选择器不会生成缺失数据。

先用一个正常页和一个缺字段页测试。正常页确认字段定位,缺字段页确认空值保留方式,避免所有行都套用上一行值。粘贴源码也会发送到解析服务,不属于离线处理。不要为填满表格而绕过登录或访问限制;把未取得的字段及原因写进交付物,保留能核对的部分即可。

清洗 URL 之前,先判断参数与锚点是不是内容身份

自编 URL /report?year=2025&utm_source=mail 与 /report?year=2026&utm_source=mail 的 year 不同,可能对应两份报告;去掉所有查询参数会错误合并。URL 清单工具可清除常见追踪参数,但保留其他参数及顺序。它只清洗文本,不访问页面,因此“清洗后保留”不能解释成“页面有效”。基于 #/ 路由的网站还可能把锚点当作页面身份,移除前应另查。

资料交付至少包含清洗清单、排除项与提取结果。JSON 下载保留本次结果的来源模式、sourceUrl 和 collectedAt 等外层信息;仅交 CSV 时另附来源账本,避免采集背景在扁平行中丢失。若要保存原始网页,应按允许的方式另行留存;结构化 JSON 不是自动保存了每个页面的完整原始 HTML。

输入不同或继续处理时,再选这些工具

  • 整理网址清单: 清洗和筛选起始网址,同时保留有意义的查询参数并记录排除项。
  • 检查 robots 规则: 检查相关路径与 user agent;robots 说明不授予访问或再利用权利。
  • 读取 Sitemap 或 RSS: 把发现的网址作为候选,再核查是否当前有效、符合范围且可访问。
  • 提取网页正文与元信息: 将标题、正文与元信息对照来源;去除导航时也可能漏掉有用章节。
  • 提取网页链接: 检查解析后的相对地址,区分导航链接与任务所需证据链接。
  • 查看图片资源: 保留来源页与资源地址,检查懒加载候选,复用照片前核实许可。
  • 提取公开表格: 导出前将合并表头、单位、脚注与行数对照可见表格。
  • 提取自定义字段: 用正常页和缺失字段页测试选择器或字段规则,再检查提取值。
  • 保存网页资料包: 给资料记录标明来源和问题;描述监测变化前应对照实际网页。
  • 检查站点交付: 将扫描限制在目标域内,导出报告前核实提示的死链和图片失败。
  • 生成 SEO 文本文件: 按确认的规范网址与路径规则生成 Sitemap 和 robots.txt,再检查输出;生成不会自动发布,也不保证收录。

把“抓到了”拆成四个可核对结论

RFC 9309 定义 Robots Exclusion Protocol;遵守访问规则之外,还需单独确认任务来源范围与再利用权利。

邮箱资料导出应保留来源页。 简化阅读视图应与原页面比较。

两条记录的交付条件

  • 范围明确:只声称解析了给定HTML片段,没有声称覆盖整个网站。
  • 2条记录均匹配来源;相对链接补全依赖正确的带斜杠基础地址。
  • Beta缺失与真实0、拒绝访问、解析失败分开记录。
  • JSON或配套账本保留时间和来源;保留允许保存的原文副本,导出JSON不等于完整HTML存档。

常见问题

robots.txt 会授予内容再利用许可吗?

不会,访问说明与内容权利是不同问题。

有 Sitemap 就证明所有页面已采集吗?

不证明,它提供发现候选,应比较预期集合与实际成功结果。

生成 SEO 文件会保证收录吗?

不会,正确部署和搜索引擎决定与文件生成是不同事项。

参考资料与延伸阅读

按步骤开始处理

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

继续阅读