• EnglishSpanishGermanFrenchPolishChinese (Traditional)


EnglishSpanishGermanFrenchPolishChinese (Traditional)

Operating systems, scripting, PowerShell and security

Operating systems, software development, scripting, PowerShell tips, network and security

Menú principal
  • Categorías
  • Cursos
  • Libro de PowerShell
  • Lo mejor
  • Lo último
  • Proyectos
  • Contactar
Ir al contenido

Convertir una web con una tabla de calorías de todos los alimentos en una tabla interactiva en PowerShell

PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$url = "http://recetasdecocina.elmundo.es/tabla-calorias"
$result = Invoke-WebRequest $url
$objetoresult = $result.AllElements | Where tagName -eq "TR" | %{$_.outerHTML -replace "<TD width=193>","|"}
$objetoresultgrid = ($objetoresult -replace "<.*?>" -replace "`n","").trim() | %{($_)}
$objetoresultgrid | %{($_.split("|").trim())[0]}
 
$mostrar = foreach ($item in $objetoresultgrid)
{
    if($item -notmatch "CALORÍAS")
    {
        $item | select @{l='Producto';e={$_.split("|").trim()[0]}},@{l='Calorías';e={[Int]$_.split("|").trim()[1]}}
    }
}
 
$mostrar | Out-GridView

Publicado el día 23 de mayo de 2018

CATEGORÍAS

Automatización, PowerShell, Web, Web scraping

ETIQUETAS

AllElements, foreach, HTTP, Invoke-WebRequest, Jesús Niño Camazón, Out-GridView, outerHTML, Replace, Split, tagName, Trim

MÁS

  • Automatizar el funcionamiento de una aplicación que simula un piano (pulsar automáticamente las notas del piano)
  • Calcular el valor nutricional (azúcares) de todos los fabricantes de productos encontrados en la tienda online de un supermercado en PowerShell
  • Calcular el valor nutricional de una o varias comidas del día con PowerShell
  • Técnico Superior en Desarrollo de Aplicaciones Web
  • Mostrar y comparar la cantidad de grasa que tienen los productos de consumo encontrados en la tienda online de un supermercado mediante PowerShell
  • Mostrar y comparar la cantidad de azúcar que tienen los productos de consumo encontrados en la tienda online de un supermercado mediante PowerShell