mns-common 1.3.2.9__py3-none-any.whl → 1.3.3.1__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.

@@ -22,7 +22,7 @@ max_number = 600
22
22
  # 最小返回条数
23
23
  min_number = 500
24
24
  # 分页条数
25
- page_number = 200
25
+ page_number = 100
26
26
 
27
27
 
28
28
  # fields_02 = "f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,f25,f26,f27,f28,f29,f30,f31,f32,f33,f34,f35,f36,f37,f38,f39,f40,f41,f42,f43,f44,f45,f46,f47,f48,f49,f50,f51,f52,f53,f54,f55,f56,f57,f58,f59,f60,f61,f62,f63,f64,f65,f66,f67,f68,f69,f70,f71,f72,f73,f74,f75,f76,f77,f78,f79,f80,f81,f82,f83,f84,f85,f86,f87,f88,f89,f90,f91,f92,f93,f94,f95,f96,f97,f98,f99,f100,f101,f102,f103,f104,f105,f106,f107,f108" \
@@ -109,10 +109,12 @@ def get_debt_real_time_quotes():
109
109
  # 数据接口正常返回5600以上的数量
110
110
  if page_one_df.shape[0] > min_number:
111
111
  page_one_df = rename_real_time_quotes_df(page_one_df)
112
+ page_one_df.drop_duplicates('symbol', keep='last', inplace=True)
112
113
  return page_one_df
113
114
  else:
114
115
  page_df = all_debt_ticker_data(fields)
115
116
  page_df = rename_real_time_quotes_df(page_df)
117
+ page_df.drop_duplicates('symbol', keep='last', inplace=True)
116
118
  return page_df
117
119
 
118
120
 
@@ -18,7 +18,7 @@ max_number = 1200
18
18
  # 最小返回条数
19
19
  min_number = 1000
20
20
  # 分页条数
21
- page_number = 200
21
+ page_number = 100
22
22
 
23
23
 
24
24
  def get_fund_etf_page_df(pn) -> pd.DataFrame:
@@ -347,10 +347,12 @@ def get_etf_real_time_quotes():
347
347
  # 数据接口正常返回5600以上的数量
348
348
  if page_one_df.shape[0] > min_number:
349
349
  page_one_df = rename_etf(page_one_df)
350
+ page_one_df.drop_duplicates('symbol', keep='last', inplace=True)
350
351
  return page_one_df
351
352
  else:
352
353
  page_df = thread_pool_executor()
353
354
  page_df = rename_etf(page_df)
355
+ page_df.drop_duplicates('symbol', keep='last', inplace=True)
354
356
  return page_df
355
357
 
356
358
 
@@ -18,7 +18,7 @@ max_number = 5700
18
18
  # 最小返回条数
19
19
  min_number = 5600
20
20
  # 分页条数
21
- page_number = 200
21
+ page_number = 100
22
22
 
23
23
 
24
24
  def get_stock_page_data(pn, fields, fs):
@@ -99,10 +99,12 @@ def get_real_time_quotes_all_stocks():
99
99
  # 数据接口正常返回5600以上的数量
100
100
  if page_one_df.shape[0] > min_number:
101
101
  page_one_df = rename_real_time_quotes_df(page_one_df)
102
+ page_one_df.drop_duplicates('symbol', keep='last', inplace=True)
102
103
  return page_one_df
103
104
  else:
104
105
  page_df = all_stock_ticker_data_new(fields, fs)
105
106
  page_df = rename_real_time_quotes_df(page_df)
107
+ page_df.drop_duplicates('symbol', keep='last', inplace=True)
106
108
  return page_df
107
109
 
108
110
 
@@ -17,7 +17,7 @@ max_number = 4600
17
17
  # 最小返回条数
18
18
  min_number = 4400
19
19
  # 分页条数
20
- page_number = 200
20
+ page_number = 100
21
21
 
22
22
  fields = ("f352,f2,f3,f5,f6,f8,f10,f11,f22,f12,f14,f15,f16,f17,f18,f20,f21,f26,"
23
23
  "f33,f34,f35,f62,f66,f69,f72,f100,f184,f211,f212")
