有時候 構建數據集 在 網頁刮板 添加更多值 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
method 是抓取工具找到的名稱。 在此示例中,抓取指令的每頁只有一個名稱。
var name = Page.getTagValue({"class":{"equals":"Name"}}); Data.save(name, 'Name', 'Color'); Data.save(Page.getTagValues({"class":{"equals":"Color"}}), 'Name', 'Color'); Data.pad(name);
這會在名稱列的每個空單元格中放置一個名稱,如下所示。
姓名 | 顏色 |
---|---|
約翰福音 | 黃 |
約翰福音 | 紅 |
約翰福音 | 湖水綠 |
大衛 | 藍色 |
大衛 | 風信紫 |