
今天同学问我一个问题, 怎么通过股票code获取股票名称。 这里简单整理几种技术方案
1、akshare获取(
如果是早期, 通过akshare接口获取非常简单。 现在 因为频繁爬取容易封IP, 我们可以通过接口把数据入库或保存json文件, 直接读取。
"stock_zh_a_spot"# 新浪 A 股实时行情数据"stock_zh_a_spot_em"# 东财 A 股实时行情数据简单写个代码
import akshare as ak
def fetch_market_data():
try:
# 使用AKShare获取A股市场现货数据
stock_zh_a_spot_df = ak.stock_zh_a_spot_em()
return stock_zh_a_spot_df
except Exception as e:
st.error(f"获取数据失败: {e}")
return None, None, None2、tushare接口
Tushare 提供全面的金融数据接口,需注册并获取 Token 后调用其 stock_basic 接口获取股票代码与名称的映射关系。
import tushare as ts
ts.set_token('你的Token') # 需在官网注册获取
pro = ts.pro_api()
# 获取所有上市公司基本信息
data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name')
print(data[['ts_code', 'name']]) 3、自己写爬虫
比如网站巨潮资讯,例如 https://www.cninfo.com.cn/new/data/szse_stock.json
import requests
def main():
url = 'https://www.cninfo.com.cn/new/data/szse_stock.json'
response = requests.get(url)
response.raise_for_status()
print(response.json())4、使用迅投miniqmt
get_instrument_detail(stock_code, iscomplete)try:
# 通过QMT API获取合约详情
instrument_detail = xtdata.get_instrument_detail(full_code)
if instrument_detail and 'InstrumentName' in instrument_detail:
stock_name = instrument_detail['InstrumentName']
return stock_name
else:
return "未知证券"
except Exception as e:
print(f"获取证券名称失败(QMT API错误): {e}")
return "未知证券"如果我分享的内容对你有所启发有所帮助,麻烦帮我点个赞点个关注。