欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

程序员文章站 2023-01-19 18:48:12
在一般的使用中,我们可以通过设置关键字实现一些基本的自动回复功能,但是这样的关键字回复远远不能满足我们的实际需求,比如我们要实现一个查快递的功能,必然是要通过调用快递接口对不同用户的不同输入给出不同的输出结果,在这样的情况下关键字回复就显得很鸡肋了。于是我们选择了开发者模式。 进群:12524096 ......
大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

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

进群:125240963   即可获取数十套PDF哦!

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

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

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

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

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

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

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

2.1 服务器配置和 Token 认证

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

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

config.yaml

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

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

新建weixinInterface.py

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

文本:

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

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

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

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

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

在目录下新建 templates/reply_text.xml

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

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

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

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

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

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

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

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

以安装 requests 为例。

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

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

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

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

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

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

新建 imgtest.py

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

修改 weixinInterface.py

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

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

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

大四学长手把手教我们从零开始利用Python开发微信公众号!已学会

 

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

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

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

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

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

谢谢阅读!