Às vezes quando construindo um conjunto de dados no Raspador da Web mais valores são adicionados into uma coluna que outra. No exemplo abaixo, após a raspagem da primeira página, o nome John é adicionado à coluna Nome juntamente com três cores e, na página seguinte, o nome David é adicionado juntamente com outras duas cores. Para fornecer o seguinte conjunto de dados.
Nome | Cor |
---|---|
banheiro | Amarelo |
David | Vermelho |
Verde | |
Azul | |
Roxa |
No entanto, esta tabela é enganosa, pois não mostra qual nome foi encontrado com quais cores. Em vez disso, o pad
O método pode ser usado para anexar automaticamente células vazias ao final das colunas do conjunto de dados até que todas as colunas tenham o mesmo comprimento. Um exemplo do pad
O método usado é mostrado abaixo.
Data.save(Page.getTagValue({"class":{"equals":"Name"}}), 'Name', 'Color'); Data.save(Page.getTagValues({"class":{"equals":"Color"}}), 'Name', 'Color'); Data.pad();
Essas instruções de raspar produzem um conjunto de dados parecido com este.
Nome | Cor |
---|---|
banheiro | Amarelo |
Vermelho | |
Verde | |
David | Azul |
Roxa |
Poderíamos melhorar ainda mais especificando o padValue
parâmetro do pad
método para ser o nome encontrado pelo raspador. Como neste exemplo, existe apenas um nome por página que as instruções de raspar se tornam.
var name = Page.getTagValue({"class":{"equals":"Name"}}); Data.save(name, 'Name', 'Color'); Data.save(Page.getTagValues({"class":{"equals":"Color"}}), 'Name', 'Color'); Data.pad(name);
O que coloca um nome em todas as células vazias da coluna de nome, como mostrado abaixo.
Nome | Cor |
---|---|
banheiro | Amarelo |
banheiro | Vermelho |
banheiro | Verde |
David | Azul |
David | Roxa |