@@ -164,7 +164,7 @@ def hk_real_time_quotes_page_df(cookie, pn):
164
164
  2)
165
165
  return temp_df
166
166
  except Exception as e:
167
- logger.error("获取ETF列表,实时行情异常:{}", e)
167
+ logger.error("获取港股列表,实时行情异常:{}", e)
168
168
  return pd.DataFrame()
169
169
 
170
170
 
@@ -202,9 +202,11 @@ def get_hk_real_time_quotes(cookie):
202
202
  page_one_df = hk_real_time_quotes_page_df(cookie, 1)
203
203
  # 数据接口正常返回5600以上的数量
204
204
  if page_one_df.shape[0] > min_number:
205
+ page_one_df.drop_duplicates('symbol', keep='last', inplace=True)
205
206
  return page_one_df
206
207
  else:
207
208
  page_df = thread_pool_executor(cookie)
209
+ page_df.drop_duplicates('symbol', keep='last', inplace=True)
208
210
  return page_df
209
211
 
210
212
 
@@ -16,7 +16,7 @@ max_number = 12000
16
16
  # 最小返回条数
17
17
  min_number = 11000
18
18
  # 分页条数
19
- page_number = 200
19
+ page_number = 100
20
20
 
21
21
  fields = ("f352,f2,f3,f5,f6,f8,f10,f11,f22,f12,f14,f15,f16,f17,f18,f20,f21,f26,"
22
22
  "f33,f34,f35,f62,f66,f69,f72,f100,f184,f211,f212")
@@ -91,10 +91,12 @@ def get_us_stock_real_time_quotes(cookie):
91
91
  # 数据接口正常返回5600以上的数量
92
92
  if page_one_df.shape[0] > min_number:
93
93
  page_one_df = rename_us_stock(page_one_df)
94
+ page_one_df.drop_duplicates('symbol', keep='last', inplace=True)
94
95
  return page_one_df
95
96
  else:
96
97
  page_df = thread_pool_executor(cookie)
97
98
  page_df = rename_us_stock(page_df)
99
+ page_df.drop_duplicates('symbol', keep='last', inplace=True)
98
100
  return page_df
99
101
 
100
102
 
@@ -18,7 +18,7 @@ max_number = 5800
18
18
  # 最小返回条数
19
19
  min_number = 5600
20
20
  # 分页条数
21
- page_number = 200
21
+ page_number = 100
22
22
 
23
23
 
24
24
  def get_stock_page_data(pn, fields, fs):
@@ -60,8 +60,8 @@ def get_minute_data(symbol, start_date, end_date, period,
60
60
  "close",
61
61
  "high",
62
62
  "low",
63
- "amount",
64
63
  "volume",
64
+ "amount",
65
65
  "ava_price",
66
66
  ]
67
67
  temp_df.index = pd.to_datetime(temp_df["time"])
@@ -1,4 +1,4 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns_common
3
- Version: 1.3.2.9
3
+ Version: 1.3.3.1
4
4
 
@@ -8,21 +8,19 @@ mns_common/api/akshare/stock_zb_pool.py,sha256=ylcVgZTzsD3qz9WaItLtoqTf4t-Ex49MD
8
8
  mns_common/api/akshare/stock_zt_pool_api.py,sha256=_4PG_Wd88S4zweKNwZprwxaMMHBF4OQSB77DGW1l9UQ,1929
9
9
  mns_common/api/akshare/yjyg_sync_api.py,sha256=cvk50_XhJWUqduOiC15SYvQTCQqECt6td_L2Hvnl7Jg,4108
10
10
  mns_common/api/em/__init__.py,sha256=2U9DiKslxsWwLLEcZKjS8UiQPN1QgALvnK3HiJNIZE0,163
