- 输入架构定义一次采集运行接受的字段,例如
url、keyword、country、date,或你的交互代码从input读取的任何自定义字段。 - 输出架构定义抓取器返回的结构化字段,基于
collect()发出的数据。
什么是输入架构?
输入架构定义了你的抓取器在运行时可以接收的值。 抓取器通常使用url 输入,但输入并不局限于 URL。根据采集器逻辑,输入可以是关键词、位置、日期、ID、国家或任何自定义参数。
你的交互代码通过 input 对象读取输入值:
定义输入参数
要在 Bright Data Scraper Studio IDE 中定义输入架构:- 在 Scraper Studio IDE 中打开你的采集器。
- 前往 Code 选项卡。
- 点击 Add input parameter。
- 输入字段名称,例如
url、keyword、country或date。 - 添加可选的说明。
- 选择字段类型。
- 如果采集器缺少该字段就无法运行,则将其标记为 Required。
- 点击 Save。
- 当采集器就绪后,点击 Save to Production。
输入参数有哪些设置?
采集输入是什么样的?
基于 URL 的采集器可以接受一个或多个 URL:什么是输出架构?
输出架构定义了数据点的结构以及数据的组织方式。 在 Bright Data Scraper Studio IDE 中,输出架构通常由传递给collect() 的对象生成。
更新输出架构
有两种方式更新输出架构:从解析器代码自动更新,或在架构编辑器中手动更新。自动更新架构
- 在解析器代码中添加或更改字段。
- 运行预览,确认必填字段按预期返回。
- 点击 Save to Production。
- 如果 Scraper Studio 检测到架构更改,点击 Update schema。
- 再次点击 Save to Production。
手动更新架构
- 点击 IDE 中的 Edit schema。
- 按名称和类型添加或编辑字段。
- 配置必填标记、默认值、格式化、验证或 PII 设置。
- 保存架构。
- 点击 Save to Production。
什么是输出架构编辑器(Output Schema Editor)?
输出架构编辑器精确定义了你的采集器返回哪些字段,以及每个字段如何验证、格式化和交付。 编辑器有两种视图:
点击某个字段行会打开该字段的配置侧面板。
输出架构是如何构建的?
输出架构是一个 JSON 对象,包含顶层的type 和一个 fields 对象:
输出字段可以有哪些属性?
这些属性适用于用户定义的输出字段。在侧面板中配置字段
侧面板包含针对特定字段的设置。有哪些可用的默认值?
可用的默认值取决于字段类型。有哪些可用的输出字段类型?
Scraper Studio 支持以下用户定义的输出字段类型。text
自由格式文本。
number
整数或小数。数字字符串可以转换为数字。
url
URL 字符串。仅接受 http:// 和 https:// URL。
price
以数值和货币代码表示的货币值。
boolean
true/false 值。
date
日期或时间戳值。
区域格式化可以包括:
- 区域设置,例如
en-US、fr-FR、ru-RU - 日期样式:
long、medium、short - 时间样式:
long、medium、short
country
两个字母的 ISO 3166-1 alpha-2 国家代码。
phone
解析为结构化组件的电话号码。
image
已下载或被引用的图片。
video、pdf 和 doc
这些文件类型使用与 image 相同的下载和行为设置。
文件字段输出选项
对于已下载的文件字段,例如image、video、pdf 和 doc,输出架构编辑器允许你控制文件元数据的返回方式。
这些设置在字段行为设置为 Object 时出现。
Behavior
使用 Behavior 选择文件字段的返回方式。- Simple — 仅返回已下载的文件路径或原始远程 URL。
- Object — 返回一个包含文件元数据的对象,例如
file_path、remote_url、content_type、file_size和response_headers,具体取决于启用了哪些选项。
Include content type
启用 Include content type 以在输出中包含文件的 MIME 类型。 示例:Include file size
启用 Include file size 以包含以字节为单位的已下载文件大小。 示例:Include response headers
启用 Include response headers 以包含 Scraper Studio 下载文件时收到的 HTTP 响应头。 示例:示例输出
当 Behavior 设置为 Object 且所有元数据选项都启用时,输出可能如下所示:array
有序的值列表。元素类型通过 items 定义。
嵌套对象的数组:
object
带有自身子字段的嵌套对象。
有哪些可用的 HTML 转换字段类型?
示例:
如何验证字段值?
自定义验证让你定义在字段的每个采集值上运行的 JavaScript 规则。 抛出错误可将该值标记为无效:如何格式化字段值?
自定义格式化让你在输出交付之前转换字段值。我应该在什么时候使用 collect() 而不是 set_lines()?
记录的发出方式会影响输出数据集。
使用
collect() 的示例:
set_lines() 的示例:
我可以添加哪些系统字段?
系统字段由 Scraper Studio 生成。它们的名称和类型是固定的。你可以在输出架构配置的 Additional data 下打开或关闭它们。
当
screenshot、html 或 warc 处于活动状态时,文件会下载到已配置的存储目标。
如何添加截图水印?
当启用screenshot 系统字段时,可以为截图添加水印。每个水印项都有一个标签和一个数据源。
完整的输出架构是什么样的?
相关内容
开发抓取器
在 IDE 中构建抓取器的分步演练
函数参考
带有参数和示例的交互与解析器函数
发起采集与交付
触发采集并将输出交付到你的目标
触发抓取器(API)
通过 API 运行已发布的采集器进行批量采集