大四学长手把手教我们从零开始利用Python开发微…
2018-07-27 06:29:13来源:博客园 阅读 ()
在一般的使用中,我们可以通过设置关键字实现一些基本的自动回复功能,但是这样的关键字回复远远不能满足我们的实际需求,比如我们要实现一个查快递的功能,必然是要通过调用快递接口对不同用户的不同输入给出不同的输出结果,在这样的情况下关键字回复就显得很鸡肋了。于是我们选择了开发者模式。
进群:125240963 即可获取数十套PDF哦!
输入二级域名和应用名称(必填项),在下面的运行环境中选择 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、其他文字信息 原样返回
谢谢阅读!
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 手把手教你破解文件密码、wifi密码、网页密码 2019-07-24
- 手把手教你实现"短信轰炸" 2019-07-24
- 手把手教你微信好友头像形成指定的文字 2019-07-24
- 用Python手把手教你搭建一个web框架-flask微框架! 2019-01-11
- Python绘图精简实例附代码!看完此篇学不会?我手把手教你! 2018-09-18
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash