# Buscar el producto sobre el que calcular el valor nutricional
$enlaces = Invoke-WebRequest "https://www.alcampo.es/compra-online/search/?text=macarrones+gallo"
# Seleccionar el primer producto de la lista y calcular con dicho producto el valor nutricional
$web = Invoke-WebRequest ("https://www.alcampo.es/" + (($enlaces.Links | Where Class -eq "productMainLink").href)[0])
# 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"
}
# 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
Calcular el valor nutricional de un producto en PowerShell (buscando el producto en la tienda online de un supermercado) (PowerShell, Nutrición, Automatización)
Except where otherwise noted, Jesusninoc by Jesús N. is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.