某化大学,教授亲自手把手,从零基础交我们Python利用开发公众号
在一般的使用中,我們可以通過設置關鍵字實現一些基本的自動回復功能,但是這樣的關鍵字回復遠遠不能滿足我們的實際需求,比如我們要實現一個查快遞的功能,必然是要通過調用快遞接口對不同用戶的不同輸入給出不同的輸出結果,在這樣的情況下關鍵字回復就顯得很雞肋了。于是我們選擇了開發(fā)者模式。
輸入二級域名和應用名稱(必填項),在下面的運行環(huán)境中選擇 Python2.7 - 空應用。
成功創(chuàng)建應用后,會獲得相應的一些配置數據和密鑰,當然這些內容這次用不到,主要用到的就是登陸賬號和安全密碼。
SAE平臺的代碼版本控制分為Git和SVN,兩者可以自由選擇,這次我們選擇使用Git進行代碼的上傳操作。
2.1 服務器配置和 Token 認證
由于我們之前在 SAE 平臺創(chuàng)建的是空應用,所以我們需要做一些基礎的配置工作。這次我們選擇使用 web.py (Python 2.7)來進行服務器搭建,如果本地沒有 web.py 庫的話可以通過 pip 命令進行安裝(pip install web.py)。
之后我們需要創(chuàng)建一個項目,并編輯如下的基本代碼。
config.yaml
這兩部分是 web.py 的基礎配置文件,之后我們需要開始編寫實現微信公眾平臺功能的代碼。
新建weixinInterface.py
文本:
可以看到,兩者共有的字段為ToUserName、FromUserName、CreateTime、MsgType和MsgId,對于文本消息,我們可以通過Content字段直接提取出消息文本內容,但是對于圖片消息,我們需要通過PicUrl或MediaId獲取圖片信息后進行處理。
獲取到用戶發(fā)送的消息后,我們需要考慮如何給用戶發(fā)消息,其實并不難,我們只需要給定一個消息模板,并在相應的功能最后設置返回值即可
return self.render.reply_text(fromUser,toUser,int(time.time()), 'you string here')
在目錄下新建 templates/reply_text.xml
以上操作的功能為:判斷用戶消息類型,如果消息類型為文本,則獲取其內容content,并原樣返回 content 作為消息。
完成以上修改后,重復 git 操作將修改 push 到遠程倉庫即可。
2.3 文本消息操作小例——查快遞
上一小節(jié)我們已經完成了對文本消息最基礎的操作,但是原樣返回內容,并沒有做任何更多的操作,這一次我們來試試快遞接口。
具體做法不一定拘泥于官方給出的步驟,可以自己在本地倉庫新建文件夾 vendor ,然后使用pip -t 選項指定第三方庫安裝地址,最后添加路徑到 index.wsgi文件中。
以安裝 requests 為例。
之后編輯 index.wsgi,在頂部添加代碼即可。
修改 weixinInterface.py,導入 cxkd.py 并修改源代碼。
接口的詳情可以到上文的鏈接中查看,這里直接給出代碼好了。
新建 imgtest.py
修改 weixinInterface.py
然后 git 提交到遠程倉庫。測試如下:
做著玩兒的,關不關注無所謂,因為平時也不怎么寫東西推東西。源代碼已經貼出來了,照著文章幾分鐘能搭出來一個一模一樣的。
現在的功能就三塊,更多的東西還沒加:
1、回復 快遞xxxxxx 自動識別快遞公司
2、發(fā)送圖片 識別性別和年齡
3、其他文字信息 原樣返回
謝謝閱讀!
總結
以上是生活随笔為你收集整理的某化大学,教授亲自手把手,从零基础交我们Python利用开发公众号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Material Design 组件之
- 下一篇: 硬盘的原理以及SQL Server如何利