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. 保留所有权利。 Web Page to PDF API: 渲染和验证指南Marcus ChenProduct & Network Architect
以编程方式将网页转换为PDF
TL;DR
- 程序化的网络到PDF转换需要渲染的页面状态和视觉接受检查。
- 请求已知页面的
pdf,然后在工件单独存储时检索pdfRef。
- 成功的API封装并不能证明PDF已加载文本、正确的页面换行或预期的状态。
- 当打印CSS或应用程序状态需要精确控制时,请使用受控的本地浏览器。
- Nstdata Crawl处理JavaScript渲染和代理路由在管理请求中;其文档列出了六个输出类别:Markdown、HTML、原始数据、PDF、截图和链接。
什么是网站到PDF的API?
网站到PDF的API在类浏览器环境中加载URL,并创建 resulting 页面 的PDF表示。这对记录、审查或分享稳定的视觉快照很有用。PDF并不自动是一个可靠的档案:懒惰的内容、打印样式、Cookie对话框、破损的字体和页面换行都可能改变所显示的内容。首先定义预期的视口、内容和完成条件。
Nstdata Crawl可以将URL或一组有限的链接页面转换为AI代理、RAG索引或数据管道的材料。为特定结果使用自己的字段规则和接受检查:渲染一个授权的网页为可检索的PDF,并具有正确的页面状态。Nstdata全站爬取指南解释了站点级选项。
免费试用Nstdata →
对于这里涵盖的更狭窄的任务,Nstdata自动化数据收集指南提供了选择第一个代表页面的有用背景。
开始之前需要什么?
选择一个授权的URL,并列出必须出现在PDF中的可见元素:标题、日期、表格、图表或页脚。决定目标的打印样式表是否可接受,或者是否需要特定浏览器的捕获。在生成多个PDF之前,服务器端存储NSTDATA_API_TOKEN。计划文件名、保留期限和源URL记录。
Crawl API文档使用https://api.nstdata.io、x-api-key头部和Content-Type: application/json。在运行一个方法之前准备这些字段:
| 字段 | 提供内容 |
|---|
url | 一个允许的HTTPS页面或站点入口URL |
|
请求的输出,例如["markdown"]或["html","screenshot"] |
onlyMainContent | 只有在主要内容选择适合任务时为true |
maxDepth, maxPages | 站点范围作业的明确边界 |
includeUrls, excludeUrls | 在范围内保持发现的URL模式 |
timeout | 任务超时以毫秒为单位,当默认设置不合适时 |
标准的托管请求没有单独的代理主机、端口、用户名、密码或协议字段。在运行大型作业之前,请检查当前Crawl定价页面以了解账户限制和费用。
审查目标的访问策略和范围。[机器人排除协议]定义了爬虫如何读取机器人规则;它并不授予内容使用权。不要在示例和诊断日志中包含凭据和私人数据。
网络到PDF渲染是如何工作的?
Nstdata Crawl支持浏览器渲染和PDF输出。请求可以返回一个pdfRef令牌,而不是内联PDF字节;通过文档化的存储读取端点获取该令牌。同样的服务可以返回截图或HTML,以帮助诊断坏PDF。代理路由在标准请求中由Crawl内部管理,因此没有单独的代理主机、端口、用户名或密码需要填写。
对于已知URL,单页面抓取检索一个结果。对于站点部分,POST /api/v1/crawl在提供的深度、页面计数和URL规则内递归发现链接页面。文档列出了Markdown、HTML、原始数据、PDF、截图和链接作为六个输出类别;产品页面也推广JSON,但特定域的JSON架构仍需明确的字段映射。保持每个接受的记录与其源URL和返回的元数据相关联。
测试一个具有代表性的JavaScript重度页面,然后再进行扩展。渲染状态可能取决于时间、地区、同意或已登录的会话。比较返回的HTML或截图与预期的页面状态;如果它们不同,仅调整记录的渲染和等待控制。
如何以编程方式将网页转换为PDF?
预览一个具有代表性的PDF,自动化管理PDF请求,或用本地浏览器渲染您控制的页面。根据访问、打印布局和您需要多少渲染控制来选择路线。
方法1:在爬虫游乐场中预览PDF
步骤1:打开目标
登录并导航至 仪表板 → 爬虫游乐场。输入授权的URL。 [截图:URL和PDF输出选择。]
步骤2:选择PDF和等待条件
选择PDF输出,如有需要,启用渲染,并配置文档化的等待以处理延迟加载内容。如果可视状态不确定,则保留截图输出进行比较。
步骤3:检查文件
打开返回的PDF。检查分页、标题、表格、字体以及自动转换前最后可见的部分。
方法2:通过爬虫API生成PDF
步骤1:保护API密钥
将 NSTDATA_API_TOKEN 保持在服务器端秘密,并作为 x-api-key 发送。
步骤2:请求PDF
使用下面记录的快速启动抓取形状与 formats: ["pdf"]。在生产之前比较Playground中生成的请求,因为文档中的其他抓取路线标签冲突。
从您的Nstdata账户在您的shell中设置 NSTDATA_API_TOKEN,然后运行记录的快速启动请求。公共文档不一致地标记其他一些同步和异步路线;在生产使用之前比较您账户的Playground生成的请求。
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":["pdf"]}'
响应保存在 crawl-response.json 中。在使用任何返回的内容之前,检查嵌套的 data.success、data.status 和 data.data.metadata.statusCode 字段。
步骤3:检索工件
检查任务成功并使用返回的 pdfRef 与 GET /api/v1/crawl/storage/read?st={ref}。仅在确认响应是实际的PDF工件后,才将字节保存为PDF。
从 crawl-response.json 中读取 pdfRef 后,使用记录的存储终端检索PDF。将占位符令牌替换为确切的返回值:
curl --get --fail --location --header "x-api-key: ${NSTDATA_API_TOKEN}" --data-urlencode "st=<pdfRef>" "https://api.nstdata.io/api/v1/crawl/storage/read" --output page.pdf
file page.pdf
file 结果应该识别为PDF。打开文件并检查其第一页和最后一页、分页、文本选择以及任何重要的表格。如果终端返回的是内联字节而不是 pdfRef,则根据返回的响应类型保存这些字节。
方法3:为您控制的页面使用本地浏览器
在页面已经在您的应用程序中可用并且您需要精确的打印CSS时最佳。
步骤1:在安装的浏览器自动化运行时加载页面
使用可信的本地环境和您控制的页面;避免将身份验证cookie复制到第三方服务中。
步骤2:等待所需内容
选择一个稳定的选择器或应用准备就绪的信号,而不是盲目延迟。
步骤3:导出并比较
调用浏览器的PDF功能,然后检查分页和文本。本地渲染意味着您自己维护浏览器运行时、访问规则和重试。
如何验证输出?
成功的PDF请求生成一个可读文件,包含预期的页面内容,而不仅仅是成功的JSON信封。验证PDF签名、页面计数、第一页和最后一页,以及任何关键表格或日期。 Playwright PDF文档 解释了本地浏览器的替代方案及其打印媒体行为。Nstdata的 自动化数据收集指南 描述了PDF作为可用的爬虫工件。
Nstdata全站爬虫指南 将此页面级检查与下游AI或数据工作流程连接起来。
记录源URL、提交时间、请求格式、非秘密选项、任务ID(如有)、返回页面状态,以及每条记录通过或未通过审查的原因。检查内容以及API封装。如果响应包含markdownRef、htmlRef、rawDataRef、screenshotRef或pdfRef,请使用GET /api/v1/crawl/storage/read?st={ref}检索该令牌。
为什么网页PDF可能看起来不完整?
Web到pdf的转换可能会失败,因为页面在懒加载内容之前被捕获。使用症状表格识别失败的层,然后再更改限制或重试。
| 空白或部分PDF | 页面在懒加载内容之前被捕获。 | 等待特定元素并比较截图。 |
| 意外的页面换行 | 打印CSS或边距更改布局。 | 检查目标的打印样式或使用受控的本地浏览器。 |
| 仅返回参考令牌 | 大的文档单独存储。 | 通过存储读取路径获取返回的pdfRef。 |
Nstdata的文档列出了任务级错误,如access_denied、timeout、parse_error和internal_error。外层HTTP 200仍然可能伴随失败的任务。检查响应内部的success、status、errorCode和errorMessage(如有)。仅在您可以访问的网站上重试临时失败。
哪种方法最适合?
使用Playground进行快速视觉试验,使用Crawl API进行可重复的远程捕获,或者使用本地浏览器捕获您控制的页面并需要精确的打印样式。在每种情况下检查生成的PDF文件。Nstdata网站爬取概述提供了有关网站路由的更多细节。
第一次成功运行后您应该做什么?
保存批准的配置和一个源支持的输出记录,然后在一小组不同的页面模板上重复此过程。仅在这些记录通过同样的接受检查后才扩大范围。
常见问题:您还应该知道什么?
较大的PDF可能作为pdfRef返回;通过文档存储端点检索该令牌。
不一定。打印CSS、视口、字体和加载时间可能会改变结果;检查代表性文件。
仅在您拥有权限和支持的身份验证工作流程时;将会话和凭据保存在批准的秘密存储中。
问:使用Nstdata Crawl进行Web到PDF转换是否需要单独的代理配置?
标准的管理Crawl请求不需要单独的代理主机、端口、用户名、密码或协议字段。确认您帐户中任何可选的自定义代理选择和相关使用费用。
问:HTTP 200证实Web到PDF转换结果是可用的吗?
不是。在将其用于AI或数据工作流程之前,检查嵌套任务结果、页面状态、预期字段和主体的完整性。
Oct. 28th 2026
支持 JavaScript 渲染,成功率达 99.8%
将任意网站转换为 Markdown、HTML、JSON、链接、PDF 等格式,无需管理爬取基础设施。