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