十步,做一个基于Claw Cloud的天气推送
个人微信公众号:程序猿的月光宝盒
前言
本篇目的
- 为了填b站自己挖的坑(说公众号有教程 实际只有开通爪云教程没有案例教程)
- 为了自己记录
以下步骤 默认你已经会在App Store 中安装n8n
步骤分解
步骤一
点击n8n图标进入 n8n页面
步骤二
点击Add Workflow
步骤三
- 点击底部"add"
- 点击时钟"on a schedule"
步骤四
设置每天早上 9am
步骤五
设置本工作流的时区
- 点击工作流右上角的三个点
- 点击setting
- 找到Timezone,输入
+08
,下拉框找到北京 - 选择北京,并点保存
这样,时区就设置好了 否则时区是对不上中国本土时间的哦
步骤六
以杭州为例
添加请求节点,获取杭州天气
http request说明:
- 默认get请求不变
- url写:
http://t.weather.itboy.net/api/weather/city/101210101
- 其中
101210101
为城市编码,这里是杭州
- 其中
- 点击
add option
,选择 Response - 在format那里选择json,表示这个请求返回的格式是json格式
- 然后你点一下 右上角的
test
,右边选择 json(可选可不选,选了更清晰),就能看到天气了,说明没问题 ,然后左上角点Back to canvas
退回流程界面
步骤七
上一步只是获取了接口请求的结果,然后我们要对结果进行自定义的清洗
然后再跳出的框中,复制如下代码
// 处理返回的 json 格式的数据并拼接成字符串
// 只处理了当天的数据
shidu = items[0].json.data.shidu;
pm25 = items[0].json.data.pm25;
pm10 = items[0].json.data.pm10;
quality = items[0].json.data.quality;
wendu = items[0].json.data.wendu;
ganmao = items[0].json.data.ganmao;
high = items[0].json.data.forecast[0].high;
low = items[0].json.data.forecast[0].low;
fx = items[0].json.data.forecast[0].fx;
fl = items[0].json.data.forecast[0].fl;
type = items[0].json.data.forecast[0].type;
ymd = items[0].json.data.forecast[0].ymd;
week = items[0].json.data.forecast[0].week;
var yubao = `杭州今日天气预报:\n` +
` 日期: ${ymd} (${week})\n` +
` 天气: ${type}\n` +
` 温度: ${low} ~ ${high}\n` +
` 风力: ${fx} ${fl}\n` +
` 空气质量: ${quality} (PM2.5: ${pm25} | PM10: ${pm10})\n` +
` 湿度: ${shidu}\n` +
`️ 提示: ${ganmao}`;
// 中文写回到到 json 中
items[0].json.yubao = yubao;
// 转义换行符,为了在后续的节点中正确解析换行
items[0].json.yubao_escaped = yubao.replace(/\n/g, "\\n");
return items;
再点击右上角的齿轮,设置返回
此时,可以右上角的Test
再测一下
不出意外,json那拉到最下,是有我们添加的自定义节点的
后续我们用yubao_escaped
那个
步骤八
上面七步已经从接口获取了天气,并清洗完成,
接下来就是推送消息
这里可以推送的方式很多,因为之前做数藏推送,我用wxpusher多 这里就以这个举例子,本来是可以推送到微信的,但是最近微信封很严重,wxpusher官方建议用app了 那这里就用app
本次不教怎么用wxpusher,自行学习
返回工作流,添加http节点
根据wxpusher的要求填写相关请求信息,这里不赘述wxpusher的使用方法
Tips:
唯一要注意的是获取上一步我们清洗好的数据然后发送
用的是
{{ $json.yubao_escaped }}
,如果作为json的value,注意用双引号括起来
步骤九
然后返回工作流,测试一下
显示成功,手机也看下
步骤十
写注释
写注释
写注释
对应的节点,鼠标移上去点三个小点,点rename
就好了

