admin
2024-01-11 5a2ef3a696ddccbc1faef1e2e90f5b535ec24a0d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import json
import time
 
import requests
 
from utils import tool
 
 
def get_limit_up_codes_infos():
    url = f"https://flash-api.xuangubao.cn/api/surge_stock/stocks?date={tool.get_now_date_str('%Y%m%d')}&normal=true&uplimit=true"
    response = requests.get(url)
    print(response.text)
    return response.text
 
 
__limit_up_codes_infos_cache = None
 
 
# 获取涨停列表的原因
def get_code_limit_up_reasons(code):
    global __limit_up_codes_infos_cache
    if __limit_up_codes_infos_cache is None or time.time() - __limit_up_codes_infos_cache[1] > 10:
 
        result = get_limit_up_codes_infos()
        result = json.loads(result)
        if result["code"] == 20000:
            items = result["data"]["items"]
            __limit_up_codes_infos_cache = (items, time.time())
    if __limit_up_codes_infos_cache:
        for item in __limit_up_codes_infos_cache[0]:
            if item[0].split(".")[0] == code:
                reasons = [x["name"] for x in item[8]]
                return reasons, item[5]
    return None
 
 
if __name__ == '__main__':
    print(get_code_limit_up_reasons("002641"))
    print(get_code_limit_up_reasons("002610"))