通过Python调用天市数据的火车查询接口
前置条件
在开始前,请作如下准备
1.学会用Python输出“Hello World”
2.去 天市数据 申请火车查询专用的KEY
操作步骤
1.配置好Python开发环境
2.新建一个train.py文件,并输入以下内容:
#!/usr/bin/python
# encoding:utf-8
import urllib2, json, urllib, time
# 1、站站查询
data = {}
data["appkey"] = "输入你在天市数据申请的key"
data["start"] = raw_input("输入出发地:")
data["end"] = raw_input("输入出发地:")
data["ishigh"] = 0
url_values = urllib.urlencode(data)
url = "http://apis.tiisi.com/train/line" + "?" + url_values
request = urllib2.Request(url)
result = urllib2.urlopen(request)
jsonarr = json.loads(result.read())
if jsonarr["status"] != u"0":
print jsonarr["msg"]
exit()
result = jsonarr["result"]
for val in result:
print val["trainno"],val["type"],val["station"],val["endstation"]
3.CMD下切换到train.py目录,输入python train.py,正常情况下你应该看到类似下面的内容:
{"status":"0","msg":"ok","result":[{"trainno":"G34","type":"高铁","station":"杭州东","endstation":"北京南","departuretime":"07:11","arrivaltime":"13:05","sequenceno":"1","costtime":"5时54分","distance":"1279","isend":"1","pricesw":"1701","pricetd":"","pricegr1":"","pricegr2":"","pricerw1":"0","pricerw2":"0","priceyw1":"0","priceyw2":"0","priceyw3":"0","priceyd":"907.0","priceed":"301.0"},{"trainno":"G32","type":"高铁","station":"杭州东","endstation":"北京南","departuretime":"08:30","arrivaltime":"13:28","sequenceno":"1","costtime":"4时58分","distance":"1279","isend":"1","pricesw":"489.5","pricetd":"","pricegr1":"","pricegr2":"","pricerw1":"0","pricerw2":"0","priceyw1":"0","priceyw2":"0","priceyw3":"0","priceyd":"261.0","priceed":"155.0"},{"trainno":"G58","type":"高铁","station":"杭州东","endstation":"北京南","departuretime":"08:52","arrivaltime":"14:39","sequenceno":"4","costtime":"5时47分","distance":"1279","isend":"1","pricesw":"1701","pricetd":"","pricegr1":"","pricegr2":"","pricerw1":"","pricerw2":"","priceyw1":"","priceyw2":"","priceyw3":"","priceyd":"907.0","priceed":"538.5"},{"trainno":"G36","type":"高铁","station":"杭州东","endstation":"北京南","departuretime":"09:05","arrivaltime":"14:49","sequenceno":"1","costtime":"5时44分","distance":"1279","isend":"1","pricesw":"777.5","pricetd":"","pricegr1":"","pricegr2":"","pricerw1":"0","pricerw2":
