mns-common 1.3.5.4__py3-none-any.whl → 1.3.5.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.

@@ -220,6 +220,8 @@ if __name__ == '__main__':
220
220
  cookie_test = 'qgqp_b_id=1e0d79428176ed54bef8434efdc0e8c3; mtp=1; ct=QVRY_s8Tiag1WfK2tSW2n03qpsX-PD8aH_rIjKVooawX8K33UVnpIofK088lD1lguWlE_OEIpQwn3PJWFPhHvSvyvYr4Zka3l4vxtZfH1Uikjtyy9z1H4Swo0rQzMKXncVzBXiOo5TjE-Dy9fcoG3ZF7UVdQ35jp_cFwzOlpK5Y; ut=FobyicMgeV51lVMr4ZJXvn-72bp0oeSOvtzifFY_U7kBFtR6og4Usd-VtBM5XBBvHq0lvd9xXkvpIqWro9EDKmv6cbKOQGyawUSMcKVP57isZCaM7lWQ6jWXajvTfvV4mIR-W_MZNK8VY0lL9W4qNMniJ6PBn_gkJsSAJCadmsyI9cxmjx--gR4m54pdF_nie_y4iWHys83cmWR2R7Bt1KKqB25OmkfCQTJJqIf7QsqangVGMUHwMC39Z9QhrfCFHKVNrlqS503O6b9GitQnXtvUdJhCmomu; pi=4253366368931142%3Bp4253366368931142%3B%E8%82%A1%E5%8F%8B9x56I87727%3BYNigLZRW%2FzMdGgVDOJbwReDWnTPHl51dB0gQLiwaCf1XY98mlJYx6eJbsoYr5Nie%2BX1L%2BzaMsec99KkX%2BT29Ds1arfST7sIBXxjUQ3dp11IPUnXy64PaBFRTHzMRWnCFJvvhc%2FAI41rXSGXolC8YMxI%2BvyPS%2BuErwgOVjC5vvsIiKeO7TLyKkhqqQJPX%2F7RWC5Sf3QLh%3Bdwjn4Xho10%2FKjqOgTWs%2FJF4%2FkdKzeuBwM8sz9aLvJovejAkCAyGMyGYA6AE67Xk2Ki7x8zdfBifF2DG%2Fvf2%2BXAYN8ZVISSEWTIXh32Z5MxEacK4JBTkqyiD93e1vFBOFQ82BqaiVmntUq0V6FrTUHGeh1gG5Sg%3D%3D; uidal=4253366368931142%e8%82%a1%e5%8f%8b9x56I87727; sid=170711377; vtpst=|; quote_lt=1; websitepoptg_api_time=1715777390466; emshistory=%5B%22%E8%BD%AC%E5%80%BA%E6%A0%87%22%2C%22%E8%BD%AC%E5%80%BA%E6%A0%87%E7%9A%84%22%5D; st_si=00364513876913; st_asi=delete; HAList=ty-116-00700-%u817E%u8BAF%u63A7%u80A1%2Cty-1-688695-%u4E2D%u521B%u80A1%u4EFD%2Cty-1-600849-%u4E0A%u836F%u8F6C%u6362%2Cty-1-603361-%u6D59%u6C5F%u56FD%u7965%2Cty-1-603555-ST%u8D35%u4EBA%2Cty-0-000627-%u5929%u8302%u96C6%u56E2%2Cty-0-002470-%u91D1%u6B63%u5927%2Cty-0-832876-%u6167%u4E3A%u667A%u80FD%2Cty-0-300059-%u4E1C%u65B9%u8D22%u5BCC%2Cty-107-CWB-%u53EF%u8F6C%u503AETF-SPDR; st_pvi=26930719093675; st_sp=2024-04-28%2017%3A27%3A05; st_inirUrl=https%3A%2F%2Fcn.bing.com%2F; st_sn=23; st_psi=20240517111108288-113200301321-2767127768'
221
221
  while True:
222
222
  us_df = get_us_stock_real_time_quotes(cookie_test)
