From d2a4dd9c837f8df2a19e58f7fb4c81a91c114b67 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期五, 15 八月 2025 13:15:32 +0800 Subject: [PATCH] 自动加想接口 --- third_data/kpl_api.py | 125 +++++++++++++++++++++++++++++++---------- 1 files changed, 93 insertions(+), 32 deletions(-) diff --git a/third_data/kpl_api.py b/third_data/kpl_api.py index ba66183..57e702c 100644 --- a/third_data/kpl_api.py +++ b/third_data/kpl_api.py @@ -5,7 +5,7 @@ import constant from third_data import kpl_util -from utils import middle_api_protocol +from utils import middle_api_protocol, tool # 绔炰环 DABAN_TYPE_BIDDING = 8 @@ -79,23 +79,6 @@ return json.dumps({"errcode": 0, "list": fresults, "day": day}) -def getLimitUpInfo(): - list_ = [] - 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_)) - 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 - - def getHistoryLimitUpInfo(day): fresults = [] for i in range(0, 100): @@ -145,6 +128,30 @@ # 鑾峰彇姒傚康浠g爜 def getCodesByPlate(plate_code): data = f"Order=1&a=ZhiShuStockList_W8&st=30&c=ZhiShuRanking&PhoneOSNew=1&old=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&IsZZ=0&Token=0&Index=0&apiv=w32&Type=6&IsKZZType=0&UserID=0&PlateID={plate_code}&" + return __base_request("https://apphq.longhuvip.com/w1/api/index.php", + data=data) + + +def getCodesByPlateOrderByLZCS(plate_code): + """ + 鏍规嵁棰嗘定娆℃暟鎺掑簭 + @param plate_code: + @return: + """ + data = f"Order=1&a=ZhiShuStockList_W8&st=30&c=ZhiShuRanking&PhoneOSNew=1&old=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&IsZZ=0&Token=0&Index=0&apiv=w32&Type=27&IsKZZType=0&UserID=0&PlateID={plate_code}&" + return __base_request("https://apphq.longhuvip.com/w1/api/index.php", + data=data) + + +def getHistoryCodesByPlateOrderByLZCS(plate_code, date, time_str): + """ + 鏍规嵁棰嗘定娆℃暟鎺掑簭 + @param date: 2025-05-25 + @param time_str: 1025 + @param plate_code: 110505 + @return: + """ + data = f"Order=1&a=ZhiShuStockList_W8&st=30&c=ZhiShuRanking&PhoneOSNew=1&RStart=0925&old=1&DeviceID=b692e51c-1bc4-3e8c-a01b-620aa6240e28&VerSion=5.8.0.4&IsZZ=0&Token=0&Index=0&Date={date}&REnd={time_str}&apiv=w33&Type=1&IsKZZType=0&UserID=0&PlateID={plate_code}&" return __base_request("https://apphq.longhuvip.com/w1/api/index.php", data=data) @@ -276,18 +283,72 @@ return None -if __name__ == "__main__": - # print(getLimitUpInfoNew()) +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 - # __getConceptBK("300564") - data = getMarketJingXuanRealRankingInfoByTimeRange("0925", "1000", "2024-11-12") - data = json.loads(data) - print(json.loads(data)) - data = getMarketJingXuanRealRankingInfoByTimeRange("0925", "1500", "2024-11-13") - print(json.loads(data)) - data = getMarketJingXuanRealRankingInfoByTimeRange("0925", "1000", "2024-11-13") - print(json.loads(data)) - # data=json.loads(data) - # print(len(data["list"])) - # data = json.loads(getCodesByPlate("801235")) - # print(data) + +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"]) + + +def request_new_blocks_codes(blocks_info): + """ + 璇锋眰鏂版澘鍧楃殑浠g爜 + @param blocks_info:[(鏉垮潡鍚嶇О,鏉垮潡浠g爜)] + @return: + """ + yesterday_codes = set() + for bi in blocks_info: + result = getCodesByPlate(bi[1]) + result = json.loads(result) + code_info_list = [] + for d in result["list"]: + if d[0] in yesterday_codes: + continue + # 娑ㄥ箙瑕佸ぇ浜�5% + rate = d[6] / int(round((tool.get_limit_up_rate(d[0]) - 1) * 10)) + if rate < 5: + continue + # 鏍煎紡锛�(浠g爜,娑ㄥ箙) + code_info_list.append((d[0], d[6])) + if code_info_list: + # 灏嗕唬鐮佸姞鍏ユ柊棰樻潗 + for x in code_info_list: + print("娣诲姞", x) + + +if __name__ == "__main__": + # result = getCodesByPlateOrderByLZCS("801074") + # result = json.loads(result) + # result = result["list"] + # for r in result: + # print(r) + # result = getCodeJingXuanBlocks("000756", True) + # for x in result: + results = getLimitUpInfoNew() + results = json.loads(results) + for d in results['list']: + print(len(d), d) + + # request_new_blocks_codes([("鏈哄櫒浜�", "801159")]) + # result = getCodesByPlate("801159") # getHistoryLimitUpInfo("2024-02-19") + # result = json.loads(result) + # for d in result["list"]: + # print(d) + # + # print(result) -- Gitblit v1.8.0