首先,现在新浪接口在提交request请求的时候,需要提交表头。第二,金融期货的前缀要加CFF_RE_合约号(大写)。商品期货不知道为啥不用加前缀,反正就这样写吧。一定要注意,金融期货和商品期货返回的数据格式是不一样的,所以数据序号不通用。然后期货和股票返回的数据格式也是不一样的。
金融期货测试代码如下:
import requests
def getTick():#获取某股票最新成交价
url = "http://hq.sinajs.cn/list=CFF_RE_IF2206"
headers={'Referer':'https://finance.sina.com.cn/'}
page = requests.get(url,headers=headers)
stock_info = page.text
print(stock_info)
mt_info = stock_info.split(",")#爬取到数据信息
last = float(mt_info[3])
trade_datetime = mt_info[36] + ' '+ mt_info[37]#交易时间
tick = (last,trade_datetime)
return tick#得到股票最新成交价、时间
last_tick = getTick()#进入网页获取数据
print(last_tick)
数据结构含义:
其他数据请求格式参考: