在一般的使用中,我们可以通过设置关键字实现一些基本的自动回复功能,但是这样的关键字回复远远不能满足我们的实际需求,比如我们要实现一个查快递的功能,必然是要通过调用快递接口对不同用户的不同输入给出不同的输出结果,在这样的情况下关键字回复就显得很鸡肋了。于是我们选择了开发者模式。

输入二级域名和应用名称(必填项),在下面的运行环境中选择 Python2.7 - 空应用。

成功创建应用后,会获得相应的一些配置数据和密钥,当然这些内容这次用不到,主要用到的就是登陆账号和安全密码。

SAE平台的代码版本控制分为Git和SVN,两者可以自由选择,这次我们选择使用Git进行代码的上传操作。

2.1 服务器配置和 Token 认证

由于我们之前在 SAE 平台创建的是空应用,所以我们需要做一些基础的配置工作。这次我们选择使用 web.py (Python 2.7)来进行服务器搭建,如果本地没有 web.py 库的话可以通过 pip 命令进行安装(pip install web.py)。

之后我们需要创建一个项目,并编辑如下的基本代码。

config.yaml

这两部分是 web.py 的基础配置文件,之后我们需要开始编写实现微信公众平台功能的代码。

新建weixinInterface.py

文本:

可以看到,两者共有的字段为ToUserName、FromUserName、CreateTime、MsgType和MsgId,对于文本消息,我们可以通过Content字段直接提取出消息文本内容,但是对于图片消息,我们需要通过PicUrl或MediaId获取图片信息后进行处理。

获取到用户发送的消息后,我们需要考虑如何给用户发消息,其实并不难,我们只需要给定一个消息模板,并在相应的功能最后设置返回值即可

return self.render.reply_text(fromUser,toUser,int(time.time()), 'you string here')

在目录下新建 templates/reply_text.xml

以上操作的功能为:判断用户消息类型,如果消息类型为文本,则获取其内容content,并原样返回 content 作为消息。

完成以上修改后,重复 git 操作将修改 push 到远程仓库即可。

2.3 文本消息操作小例——查快递

上一小节我们已经完成了对文本消息最基础的操作,但是原样返回内容,并没有做任何更多的操作,这一次我们来试试快递接口。

具体做法不一定拘泥于官方给出的步骤,可以自己在本地仓库新建文件夹 vendor ,然后使用pip -t 选项指定第三方库安装地址,最后添加路径到 index.wsgi文件中。

以安装 requests 为例。

之后编辑 index.wsgi,在顶部添加代码即可。

修改 weixinInterface.py,导入 cxkd.py 并修改源代码。

接口的详情可以到上文的链接中查看,这里直接给出代码好了。

新建 imgtest.py

修改 weixinInterface.py

然后 git 提交到远程仓库。测试如下:

做着玩儿的,关不关注无所谓,因为平时也不怎么写东西推东西。源代码已经贴出来了,照着文章几分钟能搭出来一个一模一样的。

现在的功能就三块,更多的东西还没加:

1、回复 快递xxxxxx 自动识别快递公司

2、发送图片 识别性别和年龄

3、其他文字信息 原样返回

谢谢阅读!

