作者:故事我忘了

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


前言

本篇目的

  • 为了填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. uniapp vue3 setup + 云开发开发个人小程序

    最近使用uniapp vue3 setup + 云开发开发了个人小程序,设计使用figma软件,看下成品截图吧(可以直接微信搜索[识光]小程序体验,或者最底部有码可以直接扫)

  2. golng切片实现分页

    前言 实现切片分页,主要是根据选择页码和每页显示数量,计算了切片的开始.结束索引地址 package main import "math" func main() { slice1 ...

  3. golang单机锁实现

    1.锁的概念引入 首先,为什么需要锁? 在并发编程中,多个线程或进程可能同时访问和修改同一个共享资源(例如变量.数据结构.文件)等,若不引入合适的同步机制,会引发以下问题: 数据竞争:多个线程同时修改 ...

  4. Pydantic Mixin:构建可组合的验证系统体系

    title: Pydantic Mixin:构建可组合的验证系统体系 date: 2025/3/22 updated: 2025/3/22 author: cmdragon excerpt: Pyda ...

  5. Delphi 判断操作系统是32位或是64位

    function IsWin64: Boolean; var Kernel32Handle: THandle; IsWow64Process: function(Handle: Windows.THa ...

  6. 【C语言】解决初始化数组时报错“undefined reference to `memcpy'”

    [C语言]解决初始化数组时报错"undefined reference to `memcpy'" 零.报错 代码: char start[] = {0xd, 0xa, 0xb3, ...

  7. java学习-6-核心类:字符串StringJoiner 和数组一起玩

    public class Main { public static void main(String[] args) { String[] names = {"Bob", &quo ...

  8. shell子字符串截取

    http://c.biancheng.net/view/1120.html Shell 截取字符串通常有两种方式:从指定位置开始截取和从指定字符(子字符串)开始截取. 从指定位置开始截取 这种方式需要 ...

  9. C#/.NET/.NET Core技术前沿周刊 | 第 35 期(2025年4.14-4.20)

    前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...

  10. 基于Blazor实现的运输信息管理系统

    运输信息管理系统(TIMS)是一个集手机端和PC端协同工作的小型运输服务公司的信息化系统,采用Blazor框架的Auto模式进行开发. 1. 项目背景 目前司机运输任务完成后,在微信工作群中上报运输任 ...