每天户外运动,想有个能自动查询天气的方式,然而单位地方比较偏,周边没有气象部门站点,最近的有天气预报的地方也是三十多公里外的城区了。那就DIY一个呗。

某宝上找了找有各种模块,最近又学习了python,很快就有了思路。先做个硬件定时采集气象数据发送到服务端,服务端收到数据记录下以供查找中。结合微信的公众号接口,响应公众号查询请求。

硬件部分参考另一篇博文【气象信息采集装置】

服务端

微信订阅号对服务器端有约束,必须是80端口,收发均封装成XML格式,微信官网提供了xml解析封装的示例代码,直接使用就可以。

服务器端由python搭建,引用web模块监听80端口,同时服务端监听另一个端口,气象采集端将采集到的气象数据发送至该端口,服务端接收后按格式处理好并记录。

用户在订阅号后台发送消息后,微信服务器会封装成xml消息转发至python服务端,服务端对80端口传入的xml请求解析并获取请求用户等信息,并提取最近一次采集到的气象数据,根据请求封装成规定的xml格式返回微信后台,由微信后台发送至用户端。

除天气查询外的其他功能都是通过python服务端直接处理并响应。

python端代码如下:

该代码包含

main.py:程序入口

# -*- coding: utf-8 -*-
# filename: main.py
import web
from handle import Handle
from user import User
import sys
reload(sys)
sys.setdefaultenc

微信订阅号python后台相关推荐

  1. [python]用flask框架搭建微信公众号的后台

    用flask框架搭建微信公众号的后台 最近用python写了点爬虫,为了要让爬取的数据能够随时显示在我眼前,并实时根据我的指令返回数据.于是采用微信公众号做这个显示窗口,既能发送指令也能显示简单的相关 ...

  2. 搭建微信订阅号后台服务

    1. 准备域名和服务器 微信公众平台需要配置服务器地址 URL 访问,在实验开始之前,我们要准备域名. 购买服务器(腾讯云) 域名注册 域名解析 域名设置解析后需要过一段时间才会生效,通过 ping ...

  3. 微信公众号Python开发(Wechatpy+新浪云SAE应用)

    微信公众号Python开发(Wechatpy) 前言:微信公众号后台只提供指定条件的指定回复,如果想有聊天.翻译.查询.后台数据库等则需要使用公众号提供的接口开发脚本.开发工具语言选择诸多,Pytho ...

  4. 笔记-微信订阅号开发

    目录 笔记-微信订阅号开发流程 创建菜单 网页授权: js-sdk 笔记-微信订阅号开发流程 创建菜单 先进入:https://mp.weixin.qq.com/ 创建一个小程序订阅号: 订阅号和服务 ...

  5. php订阅号网页登录,微信订阅号怎么使用网页授权登录

    微信公众号配置网页授权域名怎么设置? 提示:无法访问banma13.tunnel.phpor.me指向的web服务器(或虚拟主机)打开微信公众平台,输入账号密码登录后台. 如果爱上一个人,请不要炫耀, ...

  6. 新浪sae部署微信订阅号

    利用新浪sae部署python开发微信订阅号登录新浪sae网站,用微博帐号登录或者注册帐号http://www.sinacloud.com/选择左上角控制台的云应用sae 选择创建新应用 按照要求创建 ...

  7. 写了一半的微信订阅号

    写了一半的微信订阅号,实现了自定义菜单和用户文本回复.以及背景音乐的推送(这个需要我后台授权) 可以关注下面看下,做的有点水. 实现了文本消息图文,图片消息的交互. 源码地址:http://downl ...

  8. 微信公众号JAVA后台对接最全面

    微信公众号JAVA后台对接最全面 微信公众号JAVA后台对接步骤 1.环境搭建 (1)接口测试号申请拿到appid和appsecret,配置在后台配置文件!https://mp.weixin.qq.c ...

  9. python查询实时天气预报_微信公众号+python+新浪SAE实现实时天气预报功能

    本文主要谈谈如何做一个具有天气预报功能的公众号. 话不多说先上图,实现的功能如下图所示: 点击微信右下角的"+"号,分享任意一个位置信息,公众号后台自动回复当地的天气情况.这里的天 ...

最新文章

  1. python中一些实用而容易被忽视不常用的库
  2. Iocomp控件教程之Pie Chart——饼状图控件
  3. 怎样让项目经理更受企业和团队欢迎
  4. 中兴面试一个星期没有回音_如何在没有回声的情况下从亚马逊获取即时时尚建议...
  5. history 历史命令记录功能如何防坏人(高级)
  6. ASP.NET页面传值的各种方法和分析
  7. [原创]HierarchyView的实现原理和Android设备无法使用HierarchyView的解决方法
  8. mysql 表字段信息从一张表迁移到另一张表_Mysql之分库分表
  9. 利用application在页面中显示访问次数
  10. 927. 三等分(每日一难phase2--day26)
  11. 数字集成电路_5.延时
  12. Transformer注意力
  13. 《东周列国志》第四十五回 晋襄公墨缞败秦 先元帅免胄殉翟
  14. 2018滴滴校招(秋招)内推笔试编程题题解
  15. 屏蔽拼多多广告信息的方法
  16. 【机器学习】深度学习框架是什么?有哪些?如何选择?
  17. 程序员之禅10条法则
  18. 10005---海量数据排序总结
  19. 支持向量机识别数字集(数据采集+模型训练+预测输出)
  20. 利用kvaser和Python编写监控界面(1)

热门文章

  1. 【RS-Attack】Data Poisoning Attacks to Deep Learning Based Recommender Systems NDSS‘21
  2. LTspice基础教程-015.导入第三方库
  3. 华硕电脑键盘背光灯一直闪的很快,怎么解决?
  4. JAVA 利用多方法查找质数(素数)
  5. Unity入门——角色属性设置
  6. 虚幻引擎5.1现已发布!
  7. 【前端用法】html5实现地理位置定位(JS获取当前地理位置的方法)
  8. UnityShader学习教程之<矩阵的左乘还是右乘所导致的效果问题>
  9. IDEA 解决import类飘红
  10. SpringBoot 中dependencies飘红