您的位置:首页 > 编程语言 > Python开发

灰灰教你学python ~小黄鸡自动回复

2015-05-31 22:17 645 查看
一、Python语法的特点:

1.不需要分号来表示语句结束

2.不需要定义变量类型

3.通过缩进来分层(空四格、不需要{ })

ps:请安装python2.7.5,安装完成后再桌面新建一个txt,将后缀名改为.py,右击-edit with idel即可开始写代码

二、输入和输出:

1.输入

a=input("提示语句")  #输入一个数字
a=raw_input("提示语句")  #输入一个字符串


2.输出

print a   #输出a


三、常规结构:

1.分支结构:

if 表达式:    #冒号不能省略!!!
语句1   #前面空4格!!!
...
else:
语句2
...


2.循环结构:

while 表达式:  #冒号不能省略!!!
语句1
...


四、接下来开始实现人人小黄鸡的功能

1.基础知识介绍:网页都是由代码写成的,随便进入一个网址,右击-查看源代码 即可查看到整个网站的源代码

import urllib2                    #导入模块
url=r'http://www.baidu.com'
reson=urllib2.urlopen(url)          #发送请求
print reson.read()                 #输出网页源代码


2.我们通过调用图灵机器人的接口来实现小黄鸡

请求格式请查看:http://www.tuling123.com/openapi/cloud/access_api.jsp


1.请求的网址为”http://www.tuling123.com/openapi/api?key=KEY&info=你漂亮么”

KEY需要自己申请,大家可以使用我的key:77aa5b955fcab122b096f2c2dd8434c8

即请求网址为:

http://www.tuling123.com/openapi/api?key=77aa5b955fcab122b096f2c2dd8434c8&info=你漂亮么’

2.反馈内容:我们在浏览器中输入上述网址

通过API请求得到了json格式的反馈信息。 与python的字典处理相同



‘text’即为回复的内容

3.说了那么多开始写代码咯:

小黄鸡1.py

import urllib2
import json
url= r'http://www.tuling123.com/openapi/api?key=77aa5b955fcab122b096f2c2dd8434c8&info=hello'  #请求的网址
reson = urllib2.urlopen(url)       #得到 HTTP 的返回码
reson = json.loads(reson.read())   #把Json格式字符串解码转换成Python对象
print reson['text']                #将字典中的'text'键的值打印


得到以下结果:



小黄鸡2.py

在url中发送了请求内容,我们无法实现自己输入,将上述程序少做修改

import urllib2
import json
a=raw_input("请输入:")
url = r'http://www.tuling123.com/openapi/api?key=77aa5b955fcab122b096f2c2dd8434c8&info='+a  #请求的网址
reson = urllib2.urlopen(url)       #得到 HTTP 的返回码
reson = json.loads(reson.read())   #把Json格式字符串解码转换成Python对象
print reson['text']                #将字典中的'text'键的值打印


效果如下



小黄鸡3.py

虽然实现了手动输入,但是依旧有些不完美,只能回复一句话,因此我们进一步改进

import urllib2
import json
while 1:
a=raw_input("A:")
url = r'http://www.tuling123.com/openapi/api?key=77aa5b955fcab122b096f2c2dd8434c8&info='+a  #请求的网址
reson = urllib2.urlopen(url)       #得到 HTTP 的返回码
reson = json.loads(reson.read())   #把Json格式字符串解码转换成Python对象
print "B:",reson['text'],'\n'              #将字典中的'text'键的值打印


效果图如下



小黄鸡4.py

虽然上述代码已经实现了与小黄鸡交谈,但是为了日后的方便调用,最好将程序已函数形式呈现,具体如下:

import urllib2
import json
def xiaohuangji(content):

url = r'http://www.tuling123.com/openapi/api?key=77aa5b955fcab122b096f2c2dd8434c8&info='+content  #请求的网址
reson = urllib2.urlopen(url)       #得到 HTTP 的返回码
reson = json.loads(reson.read())   #把Json格式字符串解码转换成Python对象
print "B:",reson['text'],'\n'              #将字典中的'text'键的值打印

print "您已开始进入与小黄鸡的交谈\n"
while 1:
content=raw_input("A:")
if content=='quit':
print "\n您已退出与小黄鸡的交谈"
else:
xiaohuangji(content)


通过以上介绍,相信你已经对于json格式的数据爬虫有了一定的了解

按照上述方法可以调用图灵机器人的一下功能:列车,航班,菜谱等

http://www.tuling123.com/openapi/cloud/access_api.jsp

同时提供以下请求网址:

有道词典: http://fanyi.youdao.com/openapi.do?keyfrom=Garfield&key=1559823038&type=data&doctype=json&version=1.1&q=hello

天气查询:http://weather.51wnl.com/weatherinfo/GetMoreWeather?cityCode=101020100&weatherType=0

实时股票:http://hq.sinajs.cn/list=sh600000

赶快来试试吧
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python json 小黄鸡