作者:故事我忘了

个人微信公众号:程序猿的月光宝盒


前言

本篇目的

  • 为了填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的天气推送的更多相关文章

  1. 扩展一个boot的插件—tooltip&做一个基于boot的表达验证

    在线演示 本地下载 (代码太多请查看原文) 加班,加班加班,我爱加班··· 我已经疯了,哦也. 这次发一个刚接触boot的时候用boot做的表单验证,我们扩展一下tooltip的插件,让他可以换颜色. ...

  2. 基于B/S模式的推送

    基于B/S模式的推送 https://www.ibm.com/developerworks/cn/web/wa-lo-comet/ 传统模式的 Web 系统以客户端发出请求.服务器端响应的方式工作.这 ...

  3. Android消息推送(二)--基于MQTT协议实现的推送功能

    国内的Android设备,不能稳定的使用Google GCM(Google Cloud Messageing)消息推送服务. 1. 国内的Android设备,基本上从操作系统底层开始就去掉了Googl ...

  4. 基于 WebSocket 的 MQTT 移动推送方案

    WebSphere MQ Telemetry Transport 简介 WebSphere MQ Telemetry Transport (MQTT) 是一项异步消息传输协议,是 IBM 在分析了他们 ...

  5. 基于Node.js的实时推送 juggernaut

    基于Node.js的实时推送 juggernaut Juggernaut 基于 Node.js 构建.为浏览器和服务器端提供一个实时的连接,可在客户端和服务器端进行数据的实时推送,适合多角色游戏.聊天 ...

  6. Android 基于Netty接收和发送推送解决方案的消息字符串(三)

    在上一篇文章中<Android 基于Netty的消息推送方案之概念和工作原理(二)> .我们介绍过一些关于Netty的概念和工作原理的内容,今天我们先来介绍一个叫做ChannelBuffe ...

  7. springboot搭建一个简单的websocket的实时推送应用

    说一下实用springboot搭建一个简单的websocket 的实时推送应用 websocket是什么 WebSocket是一种在单个TCP连接上进行全双工通信的协议 我们以前用的http协议只能单 ...

  8. python3 三行代码基于HTTP2完美实现APNS推送【详解】

    第一次做苹果APNS(Apple Push Notification service)推送,关于APNS推送原理以及证书的获取方式网上已经有许多资料,在此不做过多赘述,需要注意的是证书分为测试证书和正 ...

  9. 手把手做一个基于vue-cli的组件库(下篇)

    基于vue-cli4的ui组件库,上篇:如何做一个初步的组件.下篇:编写说明文档及页面优化.接上篇,开工. GitHub源码地址:https://github.com/sq-github/sq-ui ...

  10. 又见angular----步一步做一个angular4小项目

    这两天看了看angular4的文档,发现他和angular1.X的差别真的是太大了,官方给出的那个管理英雄的Demo是一个非常好的入门项目,这里给出一个管理个人计划的小项目,从头至尾一步一步讲解如何去 ...

随机推荐

  1. jQuery ajax 文件上传 Request Headers 缺少 boundary

    原文地址: https://blog.jijian.link/2020-07-28/jquery-ajax-upload-file/ 一般上传方式 const file = document.getE ...

  2. bee must have one register DataBase alias named `default`

    bee must have one register DataBase alias named default 在你初始化db,注册默认数据库时,看看你是否import初始化注册数据库驱动driver ...

  3. PLSQL Developer使用大全

    第一章 PLSQL Developer特性 PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发.如今,有越来越多的商业逻辑和应用逻辑转向了Oracle S ...

  4. MySQL-删除数据和count(*)原理

    delete删除数据原理 在InndoDB存储引擎中,delete删除操作是把需要删除的数据或者页标记为已删除,后面如果有需要,直接复用即可.这些被标记为已经删除的数据,看起来就像空洞一样.所以看起来 ...

  5. SQLite 爬坑记录之无法设置自增约束

    场景重现 SQLite在设置自增约束(Autoincrement)的时候出现无法设置的情况: 问题原因 ... 解决办法 ...

  6. cpp简单总结

    1.简述智能指针的特点,简述new和malloc的区别. shared_ptr,显现共享式特点,多个同类型的shared指针可以共享一个对象,当持有者的计数归0,shared_ptr指向的指针就会被释 ...

  7. 关于CH182LED配置的说明

    CH182的LED配置有两种模式: 传统LED功能 该功能可通过页7寄存器19控制bit 3-5控制 使用时可将页7寄存器19 bit3 置0 通过bit4-5实现不同模式,默认情况下bit3为0,b ...

  8. NGUI和UGUI的区别

    1.NGUI的渲染前后顺序是通过Widget的Depth,而UGUI渲染顺序根据Hierarchy的顺序,越下面渲染在顶层 2. NGUI支持图文混排,UGUI暂未发现支持此功能. 3.UGUI没有 ...

  9. RocketMQ的Producer是如何发送消息的

    RocketMQ 的 Producer 发送消息过程涉及多个步骤,包括初始化.消息创建.发送方式选择 1.Producer初始化 首先,我们需要创建并初始化一个Producer示例 这段代码完成了以下 ...

  10. Mybatis-Plus中的@TableId

    简介 在 MyBatis Plus 中,@TableId 注解是用于标记实体类中的主键字段.它可以更方便地处理主键相关的操作,如自动填充主键值或识别主键字段. 用法 public class User ...