37 lines
1.4 KiB
Python
37 lines
1.4 KiB
Python
"""Test Eastmoney API response time for HK stocks"""
|
|
import urllib.request, json, time
|
|
|
|
codes = ['00700', '01888', '00981']
|
|
UA = 'Mozilla/5.0'
|
|
|
|
for code in codes:
|
|
url = f"https://push2.eastmoney.com/api/qt/stock/get?secid=116.{code}&fields=f43,f170&fltt=2"
|
|
start = time.time()
|
|
try:
|
|
req = urllib.request.Request(url, headers={"User-Agent": UA})
|
|
with urllib.request.urlopen(req, timeout=30) as r:
|
|
resp = json.loads(r.read().decode("utf-8"))
|
|
elapsed = time.time() - start
|
|
price = resp.get('data', {}).get('f43', '?')
|
|
print(f"{code}: {elapsed:.1f}s, price={price}, rc={resp.get('rc')}")
|
|
except Exception as e:
|
|
elapsed = time.time() - start
|
|
print(f"{code}: {elapsed:.1f}s, ERROR: {type(e).__name__}: {e}")
|
|
|
|
# Also test Tencent fallback
|
|
print("\nTencent fallback:")
|
|
url = "http://qt.gtimg.cn/q=hk00700,hk01888,hk00981"
|
|
start = time.time()
|
|
try:
|
|
req = urllib.request.Request(url, headers={"User-Agent": UA})
|
|
with urllib.request.urlopen(req, timeout=10) as r:
|
|
text = r.read().decode("gbk")
|
|
elapsed = time.time() - start
|
|
print(f"Tencent: {elapsed:.1f}s, {len(text)} bytes")
|
|
# Parse first line
|
|
line = text.strip().split('\n')[0]
|
|
print(f" sample: {line[:80]}...")
|
|
except Exception as e:
|
|
elapsed = time.time() - start
|
|
print(f"Tencent: {elapsed:.1f}s, ERROR: {e}")
|