捕获和转换Web的工具

如何填充数据集

有时候 构造数据集 ,在 网页刮板 添加更多值 into一列比另一列。 在下面的示例中,在刮掉第一页后,将John的名称与三种颜色一起添加到“名称”列,在下一页中,将David的名称与其他两种颜色一起添加了。 给出以下数据集。

名字颜色
John黄色
David 红色
绿色
蓝色
紫色

但是,此表具有误导性,因为它没有显示使用哪种颜色找到了哪个名称。 相反, pad 方法可用于将空单元格自动追加到数据集列的末尾,直到所有列的长度相同。 一个例子 pad 使用的方法如下所示。

Data.save(Page.getTagValue({"class":{"equals":"Name"}}), 'Name', 'Color');
Data.save(Page.getTagValues({"class":{"equals":"Color"}}), 'Name', 'Color');
Data.pad();

这些抓取指令将生成如下所示的数据集。

名字颜色
John黄色
红色
绿色
David 蓝色
紫色

我们可以通过指定 padValue 的参数 pad 方法为刮板找到的名称。 如在此示例中,刮刮指令变成每页只有一个名称。

var name = Page.getTagValue({"class":{"equals":"Name"}});
Data.save(name, 'Name', 'Color');
Data.save(Page.getTagValues({"class":{"equals":"Color"}}), 'Name', 'Color');
Data.pad(name);

如下所示,这会在名称列的每个空白单元格中放置一个名称。

名字颜色
John黄色
John红色
John绿色
David 蓝色
David 紫色