mns-common 1.3.9.3__py3-none-any.whl → 1.3.9.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mns-common might be problematic. Click here for more details.

@@ -9,89 +9,11 @@ import requests
9
9
  import pandas as pd
10
10
  import mns_common.component.common_service_fun_api as common_service_fun_api
11
11
  from datetime import datetime
12
- from functools import lru_cache
13
12
  import numpy as np
14
13
 
15
14
 
16
- @lru_cache(maxsize=None)
17
- def code_id_map_em() -> dict:
18
- """
19
- 东方财富-股票和市场代码
20
- http://quote.eastmoney.com/center/gridlist.html#hs_a_board
21
- :return: 股票和市场代码
22
- :rtype: dict
23
- """
24
- url = "http://80.push2.eastmoney.com/api/qt/clist/get"
25
- params = {
26
- "pn": "1",
27
- "pz": "5000",
28
- "po": "1",
29
- "np": "3",
30
- "ut": "bd1d9ddb04089700cf9c27f6f7426281",
31
- "fltt": "2",
32
- "invt": "2",
33
- "fid": "f3",
34
- "fs": "m:1 t:2,m:1 t:23",
35
- "fields": "f12",
36
- "_": "1623833739532",
37
- }
38
- r = requests.get(url, params=params)
39
- data_json = r.json()
40
- if not data_json["data"]["diff"]:
41
- return pd.DataFrame()
42
- temp_df = pd.DataFrame(data_json["data"]["diff"])
43
- temp_df["market_id"] = 1
44
- temp_df.columns = ["sh_code", "sh_id"]
45
- code_id_dict = dict(zip(temp_df["sh_code"], temp_df["sh_id"]))
46
- params = {
47
- "pn": "1",
48
- "pz": "5000",
49
- "po": "1",
50
- "np": "3",
51
- "ut": "bd1d9ddb04089700cf9c27f6f7426281",
52
- "fltt": "2",
53
- "invt": "2",
54
- "fid": "f3",
55
- "fs": "m:0 t:6,m:0 t:80",
56
- "fields": "f12",
57
- "_": "1623833739532",
58
- }
59
- r = requests.get(url, params=params)
60
- data_json = r.json()
61
- if not data_json["data"]["diff"]:
62
- return pd.DataFrame()
63
- temp_df_sz = pd.DataFrame(data_json["data"]["diff"])
64
- temp_df_sz["sz_id"] = 0
65
- code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["sz_id"])))
66
- now_date = datetime.now()
67
- now_time = int(now_date.timestamp() * 1000)
68
- now_time = str(now_time)
69
-
70
- params = {
71
- "pn": "1",
72
- "pz": "5000",
73
- "po": "1",
74
- "np": "3",
75
- "ut": "bd1d9ddb04089700cf9c27f6f7426281",
76
- "fltt": "2",
77
- "invt": "2",
78
- "fid": "f3",
79
- "fs": "m:0 t:81 s:2048",
80
- "fields": "f12",
81
- "_": now_time,
82
- }
83
- r = requests.get(url, params=params)
84
- data_json = r.json()
85
- if not data_json["data"]["diff"]:
86
- return pd.DataFrame()
87
- temp_df_sz = pd.DataFrame(data_json["data"]["diff"])
88
- temp_df_sz["bj_id"] = 0
89
- code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["bj_id"])))
90
- return code_id_dict
91
-
92
-
93
15
  def stock_zh_a_hist(
94
- symbol: str = "000001",
16
+ symbol: str = "0.000001",
95
17
  period: str = 'daily',
96
18
  start_date: str = "19700101",
97
19
  end_date: str = "22220101",
@@ -113,7 +35,6 @@ def stock_zh_a_hist(
113
35
  :return: 每日行情
114
36
  :rtype: pandas.DataFrame
115
37
  """
116
- code_id_dict = code_id_map_em()
117
38
  adjust_dict = {"qfq": "1", "hfq": "2", "": "0"}
118
39
  period_dict = {'daily': '101', 'weekly': '102', 'monthly': '103'}
119
40
  url = "http://push2his.eastmoney.com/api/qt/stock/kline/get"
@@ -5,7 +5,6 @@ file_path = os.path.abspath(__file__)
5
5
  end = file_path.index('mns') + 16
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
- from loguru import logger
9
8
  import requests
10
9
  import pandas as pd
11
10
 
@@ -42,28 +41,26 @@ def get_xue_qiu_k_line(symbol, period, cookie, end_time, hq):
42
41
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",
43
42
  "cookie": cookie
44
43
  }
45
- try:
46
- response = requests.get(
47
- url=url,
48
- params=params,
49
- headers=headers
50
- )
51
44
 
52
- if response.status_code == 200:
53
- response_data = response.json()
54
- df = pd.DataFrame(
55
- data=response_data['data']['item'],
56
- columns=response_data['data']['column']
57
- )
58
- # 处理DataFrame列(秒级时间戳)
59
- df['str_day'] = pd.to_datetime(df['timestamp'], unit='ms').dt.normalize()
60
- df["str_day"] = df["str_day"].dt.strftime("%Y-%m-%d")
61
- return df
62
- else:
63
- return pd.DataFrame()
64
- except BaseException as e:
65
- logger.error("同步股票年度数据出现异常:{},{}", symbol, e)
66
- return pd.DataFrame()
45
+ response = requests.get(
46
+ url=url,
47
+ params=params,
48
+ headers=headers
49
+ )
50
+
51
+ if response.status_code == 200:
52
+ response_data = response.json()
53
+ df = pd.DataFrame(
54
+ data=response_data['data']['item'],
55
+ columns=response_data['data']['column']
56
+ )
57
+ # 处理DataFrame列(秒级时间戳)
58
+ df['str_day'] = pd.to_datetime(df['timestamp'], unit='ms').dt.normalize()
59
+ df["str_day"] = df["str_day"].dt.strftime("%Y-%m-%d")
60
+ return df
61
+ else:
62
+ # 直接抛出带有明确信息的异常
63
+ raise ValueError("调用雪球接口失败")
67
64
 
68
65
 
69
66
  if __name__ == '__main__':
@@ -1,4 +1,4 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-common
3
- Version: 1.3.9.3
3
+ Version: 1.3.9.5
4
4
 
@@ -1,7 +1,7 @@
1
1
  mns_common/__init__.py,sha256=2U9DiKslxsWwLLEcZKjS8UiQPN1QgALvnK3HiJNIZE0,163
2
2
  mns_common/api/__init__.py,sha256=2U9DiKslxsWwLLEcZKjS8UiQPN1QgALvnK3HiJNIZE0,163
3
3
  mns_common/api/akshare/__init__.py,sha256=xu36nA6MJTauswUWPfKIKH0E-lpOAHTw2TL5QI_6TeY,165
4
- mns_common/api/akshare/k_line_api.py,sha256=Kl0KIjqQ7GWD2624M18KiU8YkeAt5_udODIGpuvPBFU,6138
4
+ mns_common/api/akshare/k_line_api.py,sha256=q2rlBTdyc-8D75Bj6Zf5wvMBgSSJxDeKBxnio7Z91Bk,3762
5
5
  mns_common/api/akshare/stock_bid_ask_api.py,sha256=6V42fVfAau3kFD1p4V4O71afU7u5bUqi770mU6bu-m0,3984
6
6
  mns_common/api/akshare/stock_dt_pool.py,sha256=sKedOTzqsBZprJHJEr2sRYa8xbeSK7tRenqBE3wOdUc,2245
7
7
  mns_common/api/akshare/stock_zb_pool.py,sha256=ylcVgZTzsD3qz9WaItLtoqTf4t-Ex49MDtZUk0xaB5Q,2126
@@ -71,7 +71,7 @@ mns_common/api/ths/zt/ths_stock_zt_pool_v2_api.py,sha256=eICTYaHJYp2ccsHkeDnkzpJ
71
71
  mns_common/api/us/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
72
72
  mns_common/api/us/ths_us_company_info_api.py,sha256=qQjv4F-ovQ2uuu-FlBAnxjvVA7qj9y_x5WZtUoyoEW4,241
73
73
  mns_common/api/xueqiu/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
74
- mns_common/api/xueqiu/xue_qiu_k_line_api.py,sha256=Vqal_JvHCYFGPZ5CK2BSgMPQ7ull2N3G79UsJ3sfu2k,4586
74
+ mns_common/api/xueqiu/xue_qiu_k_line_api.py,sha256=05sq0_II32xUYc_ajY6iAqV0FKWC0n7H48R-rocdqgc,4415
75
75
  mns_common/component/__init__.py,sha256=2U9DiKslxsWwLLEcZKjS8UiQPN1QgALvnK3HiJNIZE0,163
76
76
  mns_common/component/common_service_fun_api.py,sha256=ZPPqo-ZBwSJ23I_2xXGxXyN6emYrlPqUuBGjA2Cv4gs,6629
77
77
  mns_common/component/cache/__init__.py,sha256=2U9DiKslxsWwLLEcZKjS8UiQPN1QgALvnK3HiJNIZE0,163
@@ -152,7 +152,7 @@ mns_common/utils/date_handle_util.py,sha256=XS-MyA8_7k35LOCFAYOHgVcVkMft_Kc4Wa9U
152
152
  mns_common/utils/db_util.py,sha256=hSmfNAN4vEeEaUva6_cicZEhb2jSnib-Gvk2reke1vc,2590
153
153
  mns_common/utils/file_util.py,sha256=egWu6PenGPRp_ixrNTHKarT4dAnOT6FETR82EHUZJnQ,1042
154
154
  mns_common/utils/ip_util.py,sha256=UTcYfz_uytB__6nlBf7T-izuI7hi4XdB6ET0sJgEel4,969
155
- mns_common-1.3.9.3.dist-info/METADATA,sha256=dihOQtcjMhsMci4UUXImXg0UGtJnxH0QO1EyGfOMcVU,61
156
- mns_common-1.3.9.3.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
157
- mns_common-1.3.9.3.dist-info/top_level.txt,sha256=ZC58kAR-8Hvc6U2xhYNBNLAh3mb6sZazbdj5nZpvEkQ,11
158
- mns_common-1.3.9.3.dist-info/RECORD,,
155
+ mns_common-1.3.9.5.dist-info/METADATA,sha256=6DZl56rzqq3c_HXEF_YoH-1sugm3IjSGv58U7x98WJ4,61
156
+ mns_common-1.3.9.5.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
157
+ mns_common-1.3.9.5.dist-info/top_level.txt,sha256=ZC58kAR-8Hvc6U2xhYNBNLAh3mb6sZazbdj5nZpvEkQ,11
158
+ mns_common-1.3.9.5.dist-info/RECORD,,