以上
后记
- 这个例子只是抛转一下
可以做的事情由你决定
但是别违法违纪 - 上文提到的城市编码:
https://blog.csdn.net/u013193363/article/details/44851897
- 推送可以有很多方式,这里再介绍/记录几个开源的
时间: 2025年6月6日 07:21:49
博客园挂了哈哈哈,会员费不够啊
以下引用自仓库:
Awesome-NAS-Docker
:https://github.com/TWO-ICE/Awesome-NAS-Docker
感谢作者
项目标题 | 项目简介 | 项目地址 | 教程 | star | 最近更新 |
---|---|---|---|---|---|
PushDeer | 多端实时消息推送服务方案 | 点我查看 | 查看教程 | ||
ntfy | 跨平台消息推送服务,部署简单 | 点我查看 | 查看教程 | ||
Bark | 基于APNs将消息直达iPhone锁屏 | 点我查看 | 查看教程 | ||
Gotify | 快速搭建本地实时消息推送平台 | 点我查看 | 查看教程 |
十步,做一个基于Claw Cloud的天气推送的更多相关文章
- 扩展一个boot的插件—tooltip&做一个基于boot的表达验证
在线演示 本地下载 (代码太多请查看原文) 加班,加班加班,我爱加班··· 我已经疯了,哦也. 这次发一个刚接触boot的时候用boot做的表单验证,我们扩展一下tooltip的插件,让他可以换颜色. ...
- 基于B/S模式的推送
基于B/S模式的推送 https://www.ibm.com/developerworks/cn/web/wa-lo-comet/ 传统模式的 Web 系统以客户端发出请求.服务器端响应的方式工作.这 ...
- Android消息推送(二)--基于MQTT协议实现的推送功能
国内的Android设备,不能稳定的使用Google GCM(Google Cloud Messageing)消息推送服务. 1. 国内的Android设备,基本上从操作系统底层开始就去掉了Googl ...
- 基于 WebSocket 的 MQTT 移动推送方案
WebSphere MQ Telemetry Transport 简介 WebSphere MQ Telemetry Transport (MQTT) 是一项异步消息传输协议,是 IBM 在分析了他们 ...
- 基于Node.js的实时推送 juggernaut
基于Node.js的实时推送 juggernaut Juggernaut 基于 Node.js 构建.为浏览器和服务器端提供一个实时的连接,可在客户端和服务器端进行数据的实时推送,适合多角色游戏.聊天 ...
- Android 基于Netty接收和发送推送解决方案的消息字符串(三)
在上一篇文章中<Android 基于Netty的消息推送方案之概念和工作原理(二)> .我们介绍过一些关于Netty的概念和工作原理的内容,今天我们先来介绍一个叫做ChannelBuffe ...
- springboot搭建一个简单的websocket的实时推送应用
说一下实用springboot搭建一个简单的websocket 的实时推送应用 websocket是什么 WebSocket是一种在单个TCP连接上进行全双工通信的协议 我们以前用的http协议只能单 ...
- python3 三行代码基于HTTP2完美实现APNS推送【详解】
第一次做苹果APNS(Apple Push Notification service)推送,关于APNS推送原理以及证书的获取方式网上已经有许多资料,在此不做过多赘述,需要注意的是证书分为测试证书和正 ...
- 手把手做一个基于vue-cli的组件库(下篇)
基于vue-cli4的ui组件库,上篇:如何做一个初步的组件.下篇:编写说明文档及页面优化.接上篇,开工. GitHub源码地址:https://github.com/sq-github/sq-ui ...
- 又见angular----步一步做一个angular4小项目
这两天看了看angular4的文档,发现他和angular1.X的差别真的是太大了,官方给出的那个管理英雄的Demo是一个非常好的入门项目,这里给出一个管理个人计划的小项目,从头至尾一步一步讲解如何去 ...
随机推荐
- jQuery ajax 文件上传 Request Headers 缺少 boundary
原文地址: https://blog.jijian.link/2020-07-28/jquery-ajax-upload-file/ 一般上传方式 const file = document.getE ...
- bee must have one register DataBase alias named `default`
bee must have one register DataBase alias named default 在你初始化db,注册默认数据库时,看看你是否import初始化注册数据库驱动driver ...
- PLSQL Developer使用大全
第一章 PLSQL Developer特性 PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发.如今,有越来越多的商业逻辑和应用逻辑转向了Oracle S ...
- MySQL-删除数据和count(*)原理
delete删除数据原理 在InndoDB存储引擎中,delete删除操作是把需要删除的数据或者页标记为已删除,后面如果有需要,直接复用即可.这些被标记为已经删除的数据,看起来就像空洞一样.所以看起来 ...
- SQLite 爬坑记录之无法设置自增约束
场景重现 SQLite在设置自增约束(Autoincrement)的时候出现无法设置的情况: 问题原因 ... 解决办法 ...
- cpp简单总结
1.简述智能指针的特点,简述new和malloc的区别. shared_ptr,显现共享式特点,多个同类型的shared指针可以共享一个对象,当持有者的计数归0,shared_ptr指向的指针就会被释 ...
- 关于CH182LED配置的说明
CH182的LED配置有两种模式: 传统LED功能 该功能可通过页7寄存器19控制bit 3-5控制 使用时可将页7寄存器19 bit3 置0 通过bit4-5实现不同模式,默认情况下bit3为0,b ...
- NGUI和UGUI的区别
1.NGUI的渲染前后顺序是通过Widget的Depth,而UGUI渲染顺序根据Hierarchy的顺序,越下面渲染在顶层 2. NGUI支持图文混排,UGUI暂未发现支持此功能. 3.UGUI没有 ...
- RocketMQ的Producer是如何发送消息的
RocketMQ 的 Producer 发送消息过程涉及多个步骤,包括初始化.消息创建.发送方式选择 1.Producer初始化 首先,我们需要创建并初始化一个Producer示例 这段代码完成了以下 ...
- Mybatis-Plus中的@TableId
简介 在 MyBatis Plus 中,@TableId 注解是用于标记实体类中的主键字段.它可以更方便地处理主键相关的操作,如自动填充主键值或识别主键字段. 用法 public class User ...