在抖音上看到了,然后自己试了试。(在评论区有开源代码,仅供参考)

首先,这个东西并不太难,毕竟代码大佬们已经开源了,我们只需要会改写相关参数就行,我们也算是站在巨人的肩膀上砥砺前行,话不多说,接下来开始正题~

一、微信公众测试号申请

首先,我们需要到微信公众平台扫码申请一个测试号,因为我们这个基本就是个人用,那么正常情况下只能申请订阅号,但是订阅号限制太多,并不能实现我们这个每天向别人推送的目的,服务号又只能用需要企业认证,所以我们这里只能用官方提供的测试号。

申请网址在这里

微信公众平台

我们用微信扫码后我们就可以得到我们想要的东西了(下面这两个很重要)

然后我们向下滚动

找到这个后我们扫描二维码可以得到我们想要的微信号(这个微信号跟我们微信中的那个不一样)

然后我们在向下滚动我们就可以看到这个模板,我们可以把我们想要的编辑上去

{{riqi.DATA}} {{beizhu.DATA}} 天气:{{tianqi.DATA}} 风向:{{winddir.DATA}} 风级:{{windclass.DATA}} 最低气温: {{low.DATA}}度 最高气温: {{high.DATA}}度 今天是我们恋爱的第{{lianai.DATA}}天 距离小宝生日还有{{shengri2.DATA}}天 距离我的生日还有{{shengri1.DATA}}天 {{caihongpi.DATA}} 今日运势: {{type.DATA}} 每日一句: {{en.DATA}} {{zh.DATA}} {{jinju.DATA}}

以上就是我的格式,括号中的都是服务器中的资源。可以根据自己的需要更改。

下面我们开始将服务器的实现过程。

二、服务器代码

首先我们这里用到了两个平台接口,百度天气和天行数据。

百度天气我们需要先注册成为开发者,再在控制台添加新项目获取ak(我们需要的东西)

注册开发者成功后在我的应用下创建新项目后我们可以得到AK(很重要)

如果想要先测试我们可以先设置ip为0.0.0.0/0(里面也有提示,这个供我们测试用)

/*** 天气工具接口*/
public class WeatherUtils {/*** 测试* @param args*/public static void main(String[] args) {System.out.println(getWeather());}/*** 获取天气* @return*/public static Weather getWeather(){RestTemplate restTemplate = new RestTemplate();Map<String,String> map = new HashMap<String,String>();map.put("district_id","130100"); // 地区行政代码map.put("data_type","all");//这个是数据类型map.put("ak","xxx");//百度天气ak码String res = restTemplate.getForObject("https://api.map.baidu.com/weather/v1/?district_id={district_id}&data_type={data_type}&ak={ak}",String.class,map);JSONObject json = JSONObject.parseObject(res);JSONArray forecasts = json.getJSONObject("result").getJSONArray("forecasts");List<Weather> weathers = forecasts.toJavaList(Weather.class);JSONObject now = json.getJSONObject("result").getJSONObject("now");Weather weather = weathers.get(0);weather.setText_now(now.getString("text"));weather.setTemp(now.getString("temp"));weather.setWind_class(now.getString("wind_class"));weather.setWind_dir(now.getString("wind_dir"));return weather;}
}

我们用到的第二个平台是天行数据天行数据TianAPI - 开发者API数据平台

我们注册后我们也是在控制台申请接口

这个平台挺好的,还提供了调试功能。

他的代码如下(部分代码)

    /*** 星座接口* @return*/public static Map<String,String> getXZ() {String httpUrl = "http://api.tianapi.com/star/index?key=317dcef343a561130b81a950990603eb&astro=白羊座";BufferedReader reader = null;String result = null;StringBuffer sbf = new StringBuffer();try {URL url = new URL(httpUrl);HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.setRequestMethod("GET");InputStream is = connection.getInputStream();reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));String strRead = null;while ((strRead = reader.readLine()) != null) {sbf.append(strRead);sbf.append("\r\n");}reader.close();result = sbf.toString();} catch (Exception e) {e.printStackTrace();}JSONObject jsonObject = JSONObject.parseObject(result);JSONArray newslist = jsonObject.getJSONArray("newslist");String en = newslist.getJSONObject(8).getString("type");String zh = newslist.getJSONObject(8).getString("content");Map<String, String> map = new HashMap<>();map.put("type",zh);map.put("content",en);return map;}

实现效果:

