From 97ec997e855faee25f8f2e35734f87afa5af6f95 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期二, 27 八月 2024 17:15:21 +0800 Subject: [PATCH] 9:25之前的订阅数据处理 --- third_data/kpl_api.py | 94 ++++++++++++++++++++++++++++++++++++----------- 1 files changed, 72 insertions(+), 22 deletions(-) diff --git a/third_data/kpl_api.py b/third_data/kpl_api.py index 8b7af15..982801e 100644 --- a/third_data/kpl_api.py +++ b/third_data/kpl_api.py @@ -4,6 +4,7 @@ import requests import constant +from third_data import kpl_util from utils import middle_api_protocol # 绔炰环 @@ -18,7 +19,7 @@ DABAN_TYPE_EVER_LIMIT_DOWN = 5 -def __base_request(url, data, timeout=60): +def __base_request(url, data, timeout=10): DELEGATE = True if not DELEGATE: headers = { @@ -33,21 +34,53 @@ raise Exception("璇锋眰鍑洪敊") return response.text else: - fdata = middle_api_protocol.load_kpl(url, data) + fdata = middle_api_protocol.load_kpl(url, data, timeout) return middle_api_protocol.request(fdata) 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" \ + data = f"Order=1&a=DaBanList&st={page_size}&c=HomeDingPan&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e24" \ 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(pidType, page, pageSize): + data = f"Order=0&a=DailyLimitPerformance&st={pageSize}&apiv=w35&Type=4&c=HomeDingPan&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e24&VerSion=5.13.0.0&Index={(page - 1) * pageSize}&PidType={pidType}&" + result = __base_request("https://apphq.longhuvip.com/w1/api/index.php", data=data) + return result + + +def getLimitUpInfoNew(): + pids = [(1, "棣栨澘"), (2, "2杩炴澘"), (3, "3杩炴澘"), (4, "4杩炴澘"), (5, "")] + fresults = [] + for pid_info in pids: + results = [] + for i in range(100): + start_time = time.time() + result = __getLimitUpInfo(pid_info[0], i + 1, 20) + result = json.loads(result) + datas = result["info"][0] + results.extend(datas) + day = result["info"][1] + if len(datas) < 20: + break + for r in results: + if not r[18] and pid_info[1]: + r[18] = pid_info[1] + # 鏇挎崲鎺夋澘鍧楀悕绉� + for i in range(len(r)): + if type(r[i]) == str: + r[i] = kpl_util.filter_block(r[i]) + fresults.extend(results) + + return json.dumps({"errcode": 0, "list": fresults}) + + def getLimitUpInfo(): list_ = [] - page_size = 50 + page_size = 20 MAX_SIZE = 150 for i in range(0, 10): result_str = daBanList(DABAN_TYPE_LIMIT_UP, page_size=page_size, index=len(list_)) @@ -61,9 +94,18 @@ return json.dumps(result) return None + def getHistoryLimitUpInfo(day): - data = f"Order=1&a=HisDaBanList&st=19&c=HisHomeDingPan&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&Index=0&Is_st=1&PidType=1&apiv=w32&Type=6&FilterMotherboard=0&Filter=0&FilterTIB=0&Day={day}&FilterGem=0&" - result = __base_request("https://apphis.longhuvip.com/w1/api/index.php", data=data) + fresults = [] + for i in range(0, 100): + data = f"Order=1&a=HisDaBanList&st=20&c=HisHomeDingPan&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&Index={i * 20}&Is_st=1&PidType=1&apiv=w32&Type=6&FilterMotherboard=0&Filter=0&FilterTIB=0&Day={day}&FilterGem=0&" + result = __base_request("https://apphis.longhuvip.com/w1/api/index.php", data=data) + result = json.loads(result) + result = result["list"] + fresults.extend(result) + if len(result) < 20: + break + return fresults # 甯傚満琛屾儏-琛屼笟 @@ -125,7 +167,7 @@ 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) - print(result) + # print(result) return result.get("ListJX") if result.get("ListJX") else result.get("List") @@ -146,8 +188,8 @@ result = json.loads(result) if result: if "List" in result: - names = [x["CName"].replace("姒傚康", "") for x in result["List"]] - return names + names = [kpl_util.filter_block(x["CName"]) for x in result["List"]] + return names if len(names) < 3 else names[:2] return [] @@ -158,7 +200,7 @@ result = json.loads(result) if result: if "List" in result: - names = [x["CName"].replace("姒傚康", "") for x in result["List"]] + names = [kpl_util.filter_block(x["CName"]) for x in result["List"]] return names return [] @@ -167,18 +209,23 @@ def getCodeBlocks(code): blocks = [] try: - _bks = __getConceptJXBK(code) + _bks = getCodeJingXuanBlocks(code) + # 鍙栧墠2涓� + if _bks and len(_bks)>2: + _bks = _bks[:2] + _bks = [x[1] for x in _bks] if _bks: blocks.extend(_bks) except: pass - - try: - _bks = __getConceptBK(code) - if _bks: - blocks.extend(_bks) - except: - pass + if not blocks: + try: + _bks = __getConceptBK(code) + print(_bks) + if _bks: + blocks.extend(_bks) + except: + pass return list(set(blocks)) @@ -214,7 +261,10 @@ if __name__ == "__main__": - codes = "000422,000536,000619,000766,000892,001255,001258,001300,002288,002442,002584,002632,002771,002942,300505,300949,600293,600610,600679,600769,603168,603188,603291,603329,603392,603518,603759,603767,603836,603839,603938,605218,688655" - codes = codes.split(",") - for code in codes: - print(code, getCodeReductionDate(code)) + print(getCodeBlocks("600529")) + # __getConceptBK("300564") + # data = (getMarketJingXuanRealRankingInfo()) + # data=json.loads(data) + # print(len(data["list"])) + # data = json.loads(getCodesByPlate("801235")) + # print(data) -- Gitblit v1.8.0