kwgt HTTP 动态下载 http sqlite xpath json 远程数据抓取
http 函数
$http(目标URL, 刷新间隔秒数)$
- 目标 URL:完整的网络地址
- 刷新间隔:多久重新下载一次(秒),默认 1800(30 分钟)
用在 Image 元素 → 直接下载图片并显示用在 Text 元素 → 下载文本内容
典型场景
动态天气图标
$http('https://openweathermap.org/img/wn/' + $w(code)$ + '@2x.png', 1800)$
Image 元素填这个 → 每 30 分钟从 OpenWeatherMap 拉取天气图片。
每日一张随机壁纸
$http('https://picsum.photos/800/800?random=' + $ut()$, 3600)$
$ut()$ 是随机数 → 每次刷新 URL 不一样 → Picsum 给你不同的图 → 每小时换一张新壁纸。
实时股价 / 加密货币
$sqlite(http('https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd'), '$.bitcoin.usd')$
这个函数会:
- 先
http()下载 CoinGecko 的 JSON - 再
sqlite()用 JSONPath 解析$.bitcoin.usd - 输出比特币当前美元价格
sqlite——解析 JSON / XML
$sqlite(数据, 路径)$ 可以用 JSONPath 或 XPath 解析结构化数据:
| 解析目标 | 路径示例 |
|---|---|
| JSON 某字段 | $.data.price |
| JSON 数组第 0 项 | $.items[0].name |
| XML 某节点 | //item/title |
rss——直接读 RSS 源
不用手动下载 XML,kwgt 内置 RSS 函数:
$rss('https://example.com/feed.xml', 0, 'title')$
读取 RSS 第 0 条的 title 字段。
性能提醒
- 不要设太短的刷新间隔(最低建议 60 秒)
- 频繁 HTTP 请求耗电 + 耗流量,后台数据刷新更不要太勤
- 有些 API 有免费调用额度限制,太频繁会被 429 限流
- 大多数天气 / 资讯 30 分钟刷新足够了