A veces cuando construir un conjunto de datos en el capítulo respecto a la Raspador web se agregan más valores into una columna que otra. En el siguiente ejemplo, después de que se raspa la primera página, se agrega el nombre John a la columna Nombre junto con tres colores y en la página siguiente se agrega el nombre David junto con otros dos colores. Para dar el siguiente conjunto de datos.
Nombre | Color |
---|---|
Juan | Amarillo |
David | Red |
Verde | |
Azul | |
Morado |
Sin embargo, esta tabla es engañosa ya que no muestra qué nombre se encontró con qué colores. En cambio el pad
El método se puede utilizar para agregar automáticamente celdas vacías al final de las columnas del conjunto de datos hasta que todas las columnas tengan la misma longitud. Un ejemplo de la pad
El método utilizado se muestra a continuación.
Data.save(Page.getTagValue({"class":{"equals":"Name"}}), 'Name', 'Color'); Data.save(Page.getTagValues({"class":{"equals":"Color"}}), 'Name', 'Color'); Data.pad();
Estas instrucciones de raspado producen un conjunto de datos que se ve así.
Nombre | Color |
---|---|
Juan | Amarillo |
Red | |
Verde | |
David | Azul |
Morado |
Podríamos mejorar esto aún más especificando el padValue
parámetro de la pad
método para ser el nombre encontrado por el raspador. Como en este ejemplo, solo hay un nombre por página en el que se convierten las instrucciones de raspado.
var name = Page.getTagValue({"class":{"equals":"Name"}}); Data.save(name, 'Name', 'Color'); Data.save(Page.getTagValues({"class":{"equals":"Color"}}), 'Name', 'Color'); Data.pad(name);
Lo que pone un nombre en cada celda vacía de la columna de nombre como se muestra a continuación.
Nombre | Color |
---|---|
Juan | Amarillo |
Juan | Red |
Juan | Verde |
David | Azul |
David | Morado |