223
+ us_df = us_df.loc[us_df['flow_mv'] != 0]
224
+ us_df = us_df.sort_values(by=['amount'], ascending=False)
223
225
  us_stock_df = us_df[[
224
226
  "symbol",
225
227
  "name",
@@ -161,8 +161,13 @@ def rename_real_time_quotes_df(temp_df):
161
161
  "f103": "concept",
162
162
  "f352": "average_price",
163
163
  "f191": "hk_stock_code",
164
- "f193": "hk_stock_name"
164
+ "f193": "hk_stock_name",
165
+ "f24": "sixty_day_chg",
166
+ "f25": "now_year_chg",
165
167
  })
168
+ temp_df.loc[temp_df['sixty_day_chg'] == '-', 'total_share'] = 0
169
+
170
+ temp_df.loc[temp_df['now_year_chg'] == '-', 'now_year_chg'] = 0
166
171
  temp_df.loc[temp_df['total_share'] == '-', 'total_share'] = 0
167
172
  temp_df.loc[temp_df['flow_share'] == '-', 'flow_share'] = 0
168
173
  temp_df.loc[temp_df['pe_ttm'] == '-', 'pe_ttm'] = 0
@@ -0,0 +1,7 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 16
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
@@ -0,0 +1,88 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 16
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
8
+ from loguru import logger
9
+ import requests
10
+ import pandas as pd
11
+
12
+
13
+ # year 年
14
+ # quarter 季度
15
+ # month 月度
16
+ # week 周
17
+ # day 日
18
+ def get_xue_qiu_k_line(symbol, period):
19
+ url = "https://stock.xueqiu.com/v5/stock/chart/kline.json"
20
+
21
+ params = {
22
+ "symbol": symbol,
23
+ "begin": "1742574377493",
24
+ "period": period,
25
+ "type": "before",
26
+ "count": "-120084",
27
+ "indicator": "kline,pe,pb,ps,pcf,market_capital,agt,ggt,balance"
28
+ }
29
+
30
+ headers = {
31
+ "accept": "application/json, text/plain, */*",
32
+ "accept-language": "zh-CN,zh;q=0.9",
33
+ "origin": "https://xueqiu.com",
34
+ "priority": "u=1, i",
35
+ "referer": "https://xueqiu.com/S/SZ300879?md5__1038=n4%2BxgDniDQeWqxYwq0y%2BbDyG%2BYDtODuD7q%2BqRYID",
36
+ "sec-ch-ua": '"Chromium";v="134", "Not:A-Brand";v="24", "Google Chrome";v="134"',
37
+ "sec-ch-ua-mobile": "?0",
38
+ "sec-ch-ua-platform": '"Windows"',
39
+ "sec-fetch-dest": "empty",
40
+ "sec-fetch-mode": "cors",
41
+ "sec-fetch-site": "same-site",
42
+ "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
+ "cookie": "xq_a_token=cc9943aa6d41f0ae420f49b428f2f90a472b070a;"
44
+ " xqat=cc9943aa6d41f0ae420f49b428f2f90a472b070a; "
45
+ "xq_r_token=20869bd02083b2ef75d4d4b7654f827f00fdcd22;"
46
+ " xq_id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJ1aWQiOi0xLCJpc3MiOiJ1YyIsImV4cCI6MTc0NDc2NTA3MCwiY3RtIjoxNzQyNDg4OD"
47
+ "kyNDc1LCJjaWQiOiJkOWQwbjRBWnVwIn0.Ep9IIWPMwb85xYIJ_pmYTDmUmcySD4t5nv4LpYSqdLJzNzqgvzGFx6vowXm-ZtyePuppJxd2YjJDREHu7OkvZk"
48
+ "qHRGMGQOhuCDzyMQjpND2yTgyOTNkn2hNs0e5p4FihaSeRmLu8vQDU17No3LjM3y4-0caZ-8LNJnOm0Wet1uOD7h9ASf7sLRQCjGyB-Pd4D2r-213umj7c6TD"
49
+ "V5ud3rfTsUlCG7DwWMAdIZGkew5CX2WRXOz-G2Duf3d4GMRggiaLHVsP6PSTzOGUQBF1zAg5hprkxK3J_dV1SdiuaAZxJDp3FCFQ5vG0JkcOs9CLB5z-92kQ2-"
50
+ "YEhAkd3PCpGKQ; cookiesu=251742488951389; u=251742488951389; is_overseas=0; Hm_lvt_1db88642e346389874251b5a1eded6e3=1742488952; "
51
+ "Hm_lpvt_1db88642e346389874251b5a1eded6e3=1742488952; HMACCOUNT=A216813C8A2D1B76; device_id=e7bd664c2ad4091241066c3a2ddbd736; "
52
+ "ssxmod_itna=eqIxgDB7q+0=ei7qqAKG7D8D9DQqqiIqGHDyxW9P0CGDLxn4GQDUiHxttBmPvc7EkqE5gD0yG3wDA5Dnzx7YDt=SpND0mTAc3qACQIwPw+Ocyrm2tfA"
53
+ "br4MWHlPP5jokUkpQw5xB3DExGkeeu77xiirx0rD0eDPxDYDGbWD7PDoxDrF8YDjl7pOUgwoz4DKx0kDY5Dw1RADiPD7ZBDkOcwXSvmFxDzFZLaqle42Di3N+EsEzRfDi5"
54
+ "x79cwD7v3DlaPFsdD0119FgoIiya2PpBEv40OD0ILF4BfuYoA8872wprrZQ4F2G0YjEDQ0DO03e7qSh5tY7t0sOGe2GDNQKc3xeY5ldw7xDipwGg2QIhxjhrCtccU5ZUB="
55
+ "+VcwwiGxCeBGPyew=jp=lDqQ4ZAqzBqPj0=jh1Fxq7De903iYLYD; ssxmod_itna2=eqIxgDB7q+0=ei7qqAKG7D8D9DQqqiIqGHDyxW9P0CGDLxn4GQDUiHxttBmPvc7E"
56
+ "kqE5wDDcA73imLDD7Djbb5NZaEoD/zpofwEa9m=Fn7T5jOiFKWsbAb9Qi=utFFLry0Ii9=+TINLqBPqzemrFP/ehSZRDixpiEh5WeA5WXGvaHoKw+rEINZbPjOApkpEQG8cm="
57
+ "rHCN=0DUoI+HxcF6Zohnh3hUEcTYQykDVyXyfHsX9eFZAlAHxdWq/5qZ=Eh0KCAV2xA2/yKFtivK+DzQb0sajPwql5xkzLh966v0g6MzzUlc4SFYAv3YKBjP7rhhOdqmKEa"
58
+ "j6C6PKp+Pq2QEP6heBX7BU7iG=GGLA6IrDjYvHCDh1tr93XpUr9X9rPjYUvWxPI0RBwHUpC+fs6xsg07+ifjd9gU26do2K0lLwRhhPfppAKj5+gow2IN3KLQ0K1P/mY9BKKYAt"
59
+ "2Qx/34rb5evohIrUI=DKe1djnDvrDnjwcBbgK2lzA3eQVix=46cxf77D9GKug6PLBL0Fi67Htrl2K5CP9PQDHb1Yjx0ttRKjCU7hE3GIs2Y88AdxfF+Iuc2=IenBfqW52ngad82Y"
60
+ "8KvKqn5xEiODXgYCKgGxyOjl4+v9bvIm120i2pN6o6dBRZqxpvsA4S9YP2TPjS+1/4ZnVeYQ+4=UCevs5P3Qf2x6w8s=U7dD=cvG1skhxiD8Kjl32RGPC=4FDHIrQQoKGnixsWzp"
61
+ "Fb7F=PlrD/3=0F6DNx2hDnr4RDW7WGYSiPQFihqY15iS7GAr44w1+x/3wnYQ4=rN/wOitjqZ0N0FRpxlw/7PGeZADD"
62
+ }
63
+ try:
64
+ response = requests.get(
65
+ url=url,
66
+ params=params,
67
+ headers=headers
68
+ )
69
+
70
+ if response.status_code == 200:
71
+ response_data = response.json()
72
+ df = pd.DataFrame(
73
+ data=response_data['data']['item'],
74
+ columns=response_data['data']['column']
75
+ )
76
+ # 处理DataFrame列(秒级时间戳)
77
+ df['str_day'] = pd.to_datetime(df['timestamp'], unit='ms').dt.normalize()
78
+ df["str_day"] = df["str_day"].dt.strftime("%Y-%m-%d")
79
+ return df
80
+ else:
81
+ return pd.DataFrame()
82
+ except BaseException as e:
83
+ logger.error("同步股票年度数据出现异常:{},{}", symbol, e)
84
+
85
+
86
+ if __name__ == '__main__':
87
+ test_df = get_xue_qiu_k_line('SZ000001', 'year')
88
+ print(test_df)
@@ -162,3 +162,5 @@ THS_INDUSTRY_LIST = 'ths_industry_list'
162
162
  # 同花顺行业股票详情
