fix: 价格从腾讯API实时拉(盘后可用)+行业从stock_sectors补

This commit is contained in:
知微
2026-07-09 21:30:54 +08:00
parent 35e2486e41
commit 552645b307
+15 -5
View File
@@ -83,7 +83,7 @@ def _build_full_analysis(code, entry, result):
macro_desc = "腾讯实时 " + " ".join(_parts[:3])
except:
pass
# 基本面:直接从腾讯API拉(静态数据,随时可用
# 基本面+实时价:直接从腾讯API拉(盘后也有收盘价
try:
_pfx = "sh" if str(code).startswith(("6", "9")) else "sz"
_r3 = __import__('subprocess').run(["curl", "-s", f"http://qt.gtimg.cn/q={_pfx}{code}"],
@@ -94,15 +94,15 @@ def _build_full_analysis(code, entry, result):
_pe = _p3[39] if _p3[39] else ""
_pb = _p3[40] if len(_p3) > 40 and _p3[40] else ""
_mcap = _p3[44] if len(_p3) > 44 and _p3[44] else ""
_name3 = _p3[1] if _p3[1] else ""
_price_now = float(_p3[3]) if _p3[3] else 0
_chg_now = float(_p3[32]) if len(_p3) > 32 and _p3[32] else 0
if _price_now > 0:
price = _price_now # 覆盖策略中的price=0
if _pe: pe_val = f"PE={_pe}"
if _pb: pb_val = f"PB={_pb}"
if _mcap:
mcap_val = f"市值{float(_mcap)/10000:.1f}亿" if float(_mcap) > 10000 else f"市值{_mcap}"
pe_val += f" {mcap_val}" if pe_val else mcap_val
# 如果还没有大盘数据,顺便从同一响应拿指数
if not macro_desc:
macro_desc = f"{_name3}实时行情"
except:
pass
_db.close()
@@ -140,6 +140,16 @@ def _build_full_analysis(code, entry, result):
lines.append(f"⑥ 支撑阻力:强撑{sr_m.group(1)}→弱撑{sr_m.group(2)}→弱压{sr_m.group(3)}→强压{sr_m.group(4)}")
if sector:
lines.append(f"⑦ 行业背景:{sector}")
else:
# 从stock_sectors表补行业
try:
_s2 = __import__('sqlite3').connect("/home/hmo/MoFin/data/mofin.db")
_sr = _s2.execute("SELECT sector FROM stock_sectors WHERE code=? LIMIT 1", (code,)).fetchone()
if _sr and _sr[0]:
lines.append(f"⑦ 行业背景:{_sr[0]}")
_s2.close()
except:
pass
if category:
lines.append(f"⑧ 分类评级:{category}")
lines.append(f"⑨ 策略信号:{signal}")