python用requests和urllib2两种方式调用图灵机器人接口

最近从网上看见个有意思的图灵机器人,可以根据不同的信息智能回复,比如你发送一个“讲个笑话”,它就会给你回复一个笑话,或者“北京天气”就可以回复天气情况,或者英文单词然后给你回复中文释义。官方文档中有php和java的调用方式,我就弄个python的吧。

###注册获取API KEY
这一步很简单,直接注册一个账号就可以看到你的API KEY。这个KEY我们以后发送get请求的时候需要用到。

###Pythoh调用示例
掉用也比较简单,主要是模拟post 请求。然后解析 json 数据。可以使用 requests,也可以使用 urllib 和 urllib2。你可能没有安装requests,可以点击这个链接查看官方文档并安装,request大大简化了发送http请求的步骤。

import json
import requests
import urllib
import urllib2

KEY = '***********************'    # change to your API KEY
url = 'http://www.tuling123.com/openapi/api'

req_info = u'讲个笑话'.encode('utf-8')


query = {'key': KEY, 'info': req_info}
headers = {'Content-type': 'text/html', 'charset': 'utf-8'}


# 方法一、用requests模块已get方式获取内容
r = requests.get(url, params=query, headers=headers)
res = r.text
print json.loads(res).get('text').replace('<br>', '\n')


# 方法二、用urllib和urllib2库获取内容
data = urllib.urlencode(query)
req = urllib2.Request(url, data)
f = urllib2.urlopen(req).read()
print json.loads(f).get('text').replace('<br>', '\n')

输出的内容就是解析后的text内容,比如这个发送的是“讲个笑话”, 然后运行这个脚本就会输出笑话啦。你可以把它放到你的微信公众平台上当一个生活助手。