Truco Windows: previsión del tiempo usando Powershell
En el truco de hoy para sistemas Windows veremos lo chulo que resulta obtener datos meteorológicos utilizando un terminal de comandos como Powershell. Aunque sea algo más fácil usar un buscador para ello, este método es bastante más geek.
Powershell es una forma avanzada del intérprete de comandos más antiguo de Windows, conocido como CMD o Command Prompt (en castellano, «símbolo de sistema»).
El servicio que vamos a utilizar es wttr.in y también nos permite ver datos en tiempo real desde el navegador.
Obtener pronóstico del tiempo usando Windows Powershell
Utilizaremos para las consultas el cmdlet Invoke-RestMethod, que responde a los alias de curl y wget en Powershell y permite leer los contenidos web mediante una consola.
El uso más simple de la herramienta lo podemos obtener de la siguiente forma:
(curl http://wttr.in/?Q0 -UserAgent "curl" ).Content
Con esto obtenemos el pronóstico del tiempo actual.
El tiempo en una ciudad concreta
(curl http://wttr.in/Madrid -UserAgent "curl" ).Content
También es posible indicar el país añadiéndolo de la siguiente manera:
(curl "http://wttr.in/Madrid,Spain" -UserAgent "curl" ).Content
Si os fijáis hemos tenido que añadir dobles comillas en este caso.
Sistema métrico y grados Celsius
Con la siguiente expresión podemos pasar de grados Fahrenheit (ºF) a Celsius (ºC) y Mph a Km/h, algo que es mucho más relevante en Europa.
(curl http://wttr.in/Madrid?m -UserAgent "curl" ).Content
El user agent lo podemos cambiar entre curl y wget a nuestro antojo, ambos funcionan igual.
En castellano
También os interesará saber que podemos cambiar el idioma a castellano con este parámetro:
(curl wttr.in/Madrid?lang=es -UserAgent "curl" ).Content
Versión mínima
Con la siguiente expresión podremos ver una previsión del tiempo reducida que incluye solo la tarde y la noche.
(curl wttr.in/Madrid?n -UserAgent "curl" ).Content
De igual forma, si queremos ver el tiempo actual escribiremos:
(curl wttr.in/Madrid?0 -UserAgent "curl" ).Content
PNG
Esto permite generar una imagen en lugar de la clásica salida de consola.
(curl http://wttr.in/Madrid?m.png -UserAgent «curl» ).Content
Sintaxis y ayuda
El programa cuenta con ayuda integrada donde podemos consultar el uso admitido, escribiendo:
(curl http://wttr.in/:help -UserAgent "curl" ).Content
Lo que veremos es la siguiente salida:
Usage:
$ curl wttr.in # current location
$ curl wttr.in/muc # weather in the Munich airportSupported location types:
/paris # city name
/~Eiffel+tower # any location
/Москва # Unicode name of any location in any language
/muc # airport code (3 letters)
/@stackoverflow.com # domain name
/94107 # area codes
/-78.46,106.79 # GPS coordinatesSpecial locations:
/moon # Moon phase (add ,+US or ,+France for these cities)
/moon@2016-10-25 # Moon phase for the date (@2016-10-25)Units:
m # metric (SI) (used by default everywhere except US)
u # USCS (used by default in US)
M # show wind speed in m/sView options:
0 # only current weather
1 # current weather + 1 day
2 # current weather + 2 days
A # ignore User-Agent and force ANSI output format (terminal)
F # do not show the «Follow» line
n # narrow version (only day and night)
q # quiet version (no «Weather report» text)
Q # superquiet version (no «Weather report», no city name)
T # switch terminal sequences off (no colors)PNG options:
/paris.png # generate a PNG file
p # add frame around the output
t # transparency 150
transparency=… # transparency from 0 to 255 (255 = not transparent)Options can be combined:
/Paris?0pq
/Paris?0pq&lang=fr
/Paris_0pq.png # in PNG the file mode are specified after _
/Rome_0pq_lang=it.png # long options are separated with underscoreLocalization:
$ curl fr.wttr.in/Paris
$ curl wttr.in/paris?lang=fr
$ curl -H «Accept-Language: fr» wttr.in/parisSupported languages:
af da de el et fr fa hu id it nb nl pl pt-br ro ru tr uk vi (supported)
az be bg bs ca cy cs eo es fi ga hi hr hy is ja jv ka kk ko ky lt lv mk ml nl fy nn pt pt-br sk sl sr sr-lat sv sw th te uz zh zu he (in progress)Special URLs:
/:help # show this page
/:bash.function # show recommended bash function wttr()
/:translation # show the information about the translators
Obtención de las fases lunares
Para despedirme os dejo una variante bastante chula que nos muestra las fases lunares según la ubicación predeterminada o escogiendo una de nuestra elección:
(curl wttr.in/Moon -UserAgent "curl" ).Content
Hasta aquí el truco de hoy! No olvides que si te gusta, puedes revisar otros artículos relacionados con Powershell 🙂
Categories
deweloper View All
Trabajo como consultor de ciberseguridad y me gusta lo que hago. Aficionado a la informática / tecnología en general, me gusta compartir con la gente lo poco que sé. También soy aficionado al deporte y los videojuegos.
Pués tengo w10 y no me funcinona
me pone :
No se esperaba .Content en este momento.
Hola, ¿en qué comando te da el error?