163
163
  THS_STOCK_INDUSTRY_DETAIL = 'ths_stock_industry_detail'
164
164
 
165
+ # 年k线前复权
166
+ STOCK_QFQ_YEAR = 'stock_qfq_year'
@@ -1,4 +1,4 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-common
3
- Version: 1.3.5.4
3
+ Version: 1.3.5.5
4
4
 
@@ -13,8 +13,8 @@ mns_common/api/em/east_money_etf_api.py,sha256=PtVBNArQ5sMjzBVCW-WBnAuqSp8qB4E1H
13
13
  mns_common/api/em/east_money_stock_api.py,sha256=NkV8jmdYOrOpQd00KsMBNoAkPZuWGtw0N1Rryg21RZ0,9892
14
14
  mns_common/api/em/east_money_stock_gdfx_free_top_10_api.py,sha256=jVy3fNdrkLq3ri7yUwXWt0ItB8LCHzt9CPz91Fj8sPA,9198
15
15
  mns_common/api/em/east_money_stock_hk_api.py,sha256=C75TfZzRnNVaz_ILEPHcxhgJqV7f4rFrlWjgMWLRu7c,14788
16
- mns_common/api/em/east_money_stock_us_api.py,sha256=GOI7I5vbub6cLwYmVoaJEu8CGZScjCUWwAfcRU12zdw,11300
17
- mns_common/api/em/east_money_stock_v2_api.py,sha256=NsieWF7v-RGGQt7uhTOgH9-bghKWJRDSaqsO9-diKvU,16120
16
+ mns_common/api/em/east_money_stock_us_api.py,sha256=6u0fSkIxZqPVrI1JChhwTrUWRTCDDSBNvU5cehPA1uM,11417
17
+ mns_common/api/em/east_money_stock_v2_api.py,sha256=BxLZqIUecy71TkbMelAF8Bg3xEd3tR02r2Nj3NfF8Ts,16326
18
18
  mns_common/api/em/em_concept_index_api.py,sha256=PP87ES8a_y0o3SKLzBsPrc7DCPI3MBCD-4SmoUUirl0,8285
