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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
$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 "</SPAN> <SPAN ","</SPAN>|<SPAN " -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 |