有时候 构造数据集 ,在 网页刮板 添加更多值 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 | 紫色 |