1. 程式人生 > >大四學長手把手教我們從零開始利用Python開發微信公眾號!已學會

大四學長手把手教我們從零開始利用Python開發微信公眾號!已學會

基礎配置 微信公眾 快遞 技術分享 工作 信息 怎麽 test 實現

技術分享圖片

技術分享圖片

在一般的使用中,我們可以通過設置關鍵字實現一些基本的自動回復功能,但是這樣的關鍵字回復遠遠不能滿足我們的實際需求,比如我們要實現一個查快遞的功能,必然是要通過調用快遞接口對不同用戶的不同輸入給出不同的輸出結果,在這樣的情況下關鍵字回復就顯得很雞肋了。於是我們選擇了開發者模式。

進群: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、其他文字信息 原樣返回

謝謝閱讀!

大四學長手把手教我們從零開始利用Python開發微信公眾號!已學會