wttr.in面向控制台的可视化天气预报服务

联合创作 · 2023-09-29 15:44

wttr.in 是一个面向控制台的天气预报服务,支持各种信息表示方法,例如用于控制台 HTTP 客户端(curl、httpie 或 wget)的面向终端的 ANSI 序列、用于 Web 浏览器的 HTML 或用于图形查看器的 PNG。

wttr.in 使用 wego 进行可视化,并使用各种数据源显示天气预报信息。

用法

您可以从 shell 或 Web 浏览器访问该服务,如下所示:

$ curl wttr.in Weather for City: Paris, France \ / Clear .-. 10 – 11 °C ― ( ) ― ↑ 11 km/h `-’ 10 km / \ 0.0 mm 

这是您所在位置的实际天气报告(它是实时的!):

或者在 PowerShell 中:

Invoke-RestMethod https://wttr.in

想要获取特定位置的天气信息?您可以将所需位置添加到请求中的 URL 中,如下所示:

$ curl wttr.in/London $ curl wttr.in/Moscow $ curl wttr.in/Salt+Lake+City 

如果省略位置名称,将根据你的 IP 地址获得当前位置的报告。

使用 3 个字母的机场代码来获取某个机场的天气信息:

$ curl wttr.in/muc # Weather for IATA: muc, Munich International Airport, Germany $ curl wttr.in/ham # Weather for IATA: ham, Hamburg Airport, Germany 

假设您想获取城镇或城市以外的地理位置的天气 - 可能是城市中的景点、山名或某些特殊位置。在名称之前添加~字符以在检索天气之前查找该特殊位置名称:

$ curl wttr.in/~Vostok+Station $ curl wttr.in/~Eiffel+Tower $ curl wttr.in/~Kilimanjaro 

您还可以使用 IP 地址(直接)或域名(以@为前缀)来指定位置:

$ curl wttr.in/@github.com $ curl wttr.in/@msu.ru 

天气单位

默认情况下,来自美国的查询使用 USCS 单位,世界其他地区使用公制单位。你可以通过在URL中添加 "?u"、"?m" 或 "?M" 来覆盖这一行为,如图所示。

$ curl wttr.in/Amsterdam?u # USCS (used by default in US) $ curl wttr.in/Amsterdam?m # metric (SI) (used by default everywhere except US) $ curl wttr.in/Amsterdam?M # metric (SI), but show wind speed in m/s 

支持的输出格式和视图

wttr.in 目前支持五种输出格式:

  • 用于终端的 ANSI;
  • 用于终端和脚本的纯文本;
  • 用于浏览器的 HTML;
  • 用于图形查看器的 PNG;
  • 用于脚本和 API 的 JSON;
  • 用于脚本和 API 的 Prometheus;

 

浏览 3
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报