11
- mns_common/api/em/east_money_debt_api.py,sha256=KR5apKUDzVDqfxEaNz3yo3t4edsCww1z7ciWhKkpXxM,13998
12
- mns_common/api/em/east_money_etf_api.py,sha256=m4WEezBbMJ2GaHTHnanMoElzHKpbKcRr30GTiqI1nY4,13844
13
- mns_common/api/em/east_money_stock_api.py,sha256=ZNoVKkqLyEFLJGvlhhbW8suTuORdBc8xlsOOLtn4Pq4,9204
14
- mns_common/api/em/east_money_stock_api_develop.py,sha256=IijcfCwqzuwd7okAjOnFoWiWSvlRttSg1vGzkDXljeM,9888
11
+ mns_common/api/em/east_money_debt_api.py,sha256=SpCk0ULRZnfi7enInnxgH_bNJuo_yHjMINGpgriwwLc,14142
12
+ mns_common/api/em/east_money_etf_api.py,sha256=5Mu0IF8_RMacj2HL0ENfmqySPTnALeTegtobo2jAc94,13988
13
+ mns_common/api/em/east_money_stock_api.py,sha256=0TlpetAIcDgc7-Wt4zUSGDUT-hRjTH7yA20sa5JSutw,9348
15
14
  mns_common/api/em/east_money_stock_gdfx_free_top_10_api.py,sha256=jVy3fNdrkLq3ri7yUwXWt0ItB8LCHzt9CPz91Fj8sPA,9198
16
- mns_common/api/em/east_money_stock_hk_api.py,sha256=0YV9JykY2RMvHPonXSW2ZShN8EcPw_Q8TFS--IPU14A,14208
17
- mns_common/api/em/east_money_stock_us_api.py,sha256=_RqVK3Mzaxym6NZKvKNCn4AoRctSSlZmh9RB2IgExlc,10868
18
- mns_common/api/em/east_money_stock_v2_api.py,sha256=1fZaY6CzDY4OGFjOsqG0gtfu8DPudowndYVyg2-opZI,9190
15
+ mns_common/api/em/east_money_stock_hk_api.py,sha256=ZxaMxeXr_oFd_iaDgkJ6Pgktsh63hKKpI3mZdfCX1N4,14355
16
+ mns_common/api/em/east_money_stock_us_api.py,sha256=4FQm8NF6TX7dyPOG0m_huVmq1shSZZyALcwMhfBW9-k,11012
17
+ mns_common/api/em/east_money_stock_v2_api.py,sha256=w2Kc_LiCGgyUKoEIBzQWYWJcfWTD0sbmt5D9NorriTE,9190
19
18
  mns_common/api/em/em_concept_index_api.py,sha256=PP87ES8a_y0o3SKLzBsPrc7DCPI3MBCD-4SmoUUirl0,8285
20
- mns_common/api/em/self_choose/__init__.py,sha256=vAy9qYgUgZL9Y0w3BBbqmZ9zES46pPnlJjO2hdtotp0,2673
21
19
  mns_common/api/hk/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
22
20
  mns_common/api/hk/ths_hk_company_info_api.py,sha256=Cxlbuccopa0G1s8o0uTnnyLn2QaxOvbDpJQJOj7J8a8,5360
23
21
  mns_common/api/k_line/__init__.py,sha256=itoGlqKhsx7EVXQoD1vchDKQ5GPB16vDjofTSuQtrXg,161
24
22
  mns_common/api/k_line/stock_k_line_data_api.py,sha256=v27p4qU0bhBGp2t8bZDnyMz20a71GduhmK7uylt6GH4,3496
25
- mns_common/api/k_line/stock_minute_data_api.py,sha256=xoYhX23j7h9xCYjGopb83ZNTg7wuloGNJTRkcBUvcl0,5247
23
+ mns_common/api/k_line/stock_minute_data_api.py,sha256=Vt3ZP8HJjHmtquBV0vrKqDXDRF5dESrejrfyPtScxdg,5247
26
24
  mns_common/api/kpl/__init__.py,sha256=2U9DiKslxsWwLLEcZKjS8UiQPN1QgALvnK3HiJNIZE0,163
27
25
  mns_common/api/kpl/common/__init__.py,sha256=8b2PuXJM5fLoq71cWPXp695czQuaRtyR6OVHajGjDPc,161
