From fb47d36048e94b9a506d5c153e3dd19a01e37df1 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期一, 30 十月 2023 16:30:27 +0800
Subject: [PATCH] bug修复

---
 third_data/kpl_api.py |   38 +++++++++++++++++++++++++++++---------
 1 files changed, 29 insertions(+), 9 deletions(-)

diff --git a/third_data/kpl_api.py b/third_data/kpl_api.py
index e23fc69..c8a20a8 100644
--- a/third_data/kpl_api.py
+++ b/third_data/kpl_api.py
@@ -1,9 +1,9 @@
 import json
+import time
 
 import requests
 
 from utils import middle_api_protocol
-
 
 # 绔炰环
 DABAN_TYPE_BIDDING = 8
@@ -17,7 +17,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 = {
@@ -26,7 +26,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
@@ -35,12 +36,29 @@
         return middle_api_protocol.request(fdata)
 
 
-def daBanList(pidType):
-    data = "Order=1&a=DaBanList&st=50&c=HomeDingPan&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23" \
-           f"&VerSion=5.8.0.2&Index=0&Is_st=1&PidType={pidType}&apiv=w32&Type=4&FilterMotherboard=0&Filter=0&FilterTIB=0" \
+def daBanList(pidType, page_size=50, index=0):
+    data = f"Order=1&a=DaBanList&st={page_size}&c=HomeDingPan&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23" \
+           f"&VerSion=5.8.0.2&Index={index}&Is_st=1&PidType={pidType}&apiv=w32&Type=4&FilterMotherboard=0&Filter=0&FilterTIB=0" \
            "&FilterGem=0 "
     result = __base_request("https://apphq.longhuvip.com/w1/api/index.php", data=data)
     return result
+
+
+def getLimitUpInfo():
+    list_ = []
+    page_size = 50
+    MAX_SIZE = 150
+    for i in range(0, 10):
+        result_str = daBanList(DABAN_TYPE_LIMIT_UP, page_size=page_size, index=len(list_))
+        result = json.loads(result_str)
+        temp_list = result["list"]
+        list_ += temp_list
+        if len(temp_list) < page_size:
+            result['list'] = list_
+            return json.dumps(result)
+        elif len(list_) > MAX_SIZE:
+            return json.dumps(result)
+    return None
 
 
 # 甯傚満琛屾儏-琛屼笟
@@ -102,13 +120,14 @@
     data = f"a=GetStockIDPlate&apiv=w32&Type=2&c=StockL2Data&StockID={code}&PhoneOSNew=1&UserID=0&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&Token=0&"
     result = __base_request("https://apphq.longhuvip.com/w1/api/index.php", data=data)
     result = json.loads(result)
-    return result.get("ListJX")
+    print(result)
+    return result.get("ListJX") if result.get("ListJX") else result.get("List")
 
 
 # 鑾峰彇鑷敱娴侀�氬競鍊�
 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")
@@ -116,4 +135,5 @@
 
 
 if __name__ == "__main__":
-    print(len(json.loads(daBanList(DABAN_TYPE_LIMIT_UP))["list"]))
+    start = time.time()
+    print(getZYLTAmount("000333"), time.time() - start)

--
Gitblit v1.8.0