1. 程式人生 > >flask+新浪sae+圖靈機器人實現超簡單微信公眾號智慧回覆功能

flask+新浪sae+圖靈機器人實現超簡單微信公眾號智慧回覆功能

人工智慧很火,但是智慧演算法對於大多數人來說門檻兒還是挺高的

對於我們這種喜歡折騰的碼農來說,就算不會演算法也要又一顆想折騰的心

我們不會演算法,可以基於已經成熟的演算法成果來做一些好玩兒的東西

本文介紹下微信公眾號接入圖靈機器人實現智慧回覆功能

  1. 申請微信公眾號;

  2. 申請新浪SAE,初次申請新浪會給200個雲豆,完全夠我們玩兒一陣兒了;

  3. 在新浪SAE上建立一個python的專案,使用git或者svn把工程程式碼拉下來,我使用的是git;

  4. 使用pyCharm建立flask專案;

  5. flask專案接入微信公眾號;

  6. 申請圖靈機器人,網站是http://www.tuling123.com/;

  7. flask對接圖靈機器人api;

  8. 將flask程式碼提交到sae上;

  9. 結束。

效果如下,做完以後不由的感覺python的方便快捷

圖1

申請微信公眾號,新浪雲申請,新建應用這些就不贅述了

flask接入微信公眾號

圖2

如上圖所示,點選進入微信的這個頁面,具體路徑是左側下方的開發標籤下的基本配置,點選進入後,點選伺服器配置按鈕進入上圖所示頁面,

需要填寫的又兩個內容:

  1. URL 這個就是新浪SAE建立應用後對應的地址

  2. token,這個令牌可隨意填寫一個,和flask服務裡校驗接口裡的token一致就行

下面就到校驗介面的部分了,直接上程式碼吧,校驗方法如下:

@app.route('/', methods=['GET'])
def wechat():
if request.method == 'GET'
:
# 這裡改寫你在微信公眾平臺裡輸入的token
token = 'xxxxxx'
# 獲取輸入引數
query = request.args
signature = query.get('signature', '')
timestamp = query.get('timestamp', '')
nonce = query.get('nonce', '')
echostr = query.get('echostr', '')
s = [timestamp, nonce, token]
s.sort()
s = ''
.join(s)

if hashlib.sha1(s).hexdigest() == signature:
resp = make_response(echostr)
resp.headers['content-type'] = 'text'
return resp
else:
return ""

簡單流程就是,點選圖2中的按鈕後,微信會向URL指向的地址傳送一個http的GET請求,會帶4個引數,分別是signature,timestamp,nonce和echostr,token,timestamp,nonce進行sha1後於signature進行比較是否相等,如果相等返回echostr,微信端接收到回和發出去的值進行比較,如果一致,則會顯示成功。

flask對接圖靈機器人api

使用者通過微信公眾號輸入框傳送的文字,在服務端接收到後,有一個MsgType欄位,如果該欄位是text,則表示的是文字,將text傳送給圖靈的API進行語義分析,別獲取到返回的json,具體程式碼如下:

@app.route('/', methods=['POST'])
def autoreplay():
xml = ET.fromstring(request.data)
toUser = xml.find('ToUserName').text
fromUser = xml.find('FromUserName').text
msgType = xml.find("MsgType").text
createTime = xml.find("CreateTime")
if msgType == 'text':
content = xml.find('Content').text
content = text_reply(content)
resp = make_response(reply_text(fromUser,
       
toUser, reply(fromUser, content)))
resp.headers['content-type'] = 'text'
return resp
elif msgType == 'location':
location.getInfo(xml)
else:
'暫不支援圖片視訊語音類'

上面這段程式碼是解析http各個欄位的,主要獲取到content,將content扔給text_replay方法

def text_reply(msg):
info = msg['Text'].encode('utf-8')
url = 'http://www.tuling123.com/openapi/api'
data = {u"key": "申請的key", "info": info, u"loc": "",
           
"userid": ""}
response=request.post(url,data).content
s = json.loads(response, encoding='utf-8')
return s['text']

下面就是將寫好的程式碼通過git上傳到新浪雲上了,上傳成功後,試試給微信公眾號發一段文字吧,說不定一次就成功了

歡迎關注公主號


相關推薦

flask+sae+機器人實現簡單公眾智慧回覆功能

人工智慧很火,但是智慧演算法對於大多數人來說門檻兒還是挺高的對於我們這種喜歡折騰的碼農來說,就算不會演算法也要又一顆想折騰的心我們不會演算法,可以基於已經成熟的演算法成果來做一些好玩兒的東西本文介紹下微信公眾號接入圖靈機器人實現智慧回覆功能申請微信公眾號;申請新浪SAE,初次

手把手教你用機器人公眾自動回覆助手

本文首發於我的個人部落格:尾尾部落 閱讀這篇文章,你將會學會以下內容: 如何用flask搭建微信公眾平臺服務 如何將在微信公眾平臺呼叫圖靈機器人 如何用uwsgi+supervisor+nginx部署flask應用 實驗

