Web Scraper:如何使用虚拟列解析器创建自定义数据列
虚拟列(Virtual Column)解析器 是Web Scraper Cloud中的一项功能,允许你使用抓取数据中的某个或多个列,创建一个新的自定义列。虚拟列可以根据原始列中的数据进行组合、格式化,并通过添加正则表达式和替换文本解析器实现更高级的数据处理。虚拟列不会影响源列中的数据,也不会被拖放功能交换位置。
配置选项
- Name:虚拟列的名称,必须唯一。
- Source columns:用于创建虚拟列的源列。可以选择一个或多个列。
- Separator:当选择了多个源列时,使用分隔符将它们的内容分隔开。支持转义序列(如
\n
,\r
,\t
)用于格式化输出。
使用场景
1. 将字段拆分为多个列
有时候,数据如地址信息会在同一个HTML元素中,而无法使用选择器单独抓取不同的字段。此时,可以通过虚拟列解析器结合正则表达式解析器,将字段拆分为多个列。
示例:拆分地址
原始数据:
3879 Angus Road New York, NY 10007
拆分步骤:
- 街道:正则表达式
^[^\n]+
- 城市:正则表达式
\n([^\,]+)
,返回捕获组1 - 州:正则表达式
, ([^\s]+)
,返回捕获组1 - 邮编:正则表达式
\d+$
- 街道:正则表达式
结果:
Street: 3879 Angus Road City: New York State: NY ZIP Code: 10007
通过这种方式,可以将地址中的不同部分分开,便于后续的分析和处理。
2. 创建带有默认值的列
虚拟列解析器还可以用于生成带有默认值的列。例如,如果某些数据缺少特定的字段,可以通过创建虚拟列并结合“替换文本”解析器,自动填充一个默认值。
步骤:
创建虚拟列:点击“+ Add column”按钮,选择一个源列并为虚拟列命名。
配置替换文本解析器
:
- Text to replace:
[\s\S]+
- Text to place:
your default value
- Use Regex:勾选
- Text to replace:
结果:所有相关字段将被填充默认值。
示例:
- 原始数据:
(空)
- 结果:
your default value
3. 合并多列数据
如果你需要将多个列的数据合并为一个,可以通过虚拟列解析器实现。例如,将产品名称和价格合并到一个列中。
示例:
原始数据:
product-name | price Widget A | $19.99
结果:
product-details Widget A - $19.99
在此示例中,虚拟列通过将product-name
和price
列合并,并用连字符分隔,创建了一个新的列。
使用虚拟列解析器的好处
- 增强数据灵活性:通过组合多个列的数据,虚拟列可以帮助你更灵活地管理和处理抓取的数据。
- 简化数据清洗:虚拟列可以将复杂数据拆分为更易于分析的部分,或为缺失的字段填充默认值,减少手动处理的工作量。
- 提高数据结构的清晰度:通过虚拟列合并相关的数据,避免了多列数据的冗余,使数据结构更加简洁。
示例用法
1. 合并产品名称和价格
通过虚拟列解析器,将抓取到的产品名称和价格合并为一个新的列。
原始数据:
product-name | price Widget A | $19.99 Widget B | $24.99
结果:
product-details Widget A - $19.99 Widget B - $24.99
2. 为缺失字段填充默认值
如果某些字段为空,使用虚拟列解析器为其添加默认值。
- 原始数据:
(空)
- 结果:
Not Available
最后感受
虚拟列解析器 是Web Scraper中非常强大的工具,允许你通过抓取的数据创建自定义的虚拟列,帮助你更加灵活地管理和处理数据。无论是拆分地址信息、合并多列数据,还是为缺失字段填充默认值,虚拟列解析器都可以极大地简化数据清洗和处理的流程。
如果你想让数据更具灵活性,减少手动清理的工作量,Web Scraper的虚拟列解析器无疑是你最佳的选择!