Productos analizados:
- Bollería y pastelería
- Leche
- Galletas
- Zumo de naranja
- Zumo de melocotón
- Zumo de mosto
Importante
- VALOR NUTRICIONAL MEDIO POR 100 (Columna Valor).
- ALGUNOS PRODUCTOS PUEDEN TENER CANTIDAD 0 DE AZÚCAR PORQUE EL SUPERMERCADO NO HA INDICADO LA CANTIDAD EN LA INFORMACIÓN ADICIONAL DEL PRODUCTO.
Cantidad de azúcar que tiene la bollería y pastelería
https://www.alcampo.es/compra-online/alimentacion/desayuno-y-merienda/bolleria-y-pasteleria/c/W1011
Cantidad de azúcar que tienen las galletas
https://www.alcampo.es/compra-online/alimentacion/desayuno-y-merienda/galletas/c/W100805
Cantidad de azúcar que tiene la leche
https://www.alcampo.es/compra-online/alimentacion/huevos-leche-yogures-y-lacteos/leche/c/W1603
Cantidad de azúcar que tienen los zumos de melocotón
https://www.alcampo.es/compra-online/bebidas/zumos-de-frutas/melocoton/c/W110202
Cantidad de azúcar que tienen los zumos de mosto
https://www.alcampo.es/compra-online/bebidas/zumos-de-frutas/mosto/c/W110208
Cantidad de azúcar que tienen los zumos de naranja
https://www.alcampo.es/compra-online/bebidas/zumos-de-frutas/naranja/c/W110201
El código genérico que se ha utilizado para realizar el cálculo es:
$productosconurl = @{}
$web = Invoke-WebRequest "https://www.alcampo.es/compra-online/bebidas/zumos-de-frutas/naranja/c/W110201?q=%3Arelevance&show=All"
foreach($link in ($web.links.href | Group-Object).name){
if ($link -match "compra-online/bebidas/zumos-de-frutas/naranja" -and $link -notmatch "/c/")
{
$urlsanalizar = "https://www.alcampo.es$link"
$urlsanalizar
$web = Invoke-WebRequest $urlsanalizar
# Datos nutricionales del producto
$productos = @{}
# Extraer los valores nutricionales del producto
($web.AllElements | Where Class -eq "productNutritionalInformation valoresNutricionalesTabla").innerHtml | %{
($_ -replace " |" -replace " g" -replace " Kj" -replace " Kcal" -split "`n" | ? {$_.trim() -ne ""} | ? {$_.trim() -notmatch "nutricionales"}).trim()
} | %{$productos.add($_.split("|")[0],$_.split("|")[1])}
$pesos = ($web.AllElements | Where Class -eq "productNutritionalInformation valoresNutricionalesTabla tablaInformacionAdicional").innerText | %{
($_ -replace "<.*?>" -split "`n" | ? {$_.trim() -ne ""}).trim() -replace "g"
}
$nombre = ($web.AllElements | Where Class -eq "productDesc").innerText | %{
$_
}
# Añadir los valores nutricionales del producto a la estructura
0..$pesos.Count | % {if($_%2-eq 0 -and $_ -lt 19){$productos.add($pesos[$_],$pesos[$_+1])}}
# Calcular el valor nutricional en función de la cantidad del alimento consumido
$comidacantidad = 100
$productos.'Peso neto escurrido'
$productos.Add('Valor energético(Kcal) Neto',($productos.'Valor energético(Kcal)' / $productos.'Peso Neto')*$comidacantidad)
$productos.Add('Hidatos de carbono Neto',($productos.'Hidratos de carbono' / $productos.'Peso Neto')*$comidacantidad)
$productos.Add('Grasas Netas',($productos.Grasas / $productos.'Peso Neto')*$comidacantidad)
$productos.Add('Grasas saturadas Netas',($productos.'Grasas saturadas' / $productos.'Peso Neto')*$comidacantidad)
$productos.Add('Azúcares Netos',($productos.Azúcares / $productos.'Peso Neto')*$comidacantidad)
$productos.Add('Proteínas Netas',($productos.Proteínas / $productos.'Peso Neto')*$comidacantidad)
# Mostrar la estructura con los valores nutricionales
$productos.GetEnumerator() | sort -Property name
$productosconurl.Add($nombre,$productos.Azúcares)
}
}
$productosconurl.GetEnumerator() | Select-Object Key,@{n='Valor';e={[Double]($_.Value)}} | Out-GridView