Python-快速實現公眾自動回覆(聊天機器人

原理:通過微信公眾號提供的開發者模式,利用Python搭建環境,實現自動回覆,回覆內容通過呼叫圖靈機器人的API 配置:伺服器(這裡是阿里雲主機,Ubuntu),公眾號,圖靈機器人 一,公眾平臺上進行開發配置 三種加密方式,按需選擇。第一種最簡單,最不安全(我這裡選擇的第

如何實現自動採集公眾文章

微信公眾號運營最讓人頭疼的就是如何寫出好的文章。在這瞬息萬變又人才輩出的時代,各類微信公眾號如雨後春筍般湧現,如何讓自己的微信公眾號文章脫穎而出,真正抓住公眾眼球,獲得持久關注?優秀的微信公眾號都是相似的,平庸的微信公眾號各有各的平庸。喬老爺子說:“好的藝術家是抄襲,偉大的

原生js利用機器人實現自動回覆功能

HTML程式碼: <style type="text/css"> * { padding: 0; margin: 0; } .imgLayout { width: 100%; height: 100%; margin: 0 auto;

【打死不做程式設計師】python3+qqBot+機器人實現qq聊天機器人

原理:   通過Python3的qqBot開源庫,基於騰訊的smartQQ協議登入個人QQ,實現監控、收集QQ訊息,進而通過圖靈機器人API接入方式實現自動聊天。   零、前期準備:   1、Python3   2、qqBot & requests & re   3、

Arduino+W5100+SAE(開發語言:Python)+公眾平臺(實現LED控制)

閱讀本部落格之前,建議先參考部落格:微信客戶端+微信公眾平臺+新浪雲SAE+Arduino+WS100(控制LED) 不同之處:主要是伺服器使用的語言,本部落格使用的是Python 一、硬體部分 1) Arduino、W5100 連線圖如下: 硬體

公眾+Flask+SAE 配置

原理:在微信公眾號後臺,呼叫flask寫的服務。 新浪SAE中,申請雲應用SAE,python,標準環境,程式碼管理:SVN()。 程式碼管理—建立版本,我建立的是版本號為1的版本,所以連結為:http://1.cdedunews.applinzi.com,右側有編輯程式

Python使用itchat庫+機器人實現群聊助手

   以前在csdn上寫過一篇itchat的入門級部落格:Python從程式設計零基礎打造一款微信聊天自動回覆機器人,有快1000的訪問量了,這讓我備受鼓舞,還有小夥伴評論說怎麼實現群聊訊息回覆,恰巧今天下午沒事,一起來探討吧。  首先安裝python環境,然後安裝第三方包

實現公眾聊天機器人,自動回覆——nodejs+機器人

登入微信測試號:https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index設定開發介面:填寫url地址和token,url是在微信公眾號傳送訊息的時候呼叫的介面地

python呼叫機器人實現自動回覆

環境準備:微訊號pip  install itchat  pillow去圖靈官網註冊賬號,主要申請獲得api介面“key”http://www.tuling123.com# -*- coding=utf

Python 使用機器人實現聊天功能

測試 自己的 class port get 圖靈 com reat arch   首先需要去圖靈官網創建一個屬於自己的機器人然後得到apikey。 一、自動與指定好友聊天 # -*- coding: utf-8 -*- """ Created at 2019

公眾:搭建SAE伺服器,遇到token驗證失敗的問題

度娘了下,找到以下方法,親測可用。把從微信公眾平臺下載的wx_sample.php,裡面程式碼改為如下,再重新上傳到新浪,token就驗證通過了,有其他問題歡迎在評論區留下問題: <?php header("Content-Type:text/html; ch

如何在公眾呼叫機器人智慧聊天)

最近在研究微信公眾號,有人問我可以找你的公眾號聊天嗎?我的第一反應是我很忙我要上班沒有時間,後面就度娘了一下,發現了這個神奇的圖靈機器人,可以替你跟使用者聊天!是否期待你的公眾號有一個萌萌噠機

公眾開發-java版 騰訊課堂(消息收發 +聊天機器人)

請求 微信公眾 www. 包裝類 jsonarray 公眾號 cli robot lan 圖靈機器人 (第三方接口) 使用httpclientUtils工具類請求 #圖靈機器人 請求接口json數據 { "reqType":0, "perc

python-flask-SAE公眾

最近實名認證了新浪雲,送了三百雲豆,本來以為可以長期有效,但是沒想到坑爹的新浪雲即使沒有使用,居然也每天自動扣除雲豆。這也就解釋了為什麼我首次開通時候送的兩百顆在沒有使用的情況下平白無故消失的原因。 言歸正傳,也正是新浪雲的每天扣豆促使了我這種早有想法卻一直懶癌發作的人花了

公眾接入機器人

大家推薦個靠譜的公眾號程式設計師探索之路,大家一起加油,這個公眾號已經接入圖靈 ​   1.首先你得有一個微信公眾號可以在這裡申請 https://mp.weixin.qq.com/ 2.申請一個圖鈴機器人 http://www.tuling123.com/

公眾基礎01_利用git免費在雲搭建測試伺服器

新浪雲服務商提為使用者提供了雲應用平臺SAE,其中新註冊的使用者可以獲得一定程度的免費使用額度,利用該平臺可以搭建微信公眾號測試號伺服器,可以初學公眾號的小夥伴們練練手。 1.SAE建立應用 首先開啟新浪雲,用微博帳號登入,進入使用者中心,首次進入之後會送200的“雲豆”,

公眾 點擊預覽大。支持滑動,雙擊放大功能

-1 放大 ++ inf cti this b- click scrip <script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script

文章排版:公眾新增4個功能

改變 完成 png 新增 基本配置 dfa 縮小 理想 經理 微信公眾號排版對於新媒體運營是一個必知的課題。 就像中國人必須會說國語一樣。 說起排版,現在的排版都流行簡潔風格,那麽這裏也延續簡潔風。 我給大家列出了公眾號排版的一些基本配置,如有雷同,那就對了! 字號 建議