[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$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 @{n='Producto';e={$_.Key}},@{n='Azúcar';e={[Double]($_.Value)}} | sort Azúcar -Descending | ConvertTo-Html | Out-File web.html
start web.html
Código web generado
HTML TABLE
Producto | Azúcar |
---|---|
Néctar de naranja y zanahoria AUCHAN brick de 1 litro | 11,2 |
Néctar de naranja DON SIMÓN botella de 1,5 litros | 10,4 |
Néctar de naranja ZUMOSOL brick de 1 litro | 10,4 |
Néctar de Naranja GRANINI 33 cc | 10,3 |
Néctar de naranja GRANINI botella de 1 litro | 10,1 |
Néctar de naranja GRANINI botella de 1,5 litros | 10,1 |
Néctar de naranja AUCHAN brick de 2 litros | 10,1 |
Brick zumo exprimido de naranja sin pulpa DON SIMÓN 2 litros | 10 |
Zumo de soja y naranja DON SIMON SOY brick de 1 litro | 10 |
Zumo exprimido de naranja DON SIMÓN brick de 1 litro | 10 |
Zumo exprimido de naranja sin pulpa DON SIMÓN brick de 12,5 centilitros pack de 4 uds. | 10 |
Brick zumo de naranja con pulpa (100% naranja exprimida) DON SIMÓN 2l | 10 |
Brick zumo de naranja DON SIMÓN 1l | 10 |
Brick zumo exprimido de naranja sin pulpa DON SIMÓN 1 litro | 10 |
Zumo de naranja y soja de origen 100% vegetal VIVESOY de Pascual 1 l. | 9,7 |
Brick zumo exprimido naranja AUCHAN 1 l | 9,7 |
Néctar de naranja MINUTE MAID botella de 1 litro | 9,7 |
Zumo de naranja exprimido con pulpa ZUMOSOL 1 litro | 9,4 |
Zumo exprimido de naranja sin pulpa ZUMOSOL botella de 85 centilitros | 9,4 |
Zumo exprimido de naranja con pulpa ZUMOSOL botella de 85 centilitros | 9,4 |
Zumo de naranja exprimida sin pulpa, ZUMOSOL, brick de un litro. | 9,4 |
Néctar de naranja y mango GRANINI botella de 1 litro | 9,2 |
Brick zumo de naranja dulce GRANINI 1 l | 9 |
Zumo ecológico de mango y naranja LAMBDA botella de 1 l. | 8,9 |
Zumo de naranja fresca SONATURAL 250 Mililitros | 8,7 |
Brick zumo de naranja AUCHAN 1 l | 8,4 |
Zumo de Naranja JUVER Botella 1 l. | 8,4 |
Néctar de naranja y zanahoria GRANINI botella de 1 litro | 8,3 |
Zumo ecológico de naranja LAMBDA botella de 1 l. | 7,1 |
Néctar con stevia de naranja MINUTE MAID botella de 1 litro | 5,7 |
Néctar de naranja JUVER 2 l. | 5,6 |