Base URL: https://qt.gtimg.cn/q=代码
特点:
前缀市场示例sh上交所sh000001(上证指数)、 sh600519(茅台)sz深交所sz399001(深证成指)、 sz000858(五粮液)
前缀市场示例hk港交所hkHSI(恒生指数)、 hkHSTECH(恒生科技)hk港交所个股hk00700(腾讯)、 hk09988(阿里)
代码名称usNDX纳斯达克 100usSPX标普 500usDJI道琼斯
代码名称hf_GC黄金(COMEX)hf_CLWTI 原油hf_SI白银
代码名称fx_usr美元/人民币(USD/CNY)
返回字段以 ~ 分隔,关键字段索引:
索引含义[3]当前价格[4]昨收价格[5]今开价格[31]涨跌额[32]涨跌幅(%)[33]最高价[34]最低价[36]成交量(手)[37]成交额(万元)[38]换手率(%)[39]市盈率(PE)[43]振幅(%)[44]流通市值[45]总市值
python
import requests
def get_quote(code):
url = f"https://qt.gtimg.cn/q={code}"
resp = requests.get(url, timeout=10)
data = resp.text
# 解析 v_xxx="51~名称~代码~价格~..."
parts = data.split('="')[1].strip().strip('";')
fields = parts.split('~')
return {
"name": fields[1],
"code": fields[2],
"price": fields[3],
"yesterday_close": fields[4],
"open": fields[5],
"change": fields[31],
"change_pct": fields[32],
"high": fields[33],
"low": fields[34],
"volume": fields[36],
"turnover": fields[37],
"turnover_rate": fields[38],
"pe": fields[39],
"amplitude": fields[43],
}
# 示例
quote = get_quote("sh000001")
print(f"{quote['name']}: {quote['price']} ({quote['change_pct']}%)")
python
def get_quotes(codes):
# codes: list,如 ["sh000001", "sz399001", "hkHSI"]
url = "https://qt.gtimg.cn/q=" + ",".join(codes)
resp = requests.get(url, timeout=10)
results = []
for line in resp.text.strip().split('\n'):
if '="v_' in line:
parts = line.split('="')[1].strip().strip('";')
fields = parts.split('~')
results.append({
"name": fields[1],
"code": fields[2],
"price": fields[3],
"change": fields[31],
"change_pct": fields[32],
"high": fields[33],
"low": fields[34],
})
return results
# 同时查询多只
quotes = get_quotes(["sh000001", "sz399001", "hkHSI", "hkHSTECH", "sh560860"])
for q in quotes:
print(f"{q['name']}: {q['price']} ({q['change_pct']}%)")
名称代码上证指数sh000001深证成指sz399001创业板指sz399006沪深300sh000300科创50sh000688北证50sz899050
名称代码贵州茅台sh600519宁德时代sz300750比亚迪sz002594招商银行sh600036中国平安sh601318工业有色ETFsh560860
名称代码恒生指数hkHSI恒生科技hkHSTECH腾讯控股hk00700阿里巴巴hk09988美团hk03690小米集团hk01810京东集团hk09618快手hk01024
名称代码工业有色ETFsh560860沪深300ETFsh510300恒生ETFsh159920
在 cron 任务中调用腾讯接口获取行情数据:
python
import requests
codes = ["sh000001", "sz399001", "hkHSI", "hkHSTECH"]
url = "https://qt.gtimg.cn/q=" + ",".join(codes)
resp = requests.get(url, timeout=10)
# 解析并输出