19
19
  mns_common/api/hk/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
20
20
  mns_common/api/hk/ths_hk_company_info_api.py,sha256=Cxlbuccopa0G1s8o0uTnnyLn2QaxOvbDpJQJOj7J8a8,5360
@@ -65,6 +65,8 @@ mns_common/api/ths/zt/ths_stock_zt_pool_api.py,sha256=GIYdc5J7ZrV25Elbf0n3bBZOc7
65
65
  mns_common/api/ths/zt/ths_stock_zt_pool_v2_api.py,sha256=ohkeXyUSvxie2YqFPxqy9eLAHyFKQ5nx9U0JcR5LKeQ,16349
66
66
  mns_common/api/us/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
67
67
  mns_common/api/us/ths_us_company_info_api.py,sha256=qQjv4F-ovQ2uuu-FlBAnxjvVA7qj9y_x5WZtUoyoEW4,241
68
+ mns_common/api/xueqiu/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
69
+ mns_common/api/xueqiu/xue_qiu_k_line_api.py,sha256=DofKpwUY0RDPV81TcW_-grbUi3W-YRiwiaws-c_g-0o,4843
68
70
  mns_common/component/__init__.py,sha256=2U9DiKslxsWwLLEcZKjS8UiQPN1QgALvnK3HiJNIZE0,163
