Administrator
6 天以前 1c04204fcbc958a7bdef2394ff939063e56b6404
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
@@ -149,6 +149,30 @@
                          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)
# 获取概念中的板块强度
def getSonPlate(plate_code):
    data = f"a=SonPlate_Info&apiv=w32&c=ZhiShuRanking&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&PlateID={plate_code}&"
@@ -286,19 +310,60 @@
    result = json.loads(result)
    return result
def getMarketStrong():
    """
    获取市场强度
    :return:
    """
    result = __base_request("https://apphwhq.longhuvip.com/w1/api/index.php",
                            f"a=DiskReview&apiv=w35&c=HomeDingPan&VerSion=5.13.0.0&PhoneOSNew=1&DeviceID=d6f20ce9-fa08-31c9-a493-536ebb8e9773&")
    data = result.text
    data = json.loads(data)
                            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):
    """
    请求新板块的代码
    @param blocks_info:[(板块名称,板块代码)]
    @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
            # 格式:(代码,涨幅)
            code_info_list.append((d[0], d[6]))
        if code_info_list:
            # 将代码加入新题材
            for x in code_info_list:
                print("添加", x)
if __name__ == "__main__":
    result = getZLJECodesRank(0)
    for d in result['list']:
        print(d)
    # result = getCodesByPlateOrderByLZCS("801074")
    # result = json.loads(result)
    # result = result["list"]
    # for r in result:
    #     print(r)
    # result = getCodeJingXuanBlocks("000756", True)
    # for x in result:
    result = getHistoryCodesByPlateOrderByLZCS("801074", "2025-05-16", "1025")
    print(result)
    # 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)