先把问题解决
在结构化提取中,用.entry匹配每条记录,字段在记录内部查找。这个样例应导出2行:Alpha金额12.00,Beta金额空白;两条相对链接都补成完整网址。空白表示这个源码片段缺字段,不能写成0,也不能宣称已经抓到动态页面的全部内容。
从可看见全部输入的HTML开始
这份源码由编辑构造,不是某家公司报表。Beta故意缺少amount元素,便于检查工具是否把缺失值伪装成0。来源地址只用于本次练习补全相对链接;example.com不是已验证的报告下载站。
- 打开结构化提取,选择“粘贴源码”,填来源地址https://example.com/reports/,保留末尾斜杠,再粘贴本节HTML示例。
- 记录CSS选择器填.entry。把字段设置成下表中的三项,删除不需要的示例字段,确认字段名不重复。
- 确认你有权处理这些材料后发起提取。真实任务不应粘贴登录凭据、私有后台源码或把访问受限误当成需要绕过的故障。
<!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>字段配置、两行答案与错误定位
- 先核对记录数为2,再核对每个字段。amount是提取的文字12.00,不代表已经完成金额单位或数据类型转换。
- 导出JSON保留解析方式、来源地址及时间背景;若交付CSV/Excel,另附来源账本,至少写明本例为粘贴源码、来源地址、处理时间及Beta字段缺失。不要假设每个格式都自动保留外层信息。
- 重新打开导出文件,确认两条完整链接、Alpha金额和Beta空白。写出“Beta:当前源码无amount,待核对”,需要计算时把未解决记录单独列出。
| 字段名 | 字段选择器 | 属性 |
|---|---|---|
| name | .name | text |
| amount | .amount | text |
| url | a | href |
| name | amount | url |
|---|---|---|
| Alpha | 12.00 | https://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 文件会保证收录吗?
不会,正确部署和搜索引擎决定与文件生成是不同事项。
参考资料与延伸阅读
按步骤开始处理
进入对应工具,预览处理结果,检查导出的文件。


