From 81f328532e366eef171b71810b221a9294dda78f Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期四, 21 十二月 2023 14:31:58 +0800 Subject: [PATCH] 买入条件调整/L撤调整 --- third_data/kpl_api.py | 65 ++++++++++++++++++++++++++++++-- 1 files changed, 61 insertions(+), 4 deletions(-) diff --git a/third_data/kpl_api.py b/third_data/kpl_api.py index 5cbbe23..187eff3 100644 --- a/third_data/kpl_api.py +++ b/third_data/kpl_api.py @@ -1,7 +1,9 @@ import json +import time import requests +import constant from utils import middle_api_protocol # 绔炰环 @@ -16,7 +18,7 @@ DABAN_TYPE_EVER_LIMIT_DOWN = 5 -def __base_request(url, data): +def __base_request(url, data, timeout=60): DELEGATE = True if not DELEGATE: headers = { @@ -25,7 +27,8 @@ } # proxies={'https': '192.168.3.251:9002'} # 绂佹浠g悊锛屼笉鐒朵細璧版湰鍦颁唬鐞� - response = requests.post(url, data=data, headers=headers, proxies={"http": None, "https": None}) + response = requests.post(url, data=data, headers=headers, proxies={"http": None, "https": None}, + timeout=timeout) if response.status_code != 200: raise Exception("璇锋眰鍑洪敊") return response.text @@ -125,12 +128,66 @@ # 鑾峰彇鑷敱娴侀�氬競鍊� def getZYLTAmount(code): data = f"a=GetStockPanKou_Narrow&apiv=w32&c=StockL2Data&VerSion=5.8.0.2&State=1&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&StockID={code}&" - result = __base_request("https://apphq.longhuvip.com/w1/api/index.php", data=data) + result = __base_request("https://apphq.longhuvip.com/w1/api/index.php", data=data, timeout=3) result = json.loads(result) if "real" in result: return result["real"].get("actualcirculation_value") return None +# 鑾峰彇F10涓殑绮鹃�夋澘鍧� +def __getConceptJXBK(code): + data = f"a=GetConceptJXBKw23&apiv=w32&c=StockF10Basic&StockID={code}&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&" + result = __base_request("https://apparticle.longhuvip.com/w1/api/index.php", data=data, timeout=3) + result = json.loads(result) + if result: + if "List" in result: + names = [x["CName"] for x in result["List"]] + return names + return [] + + +# 鑾峰彇F10甯歌鏉垮潡 +def __getConceptBK(code): + data = f"a=GetConceptw23&apiv=w32&c=StockF10Basic&StockID={code}&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&" + result = __base_request("https://apparticle.longhuvip.com/w1/api/index.php", data=data, timeout=3) + result = json.loads(result) + if result: + if "List" in result: + names = [x["CName"] for x in result["List"]] + return names + return [] + + +# 鑾峰彇浠g爜鐨勬澘鍧� +def getCodeBlocks(code): + blocks = [] + try: + _bks = __getConceptJXBK(code) + if _bks: + blocks.extend(_bks) + except: + pass + + try: + _bks = __getConceptBK(code) + if _bks: + blocks.extend(_bks) + except: + pass + return list(set(blocks)) + + + if __name__ == "__main__": - getCodeJingXuanBlocks("002316") + blocks = getCodeBlocks("600713") + blocks1 = getCodeJingXuanBlocks("600713") + if len(blocks) > 2: + # 鏍规嵁娑ㄥ箙鎺掑簭 + blocks.sort(key=lambda x: x[2]) + blocks.reverse() + datas = [] + for b in blocks: + if b[2] > 0 and b[1] not in constant.KPL_INVALID_BLOCKS: + datas.append(b) + print(datas) -- Gitblit v1.8.0