某化大学,教授亲自手把手,从零基础交我们Python利用开发公众号相关推荐

  1. 【GIS人必学】零基础学习ArcGIS Python脚本开发训练营来了

    Python作为一种高级程序设计语言,凭借其简洁.易读及可扩展性日渐成为程序设计领域备受推崇的语言.ArcGIS软件由于其面向地理问题的科学理念,不断创新的技术方法,已在国内外市场占据了主导地位.Py ...

  2. 零基础自学用Python 3开发网络爬虫(一)

    原文出处: Jecvay Notes (@Jecvay) 由于本学期好多神都选了Cisco网络课, 而我这等弱渣没选, 去蹭了一节发现讲的内容虽然我不懂但是还是无爱. 我想既然都本科就出来工作还是按照 ...

  3. 如何零基础开始自学Python编程

    0. 明确目标 我是真正零基础开始学Python的,从一开始的一窍不通,到3个月后成功搭建了一个动态网站(没有用任何框架).相比于计算机大牛,我更加知道一个小白将会遇到什么坑,遇到哪些难点.我把我的学 ...

  4. python新手教程 从零开始-Python零基础从零开始学习Python十分钟快速入门

    原标题:Python零基础从零开始学习Python十分钟快速入门 学习Python的,都知道Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.Python是一种动态解释型的 ...

  5. 零基础可以学python吗-零基础可以学会python吗?python好学吗?

    一.编程零基础可以学会python吗? 首先我要说Python是一种解释型语言:这意味着开发过程中没有了编译这个环节.类似于PHP和Perl语言. Python是交互式语言:这意味着,您可以在一个Py ...

  6. 零基础可以学python吗-python零基础能学吗

    Python是一门高级编程语言,而且Python语言适合零基础人员学习,也是初学者的首选. 如何学习好Python: 1. 要有决心 做任何事情,首先要有足够的决心和坚持,才能做好事情.学好Pytho ...

  7. 如何零基础开始自学Python编程,值得一看!

    0. 明确目标 我是真正零基础开始学Python的,从一开始的一窍不通,到3个月后成功搭建了一个动态网站(没有用任何框架).相比于计算机大牛,我更加知道一个小白将会遇到什么坑,遇到哪些难点.我把我的学 ...

  8. python自学行吗-零基础可以学会python吗?python好学吗?

    一.编程零基础可以学会python吗? 首先我要说Python是一种解释型语言:这意味着开发过程中没有了编译这个环节.类似于PHP和Perl语言. Python是交互式语言:这意味着,您可以在一个Py ...

  9. 零基础学python-如何零基础开始自学Python编程

    转载--原作者:赛门喵 链接:https://www.zhihu.com/question/29138020/answer/141170242 0. 明确目标 我是真正零基础开始学Python的,从一 ...

最新文章

  1. gsoap 学习 1-由wsdl文件生成h头文件
  2. 带你开发类似 Pokemon Go 的 AR 游戏
  3. android中自适应布局教程,Android自适应布局设计技巧
  4. mysql global temporary table_【转】MySQL Temporary Table相关问题的探究
  5. mysql官网二进制包_mysql二进制包安装与配置实战记录
  6. 硬件加速会使电脑黑屏吗?
  7. 利用FS寄存器获取KERNEL32.DLL基址算法的证明(ZZ)
  8. Live Meeting 音频视频使用端口设置
  9. K60解锁以及IAR Missing or malformed ...FlashK60Dxxx128K.flash错误的修改
  10. 推荐几个高效文章搜索网站
  11. 使用BPEL创建Web服务组合
  12. 微波射频网将举办“微带传输线无源交调测试可重复性”在线技术讲座
  13. 2021年美容师(高级)考试及美容师(高级)最新解析
  14. 第二十九课: 斯涅尔定律、折射及全反射
  15. [欧洲之行]比利时布鲁塞尔
  16. MeeGo开发者(二):MeeGo架构
  17. 微信小程序 画布 组件
  18. sdk matlab,MATLAB Compiler SDK
  19. Golang 和 lua 相遇会擦出什么火花?
  20. 黑客又没有工资,那他们靠什么来维持生活?答案说出让人意外!

热门文章

  1. React Native Weex 区别
  2. 关于mysql存储大数据的问题
  3. 为了你,我一定要写诗
  4. ActiveMQ_使用经验
  5. Redis 为什么这么快
  6. kubernetes 容器内获取Pod信息(包括:宿主主机IP)
  7. anaconda学习python_python深度学习笔记1-Anaconda软件安装
  8. Redis操作Set类型
  9. ArrayBlockingQueue原理分析
  10. 为什么要用MyBatis-Hibernate