数据来源:Tushare大数据社区
工具
postman
python
http restful 采用post方式,通过json body传入接口参数,请求地址为http://api.tushare.pro
方法
其实就是采用http协议获取json格式的数据,采用post方式,通过json body传入接口参数,请求地址为http://api.tushare.pro
token获取方法如下图
接口获取方法如下图
通过输出参数这个页面我们知道股票字段:
再根据输出参数看你需要的字段,可以在postman的raw里面输入如下参数
postman输入结果:
python解析获取的json格式文件
如图可以我们需要的数据在data下的fields和items两个标签下
将json格式转换成字典dict
import json
with open('stocklist.json', 'r', encoding='utf-8') as f:
#将json格式转换成字典dict
text = json.load(f)
f.close()
print((text))
解析并保存data中的fields字段列表和items股票数据
#field将所有字段保存在一个列表中
#'[ts_code', 'symbol', 'name', 'area']
field=text["data"]['fields']
#length为每个fields和items列表中元素个数
length=len(field)
#追加写方式a,创建并打开stocklist.csv文件
with open('stocklist.csv', 'a', encoding='utf-8') as ff:
#先将字段转成字符串格式写词文件第一行
ff.write(",".join(field)+"\n")
#遍历items,即所有股票信息
for stock in text["data"]['items']:
line = ""
#因为每个股票的各个字段在一个列表中,将列表转为字符串,因为有些字段为null,防止字段丢失,所有要用循环
for i in range(length):
if(i!=length-1):
#['000020.SZ', '000020', '深华发A', '深圳']
#如果是股票最后一个字段'深圳',则不加换行符
line += str(stock[i])+","
else:
line += str(stock[i])+"\n"
#将生成的字符串追加写入文本文件
#'000020.SZ', '000020', '深华发A', '深圳'
ff.write(line)
print("成功")
ff.close()
输出结果: