Nstproxy 现已升级为 Nstdata。了解此次变化。 周一至周五 09:00 - 18:00(UTC+08:00) 公司地址
19H MAXGRAND PLAZA NO.3 TAI YAU STREET SAN PO KONG, KOWLOON HONG KONG
©2026 NST LABS TECH LTD. 保留所有权利。 HTML到LLM准备文本:清理和验证指南Lena ZhouGrowth & Integration Specialist
HTML 到 LLM 准备文本:为 AI 清理网页内容
TL;DR
- 清理 HTML 以适应 LLM 意味着保留有用的结构,同时去除样板内容。
- LLM 准备好的文本保留标题、链接、代码和相关表格,同时去除无关的页面边框。
onlyMainContent 可能会删除重要的边栏或警告;请与 HTML 或截图进行比较。
- 保留每个接受的块的源 URL,并将检索到的页面文本视为不可信输入。
- Nstdata Crawl 处理 JavaScript 渲染和代理路由,通过管理请求;其文档列出了六种输出类别:Markdown、HTML、原始数据、PDF、截图和链接。
什么是 LLM 准备好的文本?
HTML 到 LLM 准备好的转换选择有意义的内容,去除导航、广告、脚本、重复的页脚和无关的控件。它应该保留标题、段落、列表、代码、引用和相关表格。去除每个标签太过粗暴:这可能会扁平化段落边界并删除模型需要引用的链接。期望的输出是经过验证的文档,而不仅仅是少了字符。
Nstdata Crawl 可以将一个 URL 或一组链接页面转换为 AI 代理、RAG 索引或数据管道的材料。使用您自己的领域规则和接受检查以获得特定的结果:将干净的渲染 HTML 转换为可归属的文本,同时保留 AI 应用所需的结构。Nstdata 全站爬取指南 解释了站点级选项。
对于这里涉及的较窄任务,Nstdata Markdown 清理指南 为选择第一个代表性页面提供了有用的上下文。
开始之前需要什么?
准备一个代表性集合:一个静态页面、一个 JavaScript 渲染页面,以及一个包含表格或代码示例的页面(如果这些结构重要)。对于每个页面,编写一个接受检查清单,列出所需的标题、开头和结尾段落、链接及任何警告文本。保留源 URL 和获取时间与清理后的输出。使用存储在服务器端的 Nstdata API 密钥进行管理路由。
Crawl API 文档 使用 https://api.nstdata.io,x-api-key 头部,以及 Content-Type: application/json。在执行方法之前准备这些字段:
| 字段 | 需要提供的内容 |
|---|
url | 一个允许的 HTTPS 页面或网站入口 URL |
formats | 请求的输出,例如 ["markdown"] 或 ["html","screenshot"] |
onlyMainContent |
maxDepth, maxPages | 站点广泛工作的明确限制 |
includeUrls, excludeUrls | 保持发现范围内的 URL 模式 |
timeout | 当默认值不合适时,任务超时(以毫秒为单位) |
标准管理请求没有单独的代理主机、端口、用户名、密码或协议字段。在执行大规模作业之前,请检查当前的 Crawl 价格页面 以获取账户限制和费用。
审核目标的访问策略和范围。机器人排除协议 定义了爬虫如何读取机器人规则;它并未授予内容使用权。请将凭据和私密数据排除在示例和诊断日志之外。
HTML 清理是如何工作的?
Nstdata Crawl 可以渲染 JavaScript 页面,选择主要内容,并返回 Markdown 或清理后的 HTML。onlyMainContent 选项对于文章或文档页面非常有用,但可能会省略任务所需的边栏警告或产品选项。原始数据和截图提供对比证据。管理代理访问内置于 Crawl,因此普通 API 请求不要求单独的代理凭证。
对于已知的 URL,单页面抓取会检索一个结果。对于站点部分,POST /api/v1/crawl 会在提供的深度、页面计数和 URL 规则内递归发现链接页面。文档 将 Markdown、HTML、原始数据、PDF、截图和链接列为六种输出类别;产品页面还销售 JSON,但特定领域的 JSON 模式仍需明确的字段映射。保持每个接受的记录与其源 URL 和返回的元数据关联。
在扩展之前测试一个代表性的 JavaScript 密集页面。渲染状态可能取决于时机、地区、同意或已登录的会话。将返回的 HTML 或截图与预期的页面状态进行比较;如果它们不同,请仅调整记录的渲染和等待控件。
如何为 LLM 清理 HTML?
比较清理后的Markdown与代表页面上的渲染HTML,然后自动化已知的URL或限制的网站部分。仅当AI任务所需的结构得以保留时,才接受文档。
方法1:在游乐场中清理一页
步骤1:加载一个代表性的URL
打开 仪表板 → 爬虫游乐场 并输入授权URL。 [截图:URL和渲染控件。]
步骤2:请求两个视图
选择Markdown和HTML,并启用主要内容选项。如果网页在JavaScript执行后加载文本,请使用游乐场中可见的文档等待控件。
步骤3:比较遗漏
检查清理后的输出与源文件。如果表格、代码块或法律注释消失,使用HTML或调整选择,而不是接受简短的Markdown结果。
方法2:通过API请求清理文本
步骤1:设置凭证
将 NSTDATA_API_TOKEN 存储在秘密管理器中,并作为 x-api-key 发送。
步骤2:提交请求
使用下面文档中的抓取快速启动格式。当前文档在其他抓取路径上包含不一致的标签,因此请将路径与游乐场生成的示例进行比较。
在你的shell中从Nstdata账户设置 NSTDATA_API_TOKEN,然后运行文档中的快速启动请求。公共文档对某些其他同步和异步路径的标签不一致;在生产使用前,请比较你账户的游乐场生成的请求。
curl --output crawl-response.json --request POST "https://api.nstdata.io/api/v1/crawl/scrape/submit-sync" \
--header "x-api-key: ${NSTDATA_API_TOKEN}" \
--header "Content-Type: application/json" \
--data '{"url":"https://example.com/","formats":["markdown","html"],"onlyMainContent":true}'
响应被保存到 crawl-response.json。在使用任何返回内容之前,检查嵌套的 data.success、data.status 和 data.data.metadata.statusCode 字段。
步骤3:检查内容质量
要求任务成功,合理的页面状态,一个标题,预期的短语,以及有意义的Markdown。当你需要调试缺失的结构时,保留HTML。
方法3:清理整个有限网站
步骤1:定义范围
在开始之前设置 maxDepth、maxPages 和URL包含/排除规则。
步骤2:收集页面
提交网站爬虫作业并检索每一页,按照分页处理。将每一页视为具有自己URL的单独文档。
对于网站作业,替换示例主机和路径为你批准的范围,然后提交一个有限请求:
curl --output crawl-submit.json --request POST "https://api.nstdata.io/api/v1/crawl" \
--header "x-api-key: ${NSTDATA_API_TOKEN}" \
--header "Content-Type: application/json" \
--data '{"url":"https://example.com/docs/","formats":["markdown"],"maxDepth":2,"maxPages":10,"includeUrls":["*example.com/docs/*"],"excludeUrls":["*example.com/admin/*"],"ignoreQuery":true}'
从 crawl-submit.json 中复制 data.id 作为你的爬虫ID。
步骤3:规范化以供AI使用
去重重复导航,保留标题路径,并在接受后对内容进行分块。将源URL与块一起存储,并将页面文本视为对代理的非可信输入。
方法4:在本地清理静态HTML文件
当浏览器渲染、代理和发现不必要时,最佳用例是你已经拥有的HTML。
步骤1:选择一个代表性文件
将授权的HTML页面保存为 page.html 并记录AI输出必须保留的标题和警告。
步骤2:去除明显的页面装饰
使用 python3 -m pip install beautifulsoup4 安装Beautiful Soup,然后运行:
from bs4 import BeautifulSoup
soup = BeautifulSoup(open("page.html", encoding="utf-8").read(), "html.parser")
main = soup.select_one("main") or soup.body
if main is None:
raise ValueError("No body found")
for node in main.select("script, style, nav, footer, aside"):
node.decompose()
open("clean.txt", "w", encoding="utf-8").write(main.get_text("\n", strip=True))
步骤3:检查被移除的内容
将 clean.txt 与源文件进行比较。这个简单的方法扁平化链接和表格,可能会删除一个有用的 aside;当该结构重要时,请选择管理的Markdown/HTML比较方法。
你如何验证输出?
记录源 URL、提交时间、请求格式、非保密选项、任务 ID(如有)、返回页面状态,以及每个记录通过或未通过审核的原因。检查内容及 API 信封。如果响应包含 markdownRef、htmlRef、rawDataRef、screenshotRef 或 pdfRef,则使用 GET /api/v1/crawl/storage/read?st={ref} 检索该令牌。
为什么 HTML 清理可能会丢失重要文本?
Html-to-llm 文本清理可能失败,因为页面主体没有加载或选择了错误的区域。使用症状表在更改限制或重试之前识别失败层。
| 症状 | 可能原因 | 下一步行动 |
|---|
| 仅显示菜单 | 页面主体未加载或选择了错误区域。 | 检查渲染的 HTML,并等待预期的元素。 |
| 重要文本消失 | 主要内容清理排除了需要的侧边栏或注释。 | 保留 HTML 并调整该模板的选择。 |
| 模型遵循页面指令 | 外部页面内容被视为代理指令。 | 将检索到的内容与系统指令分开,并限制工具权限。 |
Nstdata 的文档列出了任务级错误,如 access_denied、timeout、parse_error 和 internal_error。外部 HTTP 200 仍然可能伴随失败的任务。在响应中检查 success、status、errorCode 和 errorMessage (如有)。仅在您可以访问的网站上重试临时故障。
哪种方法最合适?
在决定 Markdown 和 HTML、已知文档的单页 API,以及链接知识库的网站爬取之间,请选择 Playground。当平坦文本足够时,对静态文件使用本地 HTML 清理。 Nstdata 网站爬取概述 提供了有关网站路径的更多细节。
第一次成功运行后该怎么办?
保存批准的配置和一个源支持的输出记录,然后在一小组不同的页面模板上重复。只有在那些记录通过相同的验收检查后才增加范围。
常见问题:您还需要知道什么?
不够。去除标签会丢失结构边界和链接;选择主要内容并保留所需的语义。
在表格、元数据或调试重要的情况下保留它,受限于您的保留政策。
问:HTML-to-LLM 文本清理需要与 Nstdata Crawl 的独立代理配置吗?
标准的管理爬取请求不需要单独的代理主机、端口、用户名、密码或协议字段。请确认任何可选的自定义代理选择及相关使用费用。
问:HTTP 200 是否证明 HTML-to-LLM 文本清理结果可用?
不。使用前请检查嵌套的任务结果、页面状态、预期字段和主体保真度,然后再在 AI 或数据工作流程中使用。
Oct. 28th 2026
支持 JavaScript 渲染,成功率达 99.8%
将任意网站转换为 Markdown、HTML、JSON、链接、PDF 等格式,无需管理爬取基础设施。