捕获和转换Web的工具

如何填充数据集

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

姓名颜色
约翰黄色
大卫
绿色环保
蓝色
紫色

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

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

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

姓名颜色
约翰黄色
绿色环保
大卫蓝色
紫色

我们可以通过指定 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);

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

姓名颜色
约翰黄色
约翰
约翰绿色环保
大卫蓝色
大卫紫色