純手工從零開始打造一個(gè)機(jī)器人并不容易埋同,但是我們可以調(diào)用現(xiàn)成的機(jī)器人袄徒稀驹止!
首頁(yè),到【圖靈機(jī)器人】注冊(cè)一個(gè)帳號(hào)观蜗。
注冊(cè)完畢后臊恋,登陸進(jìn)去就可以看到一個(gè)“創(chuàng)建機(jī)器人”的按鈕,點(diǎn)擊創(chuàng)建一個(gè)機(jī)器人:
tuling_robot.png
里面的內(nèi)容都只是隨手一填而已嫂便。
關(guān)鍵的是要把這個(gè)apikey記下來(lái):
tu_robot2.png
剩下的事就簡(jiǎn)單了捞镰,打開“幫助中心”看看把什么數(shù)據(jù)傳過(guò)去就搞定了:
tu_robot3.png
代碼如下:
zhangzhigangdeMacBook-Pro: zhangzhigang$ vim tuling_robot.py
import requests
import json
def tuling_reply(url, apikey, msg):
data = { # 這個(gè)是在幫助手冊(cè)上直接復(fù)制過(guò)來(lái)的
"reqType":0,
"perception": {
"inputText": {
"text": msg
},
"selfInfo": {
"location": {
"city": "北京",
"province": "北京",
"street": "天壇北門"
}
}
},
"userInfo": {
"apiKey": apikey, # 你注冊(cè)的apikey
"userId": "anystr" # 隨便填點(diǎn)
}
}
headers = {'content-type': 'application/json'} # 必須是json
r = requests.post(url, headers=headers, data=json.dumps(data))
return r.json()
if __name__ == '__main__':
apikey = '填入機(jī)器人的apikey'
url = 'http://openapi.tuling123.com/openapi/api/v2'
while True:
msg = input('(輸入quit結(jié)束)> ').strip()
if not msg:
continue
if msg == 'quit':
break
reply = tuling_reply(url, apikey, msg)
print(reply["results"][0]["values"]["text"]) # 可以直接打印reply
運(yùn)行的結(jié)果如下:
zhangzhigangdeMacBook-Pro: zhangzhigang$ python3 tuling_robot.py
(輸入quit結(jié)束)> 今天天氣怎么樣
北京:周二 02月12日 (實(shí)時(shí):-3℃),小雪轉(zhuǎn)多云 東風(fēng)微風(fēng),最低氣溫-7度闸与,最高氣溫-3度
(輸入quit結(jié)束)> 吃了嗎毙替?
還沒吃呢,你打算請(qǐng)嗎
(輸入quit結(jié)束)> 我請(qǐng)客践樱,你出錢
掏錢多沒意思厂画,你直接發(fā)紅包吧。
(輸入quit結(jié)束)> quit