From 7eb1a8ed1a007d80de41d131071ee38f5872700c Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期五, 07 二月 2025 14:26:37 +0800 Subject: [PATCH] 辨识度票策略修改/恢复P撤/上传订阅涨幅 --- third_data/kpl_api.py | 80 ++++++++++++++++++++++++++++++---------- 1 files changed, 60 insertions(+), 20 deletions(-) diff --git a/third_data/kpl_api.py b/third_data/kpl_api.py index 405db99..ea1fbac 100644 --- a/third_data/kpl_api.py +++ b/third_data/kpl_api.py @@ -19,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 = { @@ -49,24 +49,22 @@ 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) - print(result) return result def getLimitUpInfoNew(): pids = [(1, "棣栨澘"), (2, "2杩炴澘"), (3, "3杩炴澘"), (4, "4杩炴澘"), (5, "")] fresults = [] + day = '' for pid_info in pids: results = [] for i in range(100): start_time = time.time() result = __getLimitUpInfo(pid_info[0], i + 1, 20) - print("璇锋眰鐢ㄦ椂", time.time() - start_time) result = json.loads(result) datas = result["info"][0] results.extend(datas) day = result["info"][1] - print(datas) if len(datas) < 20: break for r in results: @@ -78,7 +76,7 @@ r[i] = kpl_util.filter_block(r[i]) fresults.extend(results) - return json.dumps({"errcode": 0, "list": fresults}) + return json.dumps({"errcode": 0, "list": fresults, "day": day}) def getLimitUpInfo(): @@ -127,6 +125,13 @@ return result +def getMarketJingXuanRealRankingInfoByTimeRange(startTime, endTime, date, orderJingE_DESC=True): + data = f"Order={1 if orderJingE_DESC else 0}&st=30&a=RealRankingInfo&apiv=w35&Type=5&Index=0&RStart={startTime}&c=ZhiShuRanking&VerSion=5.13.0.0&REnd={endTime}&Date={date}&PhoneOSNew=1&ZSType=7&DeviceID=d6f20ce9-fa08-31c9-a493-536ebb8e9773&" + result = __base_request("https://apphq.longhuvip.com/w1/api/index.php", + data=data) + return result + + # 鑾峰彇浠g爜鐨勬澘鍧� def getStockIDPlate(code): data = f"a=GetStockIDPlate_New&apiv=w32&c=StockL2Data&StockID={code}&PhoneOSNew=1&UserID=0&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&Token=0&" @@ -166,12 +171,20 @@ # 鑾峰彇浠g爜鐨勭簿閫夋澘鍧� # 杩斿洖鏍煎紡锛歔(鏉垮潡浠g爜,鏉垮潡鍚嶇О,娑ㄥ箙鐧惧垎姣�)] -def getCodeJingXuanBlocks(code): +def getCodeJingXuanBlocks(code, jx=True): 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) - return result.get("ListJX") if result.get("ListJX") else result.get("List") + # print(result) + if jx: + return result.get("ListJX") if result.get("ListJX") else result.get("List") + else: + fresults = [] + if result.get("List"): + fresults.extend(result.get("List")) + if result.get("ListJX"): + fresults.extend(result.get("ListJX")) + return fresults # 鑾峰彇鑷敱娴侀�氬競鍊� @@ -192,7 +205,7 @@ if result: if "List" in result: names = [kpl_util.filter_block(x["CName"]) for x in result["List"]] - return names + return names if len(names) < 3 else names[:2] return [] @@ -212,20 +225,23 @@ def getCodeBlocks(code): blocks = [] try: - _bks = __getConceptJXBK(code) - print(_bks) + _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) - print(_bks) - 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)) @@ -260,5 +276,29 @@ return None +def getZLJECodesRank(index): + """ + 鑾峰彇涓诲姏閲戦鐨勬帓琛� + @return: + """ + data = f"Order=1&a=RealRankingInfo_W8&st=50&c=NewStockRanking&PhoneOSNew=1&RStart=0925&DeviceID=d6f20ce9-fa08-31c9-a493-536ebb8e9773&VerSion=5.13.0.0&Isst=0&index={index}&Date=&REnd=1420&apiv=w35&Type=1&FilterMotherboard=0&Filter=0&Ratio=6&FilterTIB=1&FilterGem=0&" + result = __base_request("https://apphwhq.longhuvip.com/w1/api/index.php", data=data, timeout=3) + result = json.loads(result) + return result + + +def getMarketStrong(): + """ + 鑾峰彇甯傚満寮哄害 + :return: + """ + result = __base_request("https://apphwhq.longhuvip.com/w1/api/index.php", + data=f"a=DiskReview&apiv=w35&c=HomeDingPan&VerSion=5.13.0.0&PhoneOSNew=1&DeviceID=d6f20ce9-fa08-31c9-a493-536ebb8e9773&", + timeout=3) + data = json.loads(result) + return int(data["info"]["strong"]) + + if __name__ == "__main__": - print(getCodeBlocks("002350")) + result =getHistoryLimitUpInfo("2024-02-19") + print(result) -- Gitblit v1.8.0