28
26
  mns_common/api/kpl/common/kpl_common_api.py,sha256=DP8RqJXGGB804G3ykYgyYh3fHtv8E2v0BWiEGPXSSBc,4272
@@ -137,7 +135,7 @@ mns_common/utils/date_handle_util.py,sha256=P4WJUmoDpo4IoCrt2z4keyr7pqXHKmCZBVod
137
135
  mns_common/utils/db_util.py,sha256=hSmfNAN4vEeEaUva6_cicZEhb2jSnib-Gvk2reke1vc,2590
138
136
  mns_common/utils/file_util.py,sha256=egWu6PenGPRp_ixrNTHKarT4dAnOT6FETR82EHUZJnQ,1042
139
137
  mns_common/utils/ip_util.py,sha256=UTcYfz_uytB__6nlBf7T-izuI7hi4XdB6ET0sJgEel4,969
140
- mns_common-1.3.2.9.dist-info/METADATA,sha256=sYSME3SZwPtEvVHzHpy0oNWf1SJTxN_BTArEjyYCRos,61
141
- mns_common-1.3.2.9.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
142
- mns_common-1.3.2.9.dist-info/top_level.txt,sha256=ZC58kAR-8Hvc6U2xhYNBNLAh3mb6sZazbdj5nZpvEkQ,11
143
- mns_common-1.3.2.9.dist-info/RECORD,,
138
+ mns_common-1.3.3.1.dist-info/METADATA,sha256=Bkxmf6VtmRfC-iXuB4es5tDgl0s8OKe3nSv-k81Ux2Q,61
139
+ mns_common-1.3.3.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
140
+ mns_common-1.3.3.1.dist-info/top_level.txt,sha256=ZC58kAR-8Hvc6U2xhYNBNLAh3mb6sZazbdj5nZpvEkQ,11
141
+ mns_common-1.3.3.1.dist-info/RECORD,,
@@ -1,217 +0,0 @@
1
- import sys
2
- import os
3
-
4
- file_path = os.path.abspath(__file__)
5
- end = file_path.index('mns') + 14
6
- project_path = file_path[0:end]
7
- sys.path.append(project_path)
8
- import mns_common.utils.data_frame_util as data_frame_util
9
- import requests
10
-
11
-
12
- import pandas as pd
13
- from loguru import logger
14
- import json
15
- import threading
16
-
17
- # 定义一个全局锁,用于保护 result 变量的访问
18
- result_lock = threading.Lock()
19
- # 初始化 result 变量为一个空的 Pandas DataFrame
20
- result = pd.DataFrame()
21
-
22
- MAX_PAGE_NUMBER = 200
23
- # A股股票数量 todo暂定
24
- STOCK_NUMBER = 5600
25
-
26
-
27
- def sync_real_time_quotes():
28
- global result
29
- result = pd.DataFrame() # 重新初始化 result 变量
30
- threads = []
31
- page_number = round(STOCK_NUMBER / MAX_PAGE_NUMBER, 0) + 1
32
- page_number = int(page_number)
33
- # 创建多个线程来获取数据
34
- for page in range(page_number): # 0到100页
35
- thread = threading.Thread(target=all_stock_ticker_data_new, args=(page,))
36
- threads.append(thread)
37
- thread.start()
38
-
39
- # 等待所有线程完成
40
- for thread in threads:
41
- thread.join()
42
-
43
- return result
44
-
45
-
46
- def all_stock_ticker_data_new(page) -> pd.DataFrame:
47
- global result
48
- fields = ("f352,f2,f3,f5,f6,f8,f10,f11,f22,f12,f14,f15,f16,f17,f18,f20,f21,f26,f33,f34,f35,f62,f66,f69,f72,f100,"
49
- "f184,f211,f212"),
50
- fs = "m:0 t:6,m:0 t:80,m:1 t:2,m:1 t:23,m:0 t:81 s:2048"
51
-
52
- url = "https://13.push2.eastmoney.com/api/qt/clist/get"
53
- # url = "https://push2.eastmoney.com/api/qt/clist/get?cb=jQuery112303212778189608789_1645434416300&fid=f62&po=1&pz=6000&pn=1&np=1&fltt=2&invt=2&ut=b2884a393a59ad64002292a3e90d46a5&fs=m%3A0%2Bt%3A6%2Bf%3A!2%2Cm%3A0%2Bt%3A13%2Bf%3A!2%2Cm%3A0%2Bt%3A80%2Bf%3A!2%2Cm%3A1%2Bt%3A2%2Bf%3A!2%2Cm%3A1%2Bt%3A23%2Bf%3A!2%2Cm%3A0%2Bt%3A7%2Bf%3A!2%2Cm%3A1%2Bt%3A3%2Bf%3A!2&fields=f12%2Cf14%2Cf2%2Cf3%2Cf62%2Cf184%2Cf66%2Cf69%2Cf72%2Cf75%2Cf78%2Cf81%2Cf84%2Cf87%2Cf204%2Cf205%2Cf124%2Cf1%2Cf13"
54
- params = {
55
- "cb": "jQuery1124046660442520420653_1660036672477",
56
- "pn": "1",
57
- "pz": "10000",
58
- "po": "1",
59
- "np": str(page),
60
- "ut": " bd1d9ddb04089700cf9c27f6f7426281",
61
- "fltt": "2",
62
- "invt": "2",
63
- "wbp2u": "|0|0|0|web",
64
- "fid": "f3",
65
- "fs": fs,
66
- "fields": fields,
67
- "_": 1660036672518
68
- }
69
- try:
70
- r = requests.get(url, params)
71
- data_text = r.text
72
- begin_index = data_text.index('[')
73
- end_index = data_text.index(']')
74
- data_json = data_text[begin_index:end_index + 1]
75
- data_json = json.loads(data_json)
76
- logger.info("页码:{}",page)
77
- if data_json is None:
78
- data_df = pd.DataFrame()
79
- else:
80
- data_df = pd.DataFrame(data_json)
81
- with result_lock:
82
- # 使用锁来保护 result 变量的访问,将每页的数据添加到结果中
83
- try:
84
- if data_frame_util.is_not_empty(data_df):
85
- result = pd.concat([result, data_df], ignore_index=True)
86
- except BaseException as e:
87
- logger.error("同步东财实时数据异常:{}", e)
88
- result = pd.DataFrame()
89
- except Exception as e:
90
- logger.error("获取股票列表,实时行情异常:{},{}", e,page)
91
- return pd.DataFrame()
92
-
93
-
94
- # f212 卖1
95
- # f211 买1
96
- # f31 买1价格
97
- # "f32" : 卖1价格
98
-
99
-
100
- # 获取所有股票实时行情数据 f33,委比
101
- def get_real_time_quotes_all_stocks():
102
- # todo old version
103
- # stock_ticker_data = all_stock_ticker_data(
104
- # "f352,f2,f3,f5,f6,f8,f10,f11,f12,f14,f15,f16,f17,f18,f20,f21,f26,"
105
- # "f33,f34,f35,f62,f66,f69,f72,f100,f184",
106
- # "m:0+t:6+f:!2,m:0+t:13+f:!2,m:0+t:80+f:!2,m:1+t:2+f:!2,m:1+t:23+f:!2,m:0+t:7+f:!2,m:1+t:3+f:!2")
107
-
108
- # todo new version
109
- stock_ticker_data = all_stock_ticker_data_new(
110
- "f352,f2,f3,f5,f6,f8,f10,f11,f22,f12,f14,f15,f16,f17,f18,f20,f21,f26,"
111
- "f33,f34,f35,f62,f66,f69,f72,f100,f184,f211,f212",
112
- "m:0 t:6,m:0 t:80,m:1 t:2,m:1 t:23,m:0 t:81 s:2048")
113
-
114
- temp_df = stock_ticker_data.rename(columns={
115
- "f2": "now_price",
116
- "f3": "chg",
117
- "f5": "volume",
118
- "f6": "amount",
119
- "f8": "exchange",
120
- "f10": "quantity_ratio",
121
- "f22": "up_speed",
122
- "f11": "up_speed_05",
123
- "f12": "symbol",
124
- "f14": "name",
125
- "f15": "high",
126
- "f16": "low",
127
- "f17": "open",
128
- "f18": "yesterday_price",
129
- "f20": "total_mv",
130
- "f21": "flow_mv",
131
- "f26": "list_date",
132
- "f33": "wei_bi",
133
- "f34": "outer_disk",
134
- "f35": "inner_disk",
135
- "f62": "today_main_net_inflow",
136
- "f66": "super_large_order_net_inflow",
137
- "f69": "super_large_order_net_inflow_ratio",
138
- "f72": "large_order_net_inflow",
139
- # "f78": "medium_order_net_inflow",
140
- # "f84": "small_order_net_inflow",
141
- "f100": "industry",
142
- # "f103": "concept",
143
- "f184": "today_main_net_inflow_ratio",
144
- "f352": "average_price",
145
- "f211": "buy_1_num",
146
- "f212": "sell_1_num"
147
- })
148
- temp_df.loc[temp_df['buy_1_num'] == '-', 'buy_1_num'] = 0
149
- temp_df.loc[temp_df['sell_1_num'] == '-', 'sell_1_num'] = 0
150
- temp_df.loc[temp_df['up_speed_05'] == '-', 'up_speed_05'] = 0
151
- temp_df.loc[temp_df['up_speed'] == '-', 'up_speed'] = 0
152
- temp_df.loc[temp_df['average_price'] == '-', 'average_price'] = 0
153
- temp_df.loc[temp_df['wei_bi'] == '-', 'wei_bi'] = 0
154
- temp_df.loc[temp_df['yesterday_price'] == '-', 'yesterday_price'] = 0
155
- temp_df.loc[temp_df['now_price'] == '-', 'now_price'] = 0
156
- temp_df.loc[temp_df['chg'] == '-', 'chg'] = 0
157
- temp_df.loc[temp_df['volume'] == '-', 'volume'] = 0
158
- temp_df.loc[temp_df['amount'] == '-', 'amount'] = 0
159
- temp_df.loc[temp_df['exchange'] == '-', 'exchange'] = 0
160
- temp_df.loc[temp_df['quantity_ratio'] == '-', 'quantity_ratio'] = 0
161
- temp_df.loc[temp_df['high'] == '-', 'high'] = 0
162
- temp_df.loc[temp_df['low'] == '-', 'low'] = 0
163
- temp_df.loc[temp_df['open'] == '-', 'open'] = 0
164
- temp_df.loc[temp_df['total_mv'] == '-', 'total_mv'] = 0
165
- temp_df.loc[temp_df['flow_mv'] == '-', 'flow_mv'] = 0
166
- temp_df.loc[temp_df['inner_disk'] == '-', 'inner_disk'] = 0
167
- temp_df.loc[temp_df['outer_disk'] == '-', 'outer_disk'] = 0
168
- temp_df.loc[temp_df['today_main_net_inflow_ratio'] == '-', 'today_main_net_inflow_ratio'] = 0
169
- temp_df.loc[temp_df['today_main_net_inflow'] == '-', 'today_main_net_inflow'] = 0
170
- temp_df.loc[temp_df['super_large_order_net_inflow'] == '-', 'super_large_order_net_inflow'] = 0
171
- temp_df.loc[temp_df['super_large_order_net_inflow_ratio'] == '-', 'super_large_order_net_inflow_ratio'] = 0
172
- temp_df.loc[temp_df['large_order_net_inflow'] == '-', 'large_order_net_inflow'] = 0
173
- # temp_df.loc[temp_df['medium_order_net_inflow'] == '-', 'medium_order_net_inflow'] = 0
174
- # temp_df.loc[temp_df['small_order_net_inflow'] == '-', 'small_order_net_inflow'] = 0
175
-
176
- temp_df["list_date"] = pd.to_numeric(temp_df["list_date"], errors="coerce")
177
- temp_df["wei_bi"] = pd.to_numeric(temp_df["wei_bi"], errors="coerce")
178
- temp_df["average_price"] = pd.to_numeric(temp_df["average_price"], errors="coerce")
179
- temp_df["yesterday_price"] = pd.to_numeric(temp_df["yesterday_price"], errors="coerce")
180
- temp_df["now_price"] = pd.to_numeric(temp_df["now_price"], errors="coerce")
181
- temp_df["chg"] = pd.to_numeric(temp_df["chg"], errors="coerce")
182
- temp_df["volume"] = pd.to_numeric(temp_df["volume"], errors="coerce")
183
- temp_df["amount"] = pd.to_numeric(temp_df["amount"], errors="coerce")
184
- temp_df["exchange"] = pd.to_numeric(temp_df["exchange"], errors="coerce")
185
- temp_df["quantity_ratio"] = pd.to_numeric(temp_df["quantity_ratio"], errors="coerce")
186
- temp_df["high"] = pd.to_numeric(temp_df["high"], errors="coerce")
187
- temp_df["low"] = pd.to_numeric(temp_df["low"], errors="coerce")
188
- temp_df["open"] = pd.to_numeric(temp_df["open"], errors="coerce")
189
- temp_df["total_mv"] = pd.to_numeric(temp_df["total_mv"], errors="coerce")
190
- temp_df["flow_mv"] = pd.to_numeric(temp_df["flow_mv"], errors="coerce")
191
- temp_df["outer_disk"] = pd.to_numeric(temp_df["outer_disk"], errors="coerce")
192
- temp_df["inner_disk"] = pd.to_numeric(temp_df["inner_disk"], errors="coerce")
193
- temp_df["today_main_net_inflow"] = pd.to_numeric(temp_df["today_main_net_inflow"], errors="coerce")
194
- temp_df["super_large_order_net_inflow"] = pd.to_numeric(temp_df["super_large_order_net_inflow"],
195
- errors="coerce")
196
- temp_df["super_large_order_net_inflow_ratio"] = pd.to_numeric(temp_df["super_large_order_net_inflow_ratio"],
197
- errors="coerce")
198
- temp_df["large_order_net_inflow"] = pd.to_numeric(temp_df["large_order_net_inflow"],
199
- errors="coerce")
200
- # temp_df["medium_order_net_inflow"] = pd.to_numeric(temp_df["medium_order_net_inflow"],
201
- # errors="coerce")
202
- # temp_df["small_order_net_inflow"] = pd.to_numeric(temp_df["small_order_net_inflow"], errors="coerce")
203
-
204
- # 大单比例
205
- temp_df['large_order_net_inflow_ratio'] = round((temp_df['large_order_net_inflow'] / temp_df['amount']) * 100, 2)
206
-
207
- # 外盘是内盘倍数
208
- temp_df['disk_ratio'] = round((temp_df['outer_disk'] - temp_df['inner_disk']) / temp_df['inner_disk'], 2)
209
- # 只有外盘没有内盘
210
- temp_df.loc[temp_df["inner_disk"] == 0, ['disk_ratio']] = 1688
211
-
212
- return temp_df
213
-
214
-
215
- if __name__ == '__main__':
216
- df = all_stock_ticker_data_new(1)
217
- print(df)
@@ -1,27 +0,0 @@
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
-
9
-
10
-
11
- fetch("https://myfavor.eastmoney.com/v4/webouter/as?appkey=e9166c7e9cdfad3aa3fd7d93b757e9b1&cb=jQuery371045745102863162_1727593084438&g=1&sc=116%2402318&_=1727593084478", {
12
- "headers": {
13
- "accept": "*/*",
14
- "accept-language": "zh-CN,zh;q=0.9",
15
- "sec-ch-ua": "\"Google Chrome\";v=\"129\", \"Not=A?Brand\";v=\"8\", \"Chromium\";v=\"129\"",
16
- "sec-ch-ua-mobile": "?0",
17
- "sec-ch-ua-platform": "\"Windows\"",
18
- "sec-fetch-dest": "script",
19
- "sec-fetch-mode": "no-cors",
20
- "sec-fetch-site": "same-site",
21
- "cookie": "qgqp_b_id=1e0d79428176ed54bef8434efdc0e8c3; mtp=1; uidal=4253366368931142%e8%82%a1%e5%8f%8b9x56I87727; sid=170711377; vtpst=|; ct=RWJFw3nWsBRloTBCLgO5XX6b48IHj3YiKY0QS2Rn8Vfd14sSHK9v5TAE6wdXndSvskLTqiayWrbw-mHS3wZlLy2Yc0esK7P2WtX_3Pqn_B1ylw0W31ydNOmfMwGdtJEoT8uYVZnOEEKgjGvsZCtXUb5wILUoxwMcjk0Hrjl9meE; ut=FobyicMgeV4IrDnpDeOA2wpy4pz6RNWo-uhd_riT93xOIbOw4OZHlmA5Vsq1An23blEIFsYbBo6zcXjQmAQCxPwQfp4l_z7BCt0O6855lQWHyS4MObxDc9OT11B8PwrZNPxhfY4pQTRMYaXM2aMm0OAXZC-IygpxHk_p83BOWxVYorT-4HoQoLQmix2dcuVG8rd3LKTfjvRJK1zYPIjO_NJe0i-8zEo4B9hmdMkFrGNMHwwG7gmaCZnSDk4s74uv_YstQro7JrrB-5MRdI-xNE9esdGNNM-V; pi=4253366368931142%3Bp4253366368931142%3B%E8%82%A1%E5%8F%8B9x56I87727%3BegTFGhjGzYty9yGOFjlPzZRWVTVOw5PhTyvveXmpLefHG1miuMYvM1XsvT7U3na1uMcMn4s5gPkVCyW%2BLXKU0x0uS%2FqCFE69ubBAbEhaxasiwYbaa9sTVn0HaPC9zWhLNGmoZxykSGh9Xa2aYfqcJeUU4vkPe13ExVrwbSNE44bd2%2B26NIgcGVt1pz7%2F%2FqA8v%2FhkxSn%2F%3BE0adByCvPsoKpsmXX7%2BD2ub2das13Adlj5OiUeTrvF9q6dN54F%2BA0odkH1EZtKjwdUmotY4JmR7x8EHTEoh6PghvOCGUbhm0GcDi2v0qYcBpokFHcQOaz9jIFd0uL1nfkMo96Fb4GWmv9mGrH5iPtjCEKz1bcA%3D%3D; xsb_history=404002%7C%u641C%u7279%u9000%u503A; HAList=ty-0-920019-%u94DC%u51A0%u77FF%u5EFA%2Cty-1-000001-%u4E0A%u8BC1%u6307%u6570%2Cty-0-002296-%u8F89%u714C%u79D1%u6280%2Cty-220-TM-%u5341%u503A%u4E3B%u8FDE%2Cty-0-300133-%u534E%u7B56%u5F71%u89C6%2Cty-0-159546-%u96C6%u6210%u7535%u8DEFETF%2Cty-1-510300-%u6CAA%u6DF1300ETF%2Cty-90-BK0895-%u7EF4%u751F%u7D20%2Cty-1-603777-%u6765%u4F0A%u4EFD%2Cty-90-BK0528-%u8F6C%u503A%u6807%u7684; websitepoptg_api_time=1727593081694; st_si=97341843359922; rskey=XQWMMOHNpaC9BZUFvKzFNYkduYVpvZ0pMQT09ilbyT; st_pvi=26930719093675; st_sp=2024-04-28%2017%3A27%3A05; st_inirUrl=https%3A%2F%2Fcn.bing.com%2F; st_sn=2; st_psi=20240929145804510-113200301712-1483040302; st_asi=20240929145804510-113200301712-1483040302-Web_so_ss-12",
22
- "Referer": "https://quote.eastmoney.com/zixuan/?from=home",
23
- "Referrer-Policy": "unsafe-url"
24
- },
25
- "body": null,
26
- "method": "GET"
27
- });