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. 保留所有权利。
网站元数据提取:开放图谱审计指南
Lena Zhou Growth & Integration Specialist
提取元数据和开放图谱标签的规模 TL;DR
元数据提取需要页面级响应元数据和显式的 HTML 标签解析。
Open Graph 属性是 HTML 元标签;仅有的爬虫响应标题无法提供每个 OG 字段。
在审计中保留文档头、重复的 og:image 值、最终 URL 和规范 URL。
解析相对图像 URL,并标记缺失或冲突的字段,而不是猜测值。
Nstdata Crawl 处理 JavaScript 渲染和代理路由;其文档列出了六个输出分类:Markdown、HTML、原始数据、PDF、截图和链接。
你应该提取哪些网站元数据?
网站元数据包括文档标题、描述、语言、规范 URL 和可选的社交预览标签,如 og:title、og:description、og:image 和 og:url。Crawl 的响应元数据可以描述获取的页面,但 Open Graph 字段位于 HTML <meta> 元素中,需要显式解析,除非已记录的端点公开它们。保留原始标签值和最终 URL,以便后续审计时区分缺失的标签与解析失败。
Nstdata Crawl 可以将 URL 或有限的一组链接页面转化为 AI 代理、RAG 索引或数据管道的材料。根据特定结果使用自己的字段规则和接受检查:从有限的一组页面收集页面标题、描述、规范 URL 和 Open Graph 字段。Nstdata 全站爬虫指南 解释了站点级别的选项。
在这里覆盖的狭义任务中,Nstdata 网站爬虫指南 为选择第一个代表页面提供了有用的背景信息。
开始之前你需要准备什么?
在扫描网站之前定义字段和重复处理规则。记录你是否需要初始 URL、最终 URL、规范 URL 或 og:url;它们可能不同。决定如何处理多个 og:image 值、相对图像 URL、空描述和本地化页面。只使用公共或授权页面、有限的 URL 范围和用于托管收集的服务器端 Nstdata 密钥。
Crawl API 文档 使用 https://api.nstdata.io、x-api-key 头以及 Content-Type: application/json。在运行方法之前准备以下字段:
url
formats请求的输出,如 ["markdown"] 或 ["html","screenshot"]
onlyMainContent仅在主要标记选择适合任务时为 true
maxDepth, maxPages网站范围任务的明确限制
includeUrls, excludeUrls保持发现范围内的 URL 模式
timeout当默认值不合适时的任务超时时间(毫秒)
标准托管请求没有单独的代理 Host、Port、Username、Password 或 Protocol 字段。在运行大型任务之前,检查 当前爬虫定价页面 中的帐户限制和费用。
审查目标的访问政策和范围。爬虫排除协议 定义了爬虫如何读取机器人规则;它不授予内容使用权。确保示例和诊断日志中不含凭据和私人数据。
Open Graph 标签是如何存储在页面上的? Open Graph 属性存储在 HTML 元素中,如 meta[property="og:title"],通常位于文档头中。Nstdata Crawl 可以检索单个页面或一个有限的网站,在需要时渲染 JavaScript,并返回带有页面元数据的 HTML。使用 API 进行获取,然后解析文档头或返回的 HTML 以获取 Open Graph 和规范元素。该服务的托管代理路由在标准请求中不需要单独的代理 Host、Port、Username 或 Password。网站爬虫可以发现许多页面,但应用程序仍然映射和验证每个标签。
对于已知URL,单页面抓取返回一个结果。对于网站部分,POST /api/v1/crawl在提供的深度、页面计数和URL规则内递归发现链接页面。文档 将Markdown、HTML、原始数据、PDF、截图和链接列为六个输出类别;产品页面还宣传JSON,但特定域的JSON模式仍需显式字段映射。保持每个接受的记录与其源URL和返回的元数据关联。
在扩展之前测试一个具有代表性的JavaScript重页面。呈现状态可以依赖于时机、区域、同意或登录会话。比较返回的HTML或截图与预期页面状态;如果它们不同,仅调整记录的呈现和等待控制。
如何提取网站元数据和Open Graph标签? 检查一个页面头部,检索所需的HTML表示,并在有限的网站上扩展相同的字段映射。将响应元数据与从页面解析出的标签分开保留。
方法1:在Playground中检查一个页面 最佳用于确认所需标签是否保留在所选的HTML输出中。
第1步:打开一个代表页面 导航到仪表板 → 抓取Playground 并输入授权的URL。[截图:URL和HTML输出控件。]
第2步:请求HTML和元数据 选择HTML输出并运行页面抓取。检查返回的标题和语言字段,然后检查HTML是否包含meta[property="og:title"]和一个规范链接。
第3步:记录字段映射 记下每个输出键的确切标签或响应字段。如果已清理的HTML移除了文档头标签,请在当前Playground或其他批准的源表示中选择原始数据模式。
方法2:通过API获取HTML
第1步:保护凭据 将NSTDATA_API_TOKEN存储在服务器端,并作为x-api-key发送。
第2步:获取一个代表页面 使用下面文档中的抓取快速启动请求。当前文档的抓取路径标签在其他地方存在冲突,因此请验证从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":["html"]}'
响应保存到crawl-response.json。在使用任何返回的内容之前,检查嵌套的data.success、data.status和data.data.metadata.statusCode字段。
第3步:解析和验证标签 读取HTML或返回的工件引用,解析meta[property]、meta[name]和link[rel=canonical],然后对最终页面URL解析相对URL。区分缺失标签和空捕获。
保存一个包含文档头的表示为page.html;如果清理后的HTML省略了它,请检索返回的原始数据引用。这个解析器保持重复的Open Graph值而不是覆盖它们:
from bs4 import BeautifulSoup
from urllib . parse import urljoin
import json
source_url = "https://example.com/page" # 用返回的最终URL替换
soup = BeautifulSoup ( open ( "page.html" , encoding = "utf-8" ) . read ( ) , "html.parser" )
head = soup . head
if head is None :
raise ValueError ( "没有文档头;请求原始页面数据" )
tags = { }
for tag in head . select ( "meta[property], meta[name]" ) :
key = tag . get ( "property" ) or tag . get ( "name" )
tags . setdefault ( key . lower ( ) , [ ] ) . append ( tag . get ( "content" , "" ) )
canonical = head . select_one ( 'link[rel="canonical"]' )
record = {
"source_url" : source_url ,
"title" : soup . title . get_text ( " " , strip = True ) if soup . title else None ,
"description" : tags . get ( "description" , [ None ] ) [ 0 ] ,
"canonical" : urljoin ( source_url , canonical . get ( "href" ) ) if canonical else None ,
"open_graph" : { k : [ urljoin ( source_url , v ) if k in { "og:image" , "og:url" } else v for v in vals ]
for k , vals in tags . items ( ) if k . startswith ( "og:" ) } ,
}
print ( json . dumps ( record , ensure_ascii = False , indent = 2 ) )
使用python3 -m pip install beautifulsoup4安装Beautiful Soup。比较title、canonical、og:title和og:url与实时页面;缺失的键仍然缺失,而不是从正文文本猜测。
方法3:审计一个有限的网站
第1步:设定网站边界 选择maxDepth、maxPages和包含/排除公共部分的规则。
第2步:收集每个页面记录 提交网站爬取,轮询作业,并使用返回的游标检索所有结果页面。
对于网站作业,将示例主机和路径替换为您的批准范围,然后提交限定请求:
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":["html"],"maxDepth":2,"maxPages":10,"includeUrls":["*example.com/docs/*"],"excludeUrls":["*example.com/admin/*"],"ignoreQuery":true}'
从 crawl-submit.json 复制 data.id 作为您的爬取 ID。
第 3 步:导出审核表 为每个规范页面编写一行,包括源 URL、HTTP 状态、标题、描述、Open Graph 字段和验证标志。请审查重复和不匹配的项,而不是静默选择一个标签。
方法 4:在没有爬取的情况下检查静态页面的元数据 适用于少数公共页面,当它们的原始 HTML 已包含社交标签时。
第 1 步:下载授权的 HTML 使用批准的浏览器或 HTTP 客户端将页面保存为 page.html。确认保存的文件包含文档头和预期的 og: 标签。
第 2 步:运行标签解析器 在方法 2 中对 page.html 运行 Python 解析器,将 source_url 设置为实际下载的最终 URL。保留重复的标签值而不是覆盖它们。
第 3 步:比较实时预览字段 检查标题、规范 URL、og:title、og:url 和图像目标与页面的匹配。静态 HTML 可能与 JavaScript 修改的文档头不同,因此对于此类网站,请使用渲染的捕获。
如何验证输出? 良好的元数据记录反映实际文档头,并保持确切的源和最终 URL。比较 og:title 和文档标题,验证图像 URL 解析,并标记规范/OG URL 冲突以供审查。Open Graph 协议 定义其核心属性;不要根据页面主体文本推断缺失的属性。Nstdata SEO 爬取指南 有助于设置更大范围的审核。
记录源 URL、提交时间、请求的格式、非机密选项、任务 ID(如存在)、返回页面状态以及每个记录通过或未通过审核的原因。检查内容以及 API 封装。如果响应包含 markdownRef、htmlRef、rawDataRef、screenshotRef 或 pdfRef,请使用 GET /api/v1/crawl/storage/read?st={ref} 检索该令牌。
为什么可能缺失元数据或 Open Graph 标签? 网站元数据提取可能失败,因为清理后的 HTML 可能省略文档头。使用症状表来识别失败层,然后再更改限制或重试。
症状 可能原因 下一步行动 缺少 OG 标签 清理后的 HTML 可能省略文档头。 在声明标签缺失之前,检查原始页面数据或其他源表示。 图像 URL 无法打开 页面使用相对 URL 或格式错误的值。 针对最终 URL 进行解析并测试目标。 许多页面共享一个标题 模板、重定向或同意页面可能已被捕获。 在接受记录之前比较状态、最终 URL 和屏幕快照。
Nstdata 的文档列出了任务级错误,如 access_denied、timeout、parse_error 和 internal_error。即使外部 HTTP 200 也可能伴随失败的任务。检查响应中存在的 success、status、errorCode 和 errorMessage。仅在您可以访问的网站上重试瞬态故障。
哪种方法最合适? 使用 Playground 确认文档头是否存在,使用 API 获取已知页面,或针对许多链接页面执行限量网站爬取。当渲染和管理路由不必要时,在本地解析静态 HTML。Nstdata 网站爬取概述 提供了更多关于站点路由的详细信息。
第一次成功运行后应该做什么? 保存批准的配置和一个源支持的输出记录,然后在一小组不同的页面模板上重复执行。在这些记录通过相同的接受检查后再扩大范围。
FAQ: 你还应该知道什么? 可见的文档确认页面元数据,例如标题和状态,但不建立专用的 OG 字段。解析相关的 HTML 标签并验证它们。
问:我应该使用 og:url 还是规范 URL 作为记录 ID?
保留这两个值并定义你的规范化策略;标记不一致的情况以供审核。
可以。当标签行为对你的审核很重要时,请检查呈现的 DOM 和原始响应。
问:网站元数据提取是否需要单独的代理配置与 Nstdata Crawl?
标准管理的 Crawl 请求不需要单独的代理主机、端口、用户名、密码或协议字段。请确认你的账户中任何可选的自定义代理选择及相关的使用费用。
问:HTTP 200 是否证明网站元数据提取结果是可用的?
不。使用之前请检查嵌套任务结果、页面状态、预期字段和正文的保真度。
Oct. 28th 2026
立即访问住宅、数据中心、IPv6 与 ISP 高质量代理池。 创建免费账号并立即试用 ->