我们还可以实现定时(在服务器上部署)

   /*** 定时每天早上七点半* 从左到右分别代表秒 分 时 日 月 星期 年(可不填)* *表示任意*/@Scheduled(cron = "0 30 7 * * ?")public void goodMorning(){Pusher.push();}

这是java的springboot框架实现的。本文参考自公众号推送早安问候以及天气预报(JAVA)_cv展示的博客-CSDN博客_微信公众号自动推送天气

在其基础上加了一些更改。

微信公众号推送天气(最近超火的小玩意)相关推荐

  1. 微信公众号推送天气教程,自动定时推送【Java版】开发者和小白详细教程

    GitHub源码链接放这里 建议先打开,因为GitHub在国内加载很慢. 点击打开 Java版本,教程最近一次更新时间为: 2022-11-08 目录: 1.通用准备 2.面向开发者 3.面向小bai ...

  2. 微信公众号推送课表及天气(事无巨细+JavaScript版+python版)

    微信公众号推送课表及天气 22.10.16更新 我已经做出来更优秀的直接在聊天列表中推送的了! 请移步 企业微信推送 超强版! 基础 简介 作者:申也 个人网站:申也个人网站(www.dongshen ...

  3. 公众号推送天气和问候的项目

    Hello,大家好,最近我在Github发布了一个公众号推送天气和问候的项目,这里跟大家讲下如何使用 #1.小白篇 将分为以下几个步骤 相关信息 1.注册一个Github账号 2.下载源码 3.注册微 ...

  4. python爬虫公众号_python爬虫_微信公众号推送信息爬取的实例

    问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...

  5. 微信公众号推送消息前期准备

    微信公众号推送消息使用手册 1.准备 ​ 微信公众平台注册公众号.(https://mp.weixin.qq.com/) ​ 公众号进行"微信认证" ​ 开通"订阅通知& ...

  6. 【设计模式】之观察者模式——简单的“微信公众号推送消息给相关用户”

    目录 一.简单介绍 二.观察者模式涉及的4个角色 三.观察者模式demo:简单的"微信公众号推送消息给相关用户" 一.简单介绍 定义对象间"一对多"的依赖关系. ...

  7. 从中国微信500强月报总结微信公众号推送从中国微信500强月报总结微信公众号推送

    从中国微信500强月报总结的微信公众号推送. 新榜观察全样本中11月有过推文的账号发现,每百个公众号中会有19个整月全勤"营业".其中,民生.体娱.文化类账号居多,他们的认证比例. ...

  8. python微信爬取教程_python爬虫_微信公众号推送信息爬取的实例

    问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...

  9. python微信公众号推送_python爬虫_微信公众号推送信息爬取的实例

    问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...

最新文章

  1. 特斯拉再裁员3000多人,马斯克称别无选择
  2. html5 drag this,HTML5拖放(drag和drog)
  3. 腾讯内部人士爆与老干妈合作多个环节有漏洞 却没人察觉
  4. QML和C++混合编程--(三)
  5. 日期与时间(C/C++)
  6. 第九周项目6-穷举法之年龄几何
  7. ARP 地址解析协议
  8. C语言的数组名和对数组名取地址
  9. 使用Pytorch处理多维特征的输入
  10. 句句真研—每日长难句打卡Day11
  11. php 上传图片 预览 多张,uploadify插件实现多个图片上传并预览
  12. 文本文档怎样改格式为html格式,文本文档格式怎么更改【图解】
  13. SolidWorks结构件铝型材无法对齐
  14. 网课答案公众号搭建过程详解
  15. 编译疑问: Warning: Backslash and Newline separated by space
  16. shell脚本之批量删除文件
  17. Ruby 之Gem kaminari
  18. 第三章 处理机调度与死锁(汤小丹版操作系统笔记) 超全超详细!!!
  19. 如何重启Windows资源管理器
  20. 十八万字《python从零到精通教程》第二版,贴心保姆教你从零变大神,学不会找我

热门文章

  1. 什么是signal(SIGCHLD, SIG_IGN)函数
  2. 欲望无限--《贝奥武夫》给我们的启示
  3. c语言指针化简带分数,自动生成四则运算题目(C语言)
  4. Windows 8中IE10无法下载文件的解决方法
  5. SQL FULL OUTER JOIN
  6. 怎么把电脑上的python软件卸载干净_如何将电脑上的各种软件彻底卸载干净呢?...
  7. win11激活office出问题
  8. 互联网+医疗解决方案
  9. PIESDKDoNet二次开发配置注意事项
  10. linux系统安装达梦数据库