69
71
  mns_common/component/common_service_fun_api.py,sha256=H7HZ-6uxup5unWe2JazNw_EBMLj2As82FC0QqPvao7c,5536
70
72
  mns_common/component/cache/__init__.py,sha256=2U9DiKslxsWwLLEcZKjS8UiQPN1QgALvnK3HiJNIZE0,163
@@ -117,7 +119,7 @@ mns_common/component/zt/__init__.py,sha256=2U9DiKslxsWwLLEcZKjS8UiQPN1QgALvnK3Hi
117
119
  mns_common/component/zt/zt_common_service_api.py,sha256=6pHRLLJjKcLLBA-xXkAU8SE6DZ5dgVFBRVjJmhkL0II,11945
118
120
  mns_common/constant/__init__.py,sha256=xu36nA6MJTauswUWPfKIKH0E-lpOAHTw2TL5QI_6TeY,165
119
121
  mns_common/constant/black_list_classify_enum.py,sha256=I8U_DcltzYvlWjgn-TFLImgVgPuO0lxMnEJAQJBljdo,3995
120
- mns_common/constant/db_name_constant.py,sha256=Hnj3ORT6wsDl2BOANtpg9kZi1rhS6c-osJ2jqZPyKUQ,4142
122
+ mns_common/constant/db_name_constant.py,sha256=ZVdxFWwcuJqHEHcCatV31y5L1tZdkOlHCwzMEip1Iz8,4197
121
123
  mns_common/constant/east_money_stock_api.py,sha256=mW0b8sEgkf8WJtars2frOQYzsWgjIl4FDYEwcCcCSZY,7557
122
124
  mns_common/constant/extra_income_db_name.py,sha256=AsIO1CtcVRq9k7TKtjFA1KzuL_jvAw2hA_Uq44wQL7o,1198
123
125
  mns_common/constant/price_enum.py,sha256=nhcPxk0AFdQAp8IsNr5EP9xURLqqJuSl6ljIzTp7Wyo,1093
@@ -136,7 +138,7 @@ mns_common/utils/date_handle_util.py,sha256=XS-MyA8_7k35LOCFAYOHgVcVkMft_Kc4Wa9U
136
138
  mns_common/utils/db_util.py,sha256=hSmfNAN4vEeEaUva6_cicZEhb2jSnib-Gvk2reke1vc,2590
137
139
  mns_common/utils/file_util.py,sha256=egWu6PenGPRp_ixrNTHKarT4dAnOT6FETR82EHUZJnQ,1042
138
140
  mns_common/utils/ip_util.py,sha256=UTcYfz_uytB__6nlBf7T-izuI7hi4XdB6ET0sJgEel4,969
139
- mns_common-1.3.5.4.dist-info/METADATA,sha256=m_RxXwMqvzfcwG8LBmaiYsdX-TOVNJkQMwYcTLpWdCM,61
140
- mns_common-1.3.5.4.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
141
- mns_common-1.3.5.4.dist-info/top_level.txt,sha256=ZC58kAR-8Hvc6U2xhYNBNLAh3mb6sZazbdj5nZpvEkQ,11
142
- mns_common-1.3.5.4.dist-info/RECORD,,
141
+ mns_common-1.3.5.5.dist-info/METADATA,sha256=NsLQHcIv_KgmCAI9su1AxWmE7mNvqWIBw_8BBPeul5s,61
142
+ mns_common-1.3.5.5.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
143
+ mns_common-1.3.5.5.dist-info/top_level.txt,sha256=ZC58kAR-8Hvc6U2xhYNBNLAh3mb6sZazbdj5nZpvEkQ,11
144
+ mns_common-1.3.5.5.dist-info/RECORD,,