akshare 1.15.97__py3-none-any.whl → 1.15.99__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 akshare might be problematic. Click here for more details.
- akshare/__init__.py +3 -1
- akshare/index/index_zh_em.py +1 -1
- akshare/option/option_finance.py +58 -12
- akshare/stock/stock_board_concept_em.py +39 -7
- akshare/stock/stock_fund_em.py +6 -6
- akshare/stock_feature/stock_esg_sina.py +17 -4
- akshare/stock_feature/stock_hist_em.py +52 -151
- {akshare-1.15.97.dist-info → akshare-1.15.99.dist-info}/METADATA +1 -1
- {akshare-1.15.97.dist-info → akshare-1.15.99.dist-info}/RECORD +12 -12
- {akshare-1.15.97.dist-info → akshare-1.15.99.dist-info}/LICENSE +0 -0
- {akshare-1.15.97.dist-info → akshare-1.15.99.dist-info}/WHEEL +0 -0
- {akshare-1.15.97.dist-info → akshare-1.15.99.dist-info}/top_level.txt +0 -0
akshare/__init__.py
CHANGED
|
@@ -3007,9 +3007,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
|
|
|
3007
3007
|
1.15.95 fix: fix stock_us_spot_em interface
|
|
3008
3008
|
1.15.96 fix: fix bond_cov_comparison interface
|
|
3009
3009
|
1.15.97 fix: fix stock_intraday_em interface
|
|
3010
|
+
1.15.98 fix: fix stock_board_concept_name_em interface
|
|
3011
|
+
1.15.99 fix: fix stock_esg_zd_sina interface
|
|
3010
3012
|
"""
|
|
3011
3013
|
|
|
3012
|
-
__version__ = "1.15.
|
|
3014
|
+
__version__ = "1.15.99"
|
|
3013
3015
|
__author__ = "AKFamily"
|
|
3014
3016
|
|
|
3015
3017
|
import sys
|
akshare/index/index_zh_em.py
CHANGED
akshare/option/option_finance.py
CHANGED
|
@@ -8,6 +8,7 @@ http://www.szse.cn/market/product/option/index.html
|
|
|
8
8
|
http://www.cffex.com.cn/hs300gzqq/
|
|
9
9
|
http://www.cffex.com.cn/zz1000gzqq/
|
|
10
10
|
"""
|
|
11
|
+
|
|
11
12
|
from io import BytesIO
|
|
12
13
|
|
|
13
14
|
import pandas as pd
|
|
@@ -69,7 +70,7 @@ def option_finance_sse_underlying(symbol: str = "华夏科创50ETF期权") -> pd
|
|
|
69
70
|
|
|
70
71
|
|
|
71
72
|
def option_finance_board(
|
|
72
|
-
|
|
73
|
+
symbol: str = "嘉实沪深300ETF期权", end_month: str = "2306"
|
|
73
74
|
) -> pd.DataFrame:
|
|
74
75
|
"""
|
|
75
76
|
期权当前交易日的行情数据
|
|
@@ -79,7 +80,8 @@ def option_finance_board(
|
|
|
79
80
|
http://www.szse.cn/market/product/option/index.html
|
|
80
81
|
http://www.cffex.com.cn/hs300gzqq/
|
|
81
82
|
http://www.cffex.com.cn/zz1000gzqq/
|
|
82
|
-
:param symbol: choice of {"华夏上证50ETF期权", "华泰柏瑞沪深300ETF期权", "南方中证500ETF期权",
|
|
83
|
+
:param symbol: choice of {"华夏上证50ETF期权", "华泰柏瑞沪深300ETF期权", "南方中证500ETF期权",
|
|
84
|
+
"华夏科创50ETF期权", "易方达科创50ETF期权", "嘉实沪深300ETF期权", "沪深300股指期权", "中证1000股指期权", "上证50股指期权"}
|
|
83
85
|
:type symbol: str
|
|
84
86
|
:param end_month: 2003; 2020 年 3 月到期的期权
|
|
85
87
|
:type end_month: str
|
|
@@ -100,7 +102,15 @@ def option_finance_board(
|
|
|
100
102
|
raw_data.columns = ["合约交易代码", "当前价", "涨跌幅", "前结价", "行权价"]
|
|
101
103
|
raw_data["数量"] = [data_json["total"]] * data_json["total"]
|
|
102
104
|
raw_data.reset_index(inplace=True)
|
|
103
|
-
raw_data.columns = [
|
|
105
|
+
raw_data.columns = [
|
|
106
|
+
"日期",
|
|
107
|
+
"合约交易代码",
|
|
108
|
+
"当前价",
|
|
109
|
+
"涨跌幅",
|
|
110
|
+
"前结价",
|
|
111
|
+
"行权价",
|
|
112
|
+
"数量",
|
|
113
|
+
]
|
|
104
114
|
return raw_data
|
|
105
115
|
elif symbol == "华泰柏瑞沪深300ETF期权":
|
|
106
116
|
r = requests.get(
|
|
@@ -115,7 +125,15 @@ def option_finance_board(
|
|
|
115
125
|
raw_data.columns = ["合约交易代码", "当前价", "涨跌幅", "前结价", "行权价"]
|
|
116
126
|
raw_data["数量"] = [data_json["total"]] * data_json["total"]
|
|
117
127
|
raw_data.reset_index(inplace=True)
|
|
118
|
-
raw_data.columns = [
|
|
128
|
+
raw_data.columns = [
|
|
129
|
+
"日期",
|
|
130
|
+
"合约交易代码",
|
|
131
|
+
"当前价",
|
|
132
|
+
"涨跌幅",
|
|
133
|
+
"前结价",
|
|
134
|
+
"行权价",
|
|
135
|
+
"数量",
|
|
136
|
+
]
|
|
119
137
|
return raw_data
|
|
120
138
|
elif symbol == "南方中证500ETF期权":
|
|
121
139
|
r = requests.get(
|
|
@@ -130,7 +148,15 @@ def option_finance_board(
|
|
|
130
148
|
raw_data.columns = ["合约交易代码", "当前价", "涨跌幅", "前结价", "行权价"]
|
|
131
149
|
raw_data["数量"] = [data_json["total"]] * data_json["total"]
|
|
132
150
|
raw_data.reset_index(inplace=True)
|
|
133
|
-
raw_data.columns = [
|
|
151
|
+
raw_data.columns = [
|
|
152
|
+
"日期",
|
|
153
|
+
"合约交易代码",
|
|
154
|
+
"当前价",
|
|
155
|
+
"涨跌幅",
|
|
156
|
+
"前结价",
|
|
157
|
+
"行权价",
|
|
158
|
+
"数量",
|
|
159
|
+
]
|
|
134
160
|
return raw_data
|
|
135
161
|
elif symbol == "华夏科创50ETF期权":
|
|
136
162
|
r = requests.get(
|
|
@@ -145,7 +171,15 @@ def option_finance_board(
|
|
|
145
171
|
raw_data.columns = ["合约交易代码", "当前价", "涨跌幅", "前结价", "行权价"]
|
|
146
172
|
raw_data["数量"] = [data_json["total"]] * data_json["total"]
|
|
147
173
|
raw_data.reset_index(inplace=True)
|
|
148
|
-
raw_data.columns = [
|
|
174
|
+
raw_data.columns = [
|
|
175
|
+
"日期",
|
|
176
|
+
"合约交易代码",
|
|
177
|
+
"当前价",
|
|
178
|
+
"涨跌幅",
|
|
179
|
+
"前结价",
|
|
180
|
+
"行权价",
|
|
181
|
+
"数量",
|
|
182
|
+
]
|
|
149
183
|
return raw_data
|
|
150
184
|
elif symbol == "易方达科创50ETF期权":
|
|
151
185
|
r = requests.get(
|
|
@@ -160,7 +194,15 @@ def option_finance_board(
|
|
|
160
194
|
raw_data.columns = ["合约交易代码", "当前价", "涨跌幅", "前结价", "行权价"]
|
|
161
195
|
raw_data["数量"] = [data_json["total"]] * data_json["total"]
|
|
162
196
|
raw_data.reset_index(inplace=True)
|
|
163
|
-
raw_data.columns = [
|
|
197
|
+
raw_data.columns = [
|
|
198
|
+
"日期",
|
|
199
|
+
"合约交易代码",
|
|
200
|
+
"当前价",
|
|
201
|
+
"涨跌幅",
|
|
202
|
+
"前结价",
|
|
203
|
+
"行权价",
|
|
204
|
+
"数量",
|
|
205
|
+
]
|
|
164
206
|
return raw_data
|
|
165
207
|
elif symbol == "嘉实沪深300ETF期权":
|
|
166
208
|
url = "http://www.szse.cn/api/report/ShowReport/data"
|
|
@@ -206,7 +248,7 @@ def option_finance_board(
|
|
|
206
248
|
return big_df
|
|
207
249
|
elif symbol == "沪深300股指期权":
|
|
208
250
|
headers = {
|
|
209
|
-
|
|
251
|
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36"
|
|
210
252
|
}
|
|
211
253
|
r = requests.get(CFFEX_OPTION_URL_300, headers=headers)
|
|
212
254
|
raw_df = pd.read_table(BytesIO(r.content), sep=",")
|
|
@@ -224,7 +266,7 @@ def option_finance_board(
|
|
|
224
266
|
return raw_df
|
|
225
267
|
elif symbol == "中证1000股指期权":
|
|
226
268
|
headers = {
|
|
227
|
-
|
|
269
|
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36"
|
|
228
270
|
}
|
|
229
271
|
url = "http://www.cffex.com.cn/quote_MO.txt"
|
|
230
272
|
r = requests.get(url, headers=headers)
|
|
@@ -243,7 +285,7 @@ def option_finance_board(
|
|
|
243
285
|
return raw_df
|
|
244
286
|
elif symbol == "上证50股指期权":
|
|
245
287
|
headers = {
|
|
246
|
-
|
|
288
|
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36"
|
|
247
289
|
}
|
|
248
290
|
url = "http://www.cffex.com.cn/quote_HO.txt"
|
|
249
291
|
r = requests.get(url, headers=headers)
|
|
@@ -298,7 +340,9 @@ if __name__ == "__main__":
|
|
|
298
340
|
)
|
|
299
341
|
print(option_finance_board_df)
|
|
300
342
|
|
|
301
|
-
option_finance_board_df = option_finance_board(
|
|
343
|
+
option_finance_board_df = option_finance_board(
|
|
344
|
+
symbol="沪深300股指期权", end_month="2306"
|
|
345
|
+
)
|
|
302
346
|
print(option_finance_board_df)
|
|
303
347
|
|
|
304
348
|
option_finance_board_df = option_finance_board(
|
|
@@ -306,5 +350,7 @@ if __name__ == "__main__":
|
|
|
306
350
|
)
|
|
307
351
|
print(option_finance_board_df)
|
|
308
352
|
|
|
309
|
-
option_finance_board_df = option_finance_board(
|
|
353
|
+
option_finance_board_df = option_finance_board(
|
|
354
|
+
symbol="上证50股指期权", end_month="2306"
|
|
355
|
+
)
|
|
310
356
|
print(option_finance_board_df)
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
2
|
# -*- coding:utf-8 -*-
|
|
3
3
|
"""
|
|
4
|
-
Date:
|
|
4
|
+
Date: 2025/2/17 14:10
|
|
5
5
|
Desc: 东方财富-沪深板块-概念板块
|
|
6
6
|
https://quote.eastmoney.com/center/boardlist.html#concept_board
|
|
7
7
|
"""
|
|
8
8
|
|
|
9
|
-
import
|
|
9
|
+
import math
|
|
10
|
+
from functools import lru_cache
|
|
11
|
+
|
|
10
12
|
import pandas as pd
|
|
13
|
+
import requests
|
|
11
14
|
|
|
15
|
+
from akshare.utils.tqdm import get_tqdm
|
|
12
16
|
|
|
17
|
+
|
|
18
|
+
@lru_cache()
|
|
13
19
|
def stock_board_concept_name_em() -> pd.DataFrame:
|
|
14
20
|
"""
|
|
15
21
|
东方财富网-行情中心-沪深京板块-概念板块-名称
|
|
@@ -20,20 +26,33 @@ def stock_board_concept_name_em() -> pd.DataFrame:
|
|
|
20
26
|
url = "https://79.push2.eastmoney.com/api/qt/clist/get"
|
|
21
27
|
params = {
|
|
22
28
|
"pn": "1",
|
|
23
|
-
"pz": "
|
|
29
|
+
"pz": "200",
|
|
24
30
|
"po": "1",
|
|
25
31
|
"np": "1",
|
|
26
32
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
|
27
33
|
"fltt": "2",
|
|
28
34
|
"invt": "2",
|
|
29
|
-
"fid": "
|
|
35
|
+
"fid": "f12",
|
|
30
36
|
"fs": "m:90 t:3 f:!50",
|
|
31
37
|
"fields": "f2,f3,f4,f8,f12,f14,f15,f16,f17,f18,f20,f21,f24,f25,f22,f33,f11,f62,f128,f124,f107,f104,f105,f136",
|
|
32
38
|
"_": "1626075887768",
|
|
33
39
|
}
|
|
34
40
|
r = requests.get(url, params=params)
|
|
35
41
|
data_json = r.json()
|
|
36
|
-
|
|
42
|
+
total_page = math.ceil(data_json["data"]["total"] / 200)
|
|
43
|
+
temp_list = []
|
|
44
|
+
tqdm = get_tqdm()
|
|
45
|
+
for page in tqdm(range(1, total_page + 1), leave=False):
|
|
46
|
+
params.update(
|
|
47
|
+
{
|
|
48
|
+
"pn": page,
|
|
49
|
+
}
|
|
50
|
+
)
|
|
51
|
+
r = requests.get(url, params=params, timeout=15)
|
|
52
|
+
data_json = r.json()
|
|
53
|
+
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
|
54
|
+
temp_list.append(inner_temp_df)
|
|
55
|
+
temp_df = pd.concat(temp_list, ignore_index=True)
|
|
37
56
|
temp_df.reset_index(inplace=True)
|
|
38
57
|
temp_df["index"] = range(1, len(temp_df) + 1)
|
|
39
58
|
temp_df.columns = [
|
|
@@ -311,7 +330,7 @@ def stock_board_concept_cons_em(symbol: str = "融资融券") -> pd.DataFrame:
|
|
|
311
330
|
url = "https://29.push2.eastmoney.com/api/qt/clist/get"
|
|
312
331
|
params = {
|
|
313
332
|
"pn": "1",
|
|
314
|
-
"pz": "
|
|
333
|
+
"pz": "200",
|
|
315
334
|
"po": "1",
|
|
316
335
|
"np": "1",
|
|
317
336
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
|
@@ -325,7 +344,20 @@ def stock_board_concept_cons_em(symbol: str = "融资融券") -> pd.DataFrame:
|
|
|
325
344
|
}
|
|
326
345
|
r = requests.get(url, params=params)
|
|
327
346
|
data_json = r.json()
|
|
328
|
-
|
|
347
|
+
total_page = math.ceil(data_json["data"]["total"] / 200)
|
|
348
|
+
temp_list = []
|
|
349
|
+
tqdm = get_tqdm()
|
|
350
|
+
for page in tqdm(range(1, total_page + 1), leave=False):
|
|
351
|
+
params.update(
|
|
352
|
+
{
|
|
353
|
+
"pn": page,
|
|
354
|
+
}
|
|
355
|
+
)
|
|
356
|
+
r = requests.get(url, params=params, timeout=15)
|
|
357
|
+
data_json = r.json()
|
|
358
|
+
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
|
359
|
+
temp_list.append(inner_temp_df)
|
|
360
|
+
temp_df = pd.concat(temp_list, ignore_index=True)
|
|
329
361
|
temp_df.reset_index(inplace=True)
|
|
330
362
|
temp_df["index"] = range(1, len(temp_df) + 1)
|
|
331
363
|
temp_df.columns = [
|
akshare/stock/stock_fund_em.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
2
|
# -*- coding:utf-8 -*-
|
|
3
3
|
"""
|
|
4
|
-
Date:
|
|
4
|
+
Date: 2025/2/17 14:30
|
|
5
5
|
Desc: 东方财富网-数据中心-资金流向
|
|
6
6
|
https://data.eastmoney.com/zjlx/detail.html
|
|
7
7
|
"""
|
|
@@ -654,7 +654,7 @@ def _get_stock_sector_fund_flow_summary_code() -> dict:
|
|
|
654
654
|
"pn": "1",
|
|
655
655
|
"pz": "5000",
|
|
656
656
|
"po": "1",
|
|
657
|
-
"np": "
|
|
657
|
+
"np": "2",
|
|
658
658
|
"ut": "b2884a393a59ad64002292a3e90d46a5",
|
|
659
659
|
"fltt": "2",
|
|
660
660
|
"invt": "2",
|
|
@@ -667,7 +667,7 @@ def _get_stock_sector_fund_flow_summary_code() -> dict:
|
|
|
667
667
|
}
|
|
668
668
|
r = requests.get(url, params=params, headers=headers)
|
|
669
669
|
data_json = r.json()
|
|
670
|
-
temp_df = pd.DataFrame(data_json["data"]["diff"])
|
|
670
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
|
671
671
|
name_code_map = dict(zip(temp_df["f14"], temp_df["f12"]))
|
|
672
672
|
return name_code_map
|
|
673
673
|
|
|
@@ -1061,7 +1061,7 @@ def _get_stock_concept_fund_flow_summary_code() -> dict:
|
|
|
1061
1061
|
"pn": "1",
|
|
1062
1062
|
"pz": "5000",
|
|
1063
1063
|
"po": "1",
|
|
1064
|
-
"np": "
|
|
1064
|
+
"np": "2",
|
|
1065
1065
|
"fields": "f12,f13,f14,f62",
|
|
1066
1066
|
"fid": "f62",
|
|
1067
1067
|
"fs": "m:90+t:3",
|
|
@@ -1070,7 +1070,7 @@ def _get_stock_concept_fund_flow_summary_code() -> dict:
|
|
|
1070
1070
|
}
|
|
1071
1071
|
r = requests.get(url, params=params, headers=headers)
|
|
1072
1072
|
data_json = r.json()
|
|
1073
|
-
temp_df = pd.DataFrame(data_json["data"]["diff"])
|
|
1073
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
|
1074
1074
|
name_code_map = dict(zip(temp_df["f14"], temp_df["f12"]))
|
|
1075
1075
|
return name_code_map
|
|
1076
1076
|
|
|
@@ -1332,7 +1332,7 @@ if __name__ == "__main__":
|
|
|
1332
1332
|
stock_sector_fund_flow_hist_df = stock_sector_fund_flow_hist(symbol="电源设备")
|
|
1333
1333
|
print(stock_sector_fund_flow_hist_df)
|
|
1334
1334
|
|
|
1335
|
-
stock_concept_fund_flow_hist_df = stock_concept_fund_flow_hist(symbol="
|
|
1335
|
+
stock_concept_fund_flow_hist_df = stock_concept_fund_flow_hist(symbol="电源设备")
|
|
1336
1336
|
print(stock_concept_fund_flow_hist_df)
|
|
1337
1337
|
|
|
1338
1338
|
stock_main_fund_flow_df = stock_main_fund_flow(symbol="全部股票")
|
|
@@ -7,10 +7,10 @@ https://finance.sina.com.cn/esg/
|
|
|
7
7
|
"""
|
|
8
8
|
|
|
9
9
|
import math
|
|
10
|
+
from akshare.utils.tqdm import get_tqdm
|
|
10
11
|
|
|
11
12
|
import pandas as pd
|
|
12
13
|
import requests
|
|
13
|
-
from tqdm import tqdm
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
def stock_esg_msci_sina() -> pd.DataFrame:
|
|
@@ -25,6 +25,7 @@ def stock_esg_msci_sina() -> pd.DataFrame:
|
|
|
25
25
|
data_json = r.json()
|
|
26
26
|
page_num = math.ceil(int(data_json["result"]["data"]["total"]) / 100)
|
|
27
27
|
big_df = pd.DataFrame()
|
|
28
|
+
tqdm = get_tqdm()
|
|
28
29
|
for page in tqdm(range(1, page_num + 1), leave=False):
|
|
29
30
|
headers = {
|
|
30
31
|
"Referer": "https://finance.sina.com.cn/",
|
|
@@ -175,6 +176,7 @@ def stock_esg_rate_sina() -> pd.DataFrame:
|
|
|
175
176
|
data_json = r.json()
|
|
176
177
|
page_num = math.ceil(int(data_json["result"]["data"]["info"]["total"]) / 200)
|
|
177
178
|
big_df = pd.DataFrame()
|
|
179
|
+
tqdm = get_tqdm()
|
|
178
180
|
for page in tqdm(range(1, page_num + 1), leave=False):
|
|
179
181
|
url = f"https://global.finance.sina.com.cn/api/openapi.php/EsgService.getEsgStocks?page={page}&num=200"
|
|
180
182
|
r = requests.get(url)
|
|
@@ -223,10 +225,20 @@ def stock_esg_zd_sina() -> pd.DataFrame:
|
|
|
223
225
|
:return: 秩鼎
|
|
224
226
|
:rtype: pandas.DataFrame
|
|
225
227
|
"""
|
|
226
|
-
url = "https://global.finance.sina.com.cn/api/openapi.php/EsgService.getZdEsgStocks
|
|
227
|
-
|
|
228
|
+
url = "https://global.finance.sina.com.cn/api/openapi.php/EsgService.getZdEsgStocks"
|
|
229
|
+
params = {"p": "1", "num": "100"}
|
|
230
|
+
r = requests.get(url, params=params)
|
|
228
231
|
data_json = r.json()
|
|
229
|
-
|
|
232
|
+
tqdm = get_tqdm()
|
|
233
|
+
total_page = math.ceil(int(data_json["result"]["data"]["total"]) / 100)
|
|
234
|
+
temp_list = []
|
|
235
|
+
for page in tqdm(range(1, total_page + 1), leave=False):
|
|
236
|
+
params = {"p": str(page), "num": "100"}
|
|
237
|
+
r = requests.get(url, params=params)
|
|
238
|
+
data_json = r.json()
|
|
239
|
+
temp_df = pd.DataFrame(data_json["result"]["data"]["data"])
|
|
240
|
+
temp_list.append(temp_df)
|
|
241
|
+
big_df = pd.concat(temp_list, ignore_index=True)
|
|
230
242
|
big_df.rename(
|
|
231
243
|
columns={
|
|
232
244
|
"ticker": "股票代码",
|
|
@@ -265,6 +277,7 @@ def stock_esg_hz_sina() -> pd.DataFrame:
|
|
|
265
277
|
data_json = r.json()
|
|
266
278
|
total_page = math.ceil(int(data_json["result"]["data"]["total"]) / 100)
|
|
267
279
|
big_df = pd.DataFrame()
|
|
280
|
+
tqdm = get_tqdm()
|
|
268
281
|
for page in tqdm(range(1, total_page + 1), leave=False):
|
|
269
282
|
params = {"p": str(page), "num": "100"}
|
|
270
283
|
r = requests.get(url, params=params)
|
|
@@ -6,14 +6,11 @@ Desc: 东方财富网-行情首页-沪深京 A 股
|
|
|
6
6
|
https://quote.eastmoney.com/
|
|
7
7
|
"""
|
|
8
8
|
|
|
9
|
-
import math
|
|
10
9
|
from functools import lru_cache
|
|
11
10
|
|
|
12
11
|
import pandas as pd
|
|
13
12
|
import requests
|
|
14
13
|
|
|
15
|
-
from akshare.utils.tqdm import get_tqdm
|
|
16
|
-
|
|
17
14
|
|
|
18
15
|
def stock_zh_a_spot_em() -> pd.DataFrame:
|
|
19
16
|
"""
|
|
@@ -25,9 +22,9 @@ def stock_zh_a_spot_em() -> pd.DataFrame:
|
|
|
25
22
|
url = "https://82.push2.eastmoney.com/api/qt/clist/get"
|
|
26
23
|
params = {
|
|
27
24
|
"pn": "1",
|
|
28
|
-
"pz": "
|
|
25
|
+
"pz": "20000",
|
|
29
26
|
"po": "1",
|
|
30
|
-
"np": "
|
|
27
|
+
"np": "2",
|
|
31
28
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
|
32
29
|
"fltt": "2",
|
|
33
30
|
"invt": "2",
|
|
@@ -39,20 +36,7 @@ def stock_zh_a_spot_em() -> pd.DataFrame:
|
|
|
39
36
|
}
|
|
40
37
|
r = requests.get(url, params=params, timeout=15)
|
|
41
38
|
data_json = r.json()
|
|
42
|
-
|
|
43
|
-
temp_list = []
|
|
44
|
-
tqdm = get_tqdm()
|
|
45
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
|
46
|
-
params.update(
|
|
47
|
-
{
|
|
48
|
-
"pn": page,
|
|
49
|
-
}
|
|
50
|
-
)
|
|
51
|
-
r = requests.get(url, params=params, timeout=15)
|
|
52
|
-
data_json = r.json()
|
|
53
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
|
54
|
-
temp_list.append(inner_temp_df)
|
|
55
|
-
temp_df = pd.concat(temp_list, ignore_index=True)
|
|
39
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
|
56
40
|
temp_df.columns = [
|
|
57
41
|
"_",
|
|
58
42
|
"最新价",
|
|
@@ -151,9 +135,9 @@ def stock_sh_a_spot_em() -> pd.DataFrame:
|
|
|
151
135
|
url = "https://82.push2.eastmoney.com/api/qt/clist/get"
|
|
152
136
|
params = {
|
|
153
137
|
"pn": "1",
|
|
154
|
-
"pz": "
|
|
138
|
+
"pz": "50000",
|
|
155
139
|
"po": "1",
|
|
156
|
-
"np": "
|
|
140
|
+
"np": "2",
|
|
157
141
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
|
158
142
|
"fltt": "2",
|
|
159
143
|
"invt": "2",
|
|
@@ -167,20 +151,7 @@ def stock_sh_a_spot_em() -> pd.DataFrame:
|
|
|
167
151
|
data_json = r.json()
|
|
168
152
|
if not data_json["data"]["diff"]:
|
|
169
153
|
return pd.DataFrame()
|
|
170
|
-
|
|
171
|
-
temp_list = []
|
|
172
|
-
tqdm = get_tqdm()
|
|
173
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
|
174
|
-
params.update(
|
|
175
|
-
{
|
|
176
|
-
"pn": page,
|
|
177
|
-
}
|
|
178
|
-
)
|
|
179
|
-
r = requests.get(url, params=params, timeout=15)
|
|
180
|
-
data_json = r.json()
|
|
181
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
|
182
|
-
temp_list.append(inner_temp_df)
|
|
183
|
-
temp_df = pd.concat(temp_list, ignore_index=True)
|
|
154
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
|
184
155
|
temp_df.columns = [
|
|
185
156
|
"_",
|
|
186
157
|
"最新价",
|
|
@@ -279,9 +250,9 @@ def stock_sz_a_spot_em() -> pd.DataFrame:
|
|
|
279
250
|
url = "https://82.push2.eastmoney.com/api/qt/clist/get"
|
|
280
251
|
params = {
|
|
281
252
|
"pn": "1",
|
|
282
|
-
"pz": "
|
|
253
|
+
"pz": "50000",
|
|
283
254
|
"po": "1",
|
|
284
|
-
"np": "
|
|
255
|
+
"np": "2",
|
|
285
256
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
|
286
257
|
"fltt": "2",
|
|
287
258
|
"invt": "2",
|
|
@@ -295,20 +266,7 @@ def stock_sz_a_spot_em() -> pd.DataFrame:
|
|
|
295
266
|
data_json = r.json()
|
|
296
267
|
if not data_json["data"]["diff"]:
|
|
297
268
|
return pd.DataFrame()
|
|
298
|
-
|
|
299
|
-
temp_list = []
|
|
300
|
-
tqdm = get_tqdm()
|
|
301
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
|
302
|
-
params.update(
|
|
303
|
-
{
|
|
304
|
-
"pn": page,
|
|
305
|
-
}
|
|
306
|
-
)
|
|
307
|
-
r = requests.get(url, params=params, timeout=15)
|
|
308
|
-
data_json = r.json()
|
|
309
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
|
310
|
-
temp_list.append(inner_temp_df)
|
|
311
|
-
temp_df = pd.concat(temp_list, ignore_index=True)
|
|
269
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
|
312
270
|
temp_df.columns = [
|
|
313
271
|
"_",
|
|
314
272
|
"最新价",
|
|
@@ -409,7 +367,7 @@ def stock_bj_a_spot_em() -> pd.DataFrame:
|
|
|
409
367
|
"pn": "1",
|
|
410
368
|
"pz": "50000",
|
|
411
369
|
"po": "1",
|
|
412
|
-
"np": "
|
|
370
|
+
"np": "2",
|
|
413
371
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
|
414
372
|
"fltt": "2",
|
|
415
373
|
"invt": "2",
|
|
@@ -419,11 +377,11 @@ def stock_bj_a_spot_em() -> pd.DataFrame:
|
|
|
419
377
|
",f25,f22,f11,f62,f128,f136,f115,f152",
|
|
420
378
|
"_": "1623833739532",
|
|
421
379
|
}
|
|
422
|
-
r = requests.get(url,
|
|
380
|
+
r = requests.get(url, params=params, timeout=15)
|
|
423
381
|
data_json = r.json()
|
|
424
382
|
if not data_json["data"]["diff"]:
|
|
425
383
|
return pd.DataFrame()
|
|
426
|
-
temp_df = pd.DataFrame(data_json["data"]["diff"])
|
|
384
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
|
427
385
|
temp_df.columns = [
|
|
428
386
|
"_",
|
|
429
387
|
"最新价",
|
|
@@ -644,7 +602,7 @@ def stock_cy_a_spot_em() -> pd.DataFrame:
|
|
|
644
602
|
"pn": "1",
|
|
645
603
|
"pz": "50000",
|
|
646
604
|
"po": "1",
|
|
647
|
-
"np": "
|
|
605
|
+
"np": "2",
|
|
648
606
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
|
649
607
|
"fltt": "2",
|
|
650
608
|
"invt": "2",
|
|
@@ -659,7 +617,7 @@ def stock_cy_a_spot_em() -> pd.DataFrame:
|
|
|
659
617
|
data_json = r.json()
|
|
660
618
|
if not data_json["data"]["diff"]:
|
|
661
619
|
return pd.DataFrame()
|
|
662
|
-
temp_df = pd.DataFrame(data_json["data"]["diff"])
|
|
620
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
|
663
621
|
temp_df.columns = [
|
|
664
622
|
"_",
|
|
665
623
|
"最新价",
|
|
@@ -760,7 +718,7 @@ def stock_kc_a_spot_em() -> pd.DataFrame:
|
|
|
760
718
|
"pn": "1",
|
|
761
719
|
"pz": "50000",
|
|
762
720
|
"po": "1",
|
|
763
|
-
"np": "
|
|
721
|
+
"np": "2",
|
|
764
722
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
|
765
723
|
"fltt": "2",
|
|
766
724
|
"invt": "2",
|
|
@@ -771,11 +729,11 @@ def stock_kc_a_spot_em() -> pd.DataFrame:
|
|
|
771
729
|
"f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152",
|
|
772
730
|
"_": "1623833739532",
|
|
773
731
|
}
|
|
774
|
-
r = requests.get(url,
|
|
732
|
+
r = requests.get(url, params=params, timeout=15)
|
|
775
733
|
data_json = r.json()
|
|
776
734
|
if not data_json["data"]["diff"]:
|
|
777
735
|
return pd.DataFrame()
|
|
778
|
-
temp_df = pd.DataFrame(data_json["data"]["diff"])
|
|
736
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
|
779
737
|
temp_df.columns = [
|
|
780
738
|
"_",
|
|
781
739
|
"最新价",
|
|
@@ -876,7 +834,7 @@ def stock_zh_b_spot_em() -> pd.DataFrame:
|
|
|
876
834
|
"pn": "1",
|
|
877
835
|
"pz": "50000",
|
|
878
836
|
"po": "1",
|
|
879
|
-
"np": "
|
|
837
|
+
"np": "2",
|
|
880
838
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
|
881
839
|
"fltt": "2",
|
|
882
840
|
"invt": "2",
|
|
@@ -886,11 +844,11 @@ def stock_zh_b_spot_em() -> pd.DataFrame:
|
|
|
886
844
|
",f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152",
|
|
887
845
|
"_": "1623833739532",
|
|
888
846
|
}
|
|
889
|
-
r = requests.get(url,
|
|
847
|
+
r = requests.get(url, params=params, timeout=15)
|
|
890
848
|
data_json = r.json()
|
|
891
849
|
if not data_json["data"]["diff"]:
|
|
892
850
|
return pd.DataFrame()
|
|
893
|
-
temp_df = pd.DataFrame(data_json["data"]["diff"])
|
|
851
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
|
894
852
|
temp_df.columns = [
|
|
895
853
|
"_",
|
|
896
854
|
"最新价",
|
|
@@ -990,9 +948,9 @@ def code_id_map_em() -> dict:
|
|
|
990
948
|
url = "https://80.push2.eastmoney.com/api/qt/clist/get"
|
|
991
949
|
params = {
|
|
992
950
|
"pn": "1",
|
|
993
|
-
"pz": "
|
|
951
|
+
"pz": "50000",
|
|
994
952
|
"po": "1",
|
|
995
|
-
"np": "
|
|
953
|
+
"np": "2",
|
|
996
954
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
|
997
955
|
"fltt": "2",
|
|
998
956
|
"invt": "2",
|
|
@@ -1001,31 +959,19 @@ def code_id_map_em() -> dict:
|
|
|
1001
959
|
"fields": "f12",
|
|
1002
960
|
"_": "1623833739532",
|
|
1003
961
|
}
|
|
1004
|
-
r = requests.get(url,
|
|
962
|
+
r = requests.get(url, params=params, timeout=15)
|
|
1005
963
|
data_json = r.json()
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
|
1010
|
-
params.update(
|
|
1011
|
-
{
|
|
1012
|
-
"pn": page,
|
|
1013
|
-
}
|
|
1014
|
-
)
|
|
1015
|
-
r = requests.get(url, params=params, timeout=15)
|
|
1016
|
-
data_json = r.json()
|
|
1017
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
|
1018
|
-
temp_list.append(inner_temp_df)
|
|
1019
|
-
temp_df = pd.concat(temp_list, ignore_index=True)
|
|
964
|
+
if not data_json["data"]["diff"]:
|
|
965
|
+
return dict()
|
|
966
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
|
1020
967
|
temp_df["market_id"] = 1
|
|
1021
968
|
temp_df.columns = ["sh_code", "sh_id"]
|
|
1022
969
|
code_id_dict = dict(zip(temp_df["sh_code"], temp_df["sh_id"]))
|
|
1023
|
-
|
|
1024
970
|
params = {
|
|
1025
971
|
"pn": "1",
|
|
1026
|
-
"pz": "
|
|
972
|
+
"pz": "50000",
|
|
1027
973
|
"po": "1",
|
|
1028
|
-
"np": "
|
|
974
|
+
"np": "2",
|
|
1029
975
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
|
1030
976
|
"fltt": "2",
|
|
1031
977
|
"invt": "2",
|
|
@@ -1034,30 +980,18 @@ def code_id_map_em() -> dict:
|
|
|
1034
980
|
"fields": "f12",
|
|
1035
981
|
"_": "1623833739532",
|
|
1036
982
|
}
|
|
1037
|
-
r = requests.get(url,
|
|
983
|
+
r = requests.get(url, params=params, timeout=15)
|
|
1038
984
|
data_json = r.json()
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
|
1043
|
-
params.update(
|
|
1044
|
-
{
|
|
1045
|
-
"pn": page,
|
|
1046
|
-
}
|
|
1047
|
-
)
|
|
1048
|
-
r = requests.get(url, params=params, timeout=15)
|
|
1049
|
-
data_json = r.json()
|
|
1050
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
|
1051
|
-
temp_list.append(inner_temp_df)
|
|
1052
|
-
temp_df_sz = pd.concat(temp_list, ignore_index=True)
|
|
985
|
+
if not data_json["data"]["diff"]:
|
|
986
|
+
return dict()
|
|
987
|
+
temp_df_sz = pd.DataFrame(data_json["data"]["diff"]).T
|
|
1053
988
|
temp_df_sz["sz_id"] = 0
|
|
1054
989
|
code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["sz_id"])))
|
|
1055
|
-
|
|
1056
990
|
params = {
|
|
1057
991
|
"pn": "1",
|
|
1058
|
-
"pz": "
|
|
992
|
+
"pz": "50000",
|
|
1059
993
|
"po": "1",
|
|
1060
|
-
"np": "
|
|
994
|
+
"np": "2",
|
|
1061
995
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
|
1062
996
|
"fltt": "2",
|
|
1063
997
|
"invt": "2",
|
|
@@ -1066,22 +1000,11 @@ def code_id_map_em() -> dict:
|
|
|
1066
1000
|
"fields": "f12",
|
|
1067
1001
|
"_": "1623833739532",
|
|
1068
1002
|
}
|
|
1069
|
-
r = requests.get(url,
|
|
1003
|
+
r = requests.get(url, params=params, timeout=15)
|
|
1070
1004
|
data_json = r.json()
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
|
1075
|
-
params.update(
|
|
1076
|
-
{
|
|
1077
|
-
"pn": page,
|
|
1078
|
-
}
|
|
1079
|
-
)
|
|
1080
|
-
r = requests.get(url, params=params, timeout=15)
|
|
1081
|
-
data_json = r.json()
|
|
1082
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
|
1083
|
-
temp_list.append(inner_temp_df)
|
|
1084
|
-
temp_df_sz = pd.concat(temp_list, ignore_index=True)
|
|
1005
|
+
if not data_json["data"]["diff"]:
|
|
1006
|
+
return dict()
|
|
1007
|
+
temp_df_sz = pd.DataFrame(data_json["data"]["diff"]).T
|
|
1085
1008
|
temp_df_sz["bj_id"] = 0
|
|
1086
1009
|
code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["bj_id"])))
|
|
1087
1010
|
return code_id_dict
|
|
@@ -1375,9 +1298,9 @@ def stock_hk_spot_em() -> pd.DataFrame:
|
|
|
1375
1298
|
url = "https://72.push2.eastmoney.com/api/qt/clist/get"
|
|
1376
1299
|
params = {
|
|
1377
1300
|
"pn": "1",
|
|
1378
|
-
"pz": "
|
|
1301
|
+
"pz": "50000",
|
|
1379
1302
|
"po": "1",
|
|
1380
|
-
"np": "
|
|
1303
|
+
"np": "2",
|
|
1381
1304
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
|
1382
1305
|
"fltt": "2",
|
|
1383
1306
|
"invt": "2",
|
|
@@ -1389,20 +1312,9 @@ def stock_hk_spot_em() -> pd.DataFrame:
|
|
|
1389
1312
|
}
|
|
1390
1313
|
r = requests.get(url, timeout=15, params=params)
|
|
1391
1314
|
data_json = r.json()
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
|
1396
|
-
params.update(
|
|
1397
|
-
{
|
|
1398
|
-
"pn": page,
|
|
1399
|
-
}
|
|
1400
|
-
)
|
|
1401
|
-
r = requests.get(url, params=params, timeout=15)
|
|
1402
|
-
data_json = r.json()
|
|
1403
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
|
1404
|
-
temp_list.append(inner_temp_df)
|
|
1405
|
-
temp_df = pd.concat(temp_list, ignore_index=True)
|
|
1315
|
+
if not data_json["data"]["diff"]:
|
|
1316
|
+
return pd.DataFrame()
|
|
1317
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
|
1406
1318
|
temp_df.columns = [
|
|
1407
1319
|
"_",
|
|
1408
1320
|
"最新价",
|
|
@@ -1480,7 +1392,7 @@ def stock_hk_main_board_spot_em() -> pd.DataFrame:
|
|
|
1480
1392
|
"pn": "1",
|
|
1481
1393
|
"pz": "50000",
|
|
1482
1394
|
"po": "1",
|
|
1483
|
-
"np": "
|
|
1395
|
+
"np": "2",
|
|
1484
1396
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
|
1485
1397
|
"fltt": "2",
|
|
1486
1398
|
"invt": "2",
|
|
@@ -1490,9 +1402,9 @@ def stock_hk_main_board_spot_em() -> pd.DataFrame:
|
|
|
1490
1402
|
"f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152",
|
|
1491
1403
|
"_": "1624010056945",
|
|
1492
1404
|
}
|
|
1493
|
-
r = requests.get(url,
|
|
1405
|
+
r = requests.get(url, params=params, timeout=15)
|
|
1494
1406
|
data_json = r.json()
|
|
1495
|
-
temp_df = pd.DataFrame(data_json["data"]["diff"])
|
|
1407
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
|
1496
1408
|
temp_df.columns = [
|
|
1497
1409
|
"_",
|
|
1498
1410
|
"最新价",
|
|
@@ -1771,9 +1683,9 @@ def stock_us_spot_em() -> pd.DataFrame:
|
|
|
1771
1683
|
url = "https://72.push2.eastmoney.com/api/qt/clist/get"
|
|
1772
1684
|
params = {
|
|
1773
1685
|
"pn": "1",
|
|
1774
|
-
"pz": "
|
|
1686
|
+
"pz": "50000",
|
|
1775
1687
|
"po": "1",
|
|
1776
|
-
"np": "
|
|
1688
|
+
"np": "2",
|
|
1777
1689
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
|
1778
1690
|
"fltt": "2",
|
|
1779
1691
|
"invt": "2",
|
|
@@ -1783,22 +1695,11 @@ def stock_us_spot_em() -> pd.DataFrame:
|
|
|
1783
1695
|
"f21,f23,f24,f25,f26,f22,f33,f11,f62,f128,f136,f115,f152",
|
|
1784
1696
|
"_": "1624010056945",
|
|
1785
1697
|
}
|
|
1786
|
-
r = requests.get(url,
|
|
1698
|
+
r = requests.get(url, params=params, timeout=15)
|
|
1787
1699
|
data_json = r.json()
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
|
1792
|
-
params.update(
|
|
1793
|
-
{
|
|
1794
|
-
"pn": page,
|
|
1795
|
-
}
|
|
1796
|
-
)
|
|
1797
|
-
r = requests.get(url, params=params, timeout=15)
|
|
1798
|
-
data_json = r.json()
|
|
1799
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
|
1800
|
-
temp_list.append(inner_temp_df)
|
|
1801
|
-
temp_df = pd.concat(temp_list, ignore_index=True)
|
|
1700
|
+
if not data_json["data"]["diff"]:
|
|
1701
|
+
return pd.DataFrame()
|
|
1702
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
|
1802
1703
|
temp_df.columns = [
|
|
1803
1704
|
"_",
|
|
1804
1705
|
"最新价",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
akshare/__init__.py,sha256
|
|
1
|
+
akshare/__init__.py,sha256=A7PXQwrV1Zg07nFz4vVEUuJvqmhjqpAhFcxHJwyH3Y4,187523
|
|
2
2
|
akshare/datasets.py,sha256=rKuRNZrqi6IMsZ9nyvO3Rx02js0tH3zMLjz8HQNAoPQ,963
|
|
3
3
|
akshare/exceptions.py,sha256=WEJjIhSmJ_xXNW6grwV4nufE_cfmmyuhmueVGiN1VAg,878
|
|
4
4
|
akshare/request.py,sha256=HtFFf9MhfEibR-ETWe-1Tts6ELU4VKSqA-ghaXjegQM,4252
|
|
@@ -173,7 +173,7 @@ akshare/index/index_sugar.py,sha256=B_Nj9Q6JP-Y_d7myZ0C79izTxxrbuZIp1Vv_CilVMOc,
|
|
|
173
173
|
akshare/index/index_sw.py,sha256=hETMmFszQb7JDY8UHjLK8szfwkr7Ui_6QcseOoEfxaI,10456
|
|
174
174
|
akshare/index/index_yw.py,sha256=6FF38kooLQulnMTqAd1__TNWip4XC1VA72k3T049xYc,4319
|
|
175
175
|
akshare/index/index_zh_a_scope.py,sha256=4Ej2Gnqtd66EBiI67sQZKhblcIJXdD5CoMIJYD_KwYU,1367
|
|
176
|
-
akshare/index/index_zh_em.py,sha256=
|
|
176
|
+
akshare/index/index_zh_em.py,sha256=GVInuhgb1MpANo7rz96c1Cj_MHOY7Z7lYjgP1VaZtrg,17616
|
|
177
177
|
akshare/interest_rate/__init__.py,sha256=O6dl1roEQUWwtXgRpa6wOABUU7MH0YmFDrkfhBpYOX4,81
|
|
178
178
|
akshare/interest_rate/interbank_rate_em.py,sha256=iKvmWxM4bpl9JgHNvavq0yhzMRq69BPEON1cGcWJrf4,4549
|
|
179
179
|
akshare/movie/__init__.py,sha256=YzijIIzvGpcc9hORC6qJSEK6vkjH5c4Docb5tQq2iHs,82
|
|
@@ -195,7 +195,7 @@ akshare/option/option_commodity_sina.py,sha256=r6qK_K7w3A6Uqp5ZtBb4pW7vH04oMyeCE
|
|
|
195
195
|
akshare/option/option_czce.py,sha256=L4i7TVKcOns5ZKoqq-mrSykdx3SGwu6OL4eI77-A_lc,1812
|
|
196
196
|
akshare/option/option_daily_stats_sse_szse.py,sha256=Ip_vE81qbEGt4ocbtWfUT7XGu0HWU0zKkzauZeq9RJA,4962
|
|
197
197
|
akshare/option/option_em.py,sha256=Q7t1z5GI4SQ9x9lpS7NClMikT4GP_a9vWcoEc9UIFiU,5949
|
|
198
|
-
akshare/option/option_finance.py,sha256=
|
|
198
|
+
akshare/option/option_finance.py,sha256=7rnEeHo-7Sddrs36Q4c99CXL_9m8IJzw9S1Aqh3Bw90,12568
|
|
199
199
|
akshare/option/option_finance_sina.py,sha256=-bFes2XzYE84eMOQZIm_fVCMS17ltBL45J0HAnf5hCg,37848
|
|
200
200
|
akshare/option/option_lhb_em.py,sha256=VHrV2BWAPE7tj8q7J5Crjm-sey8QarYd1lgxKbkX2CQ,9090
|
|
201
201
|
akshare/option/option_premium_analysis_em.py,sha256=uL-wxwsZu3UbeUmHs5W1x3PBfk0HfVyGubx6FvkeyPg,2471
|
|
@@ -231,14 +231,14 @@ akshare/stock/__init__.py,sha256=jSa9260d6aNZajaW68chI2mpPkDSXLOgi3eXrqo4MQ8,82
|
|
|
231
231
|
akshare/stock/cons.py,sha256=0oyUW5Pu-iQ3qgh-TFemM_O5f1fAwVe-PsI4Qa8EYpQ,42956
|
|
232
232
|
akshare/stock/stock_allotment_cninfo.py,sha256=OVjVdWp2XVRNbJvVgtgVVoBmPBJgBB4RyIIgA_9QHM8,6066
|
|
233
233
|
akshare/stock/stock_ask_bid_em.py,sha256=nXQhYIpU4k7GUc7nthWC29zVS9GhYb9ppQTLD0gycF4,3438
|
|
234
|
-
akshare/stock/stock_board_concept_em.py,sha256=
|
|
234
|
+
akshare/stock/stock_board_concept_em.py,sha256=8_XxPk1GrkEpfBdvXNYiFZWd4i328eAasCKJMyZ3KlQ,15024
|
|
235
235
|
akshare/stock/stock_board_industry_em.py,sha256=AfRVUVZrgSJXaoKAK81Ga-_m3hfv8YZzczBnnBdFq-I,16195
|
|
236
236
|
akshare/stock/stock_cg_equity_mortgage.py,sha256=Pui5aWKKPwGuKjF_GNpejDzsMGNPrxiaJviLz3x2e9I,3426
|
|
237
237
|
akshare/stock/stock_cg_guarantee.py,sha256=ts7qcQhhyN1PHB7Q4XlMn38HhfVvubOvky9RZfmUP94,3844
|
|
238
238
|
akshare/stock/stock_cg_lawsuit.py,sha256=6Y92pPw0JgyrInteqHuU07G1jwmdX2wjaDtrJN8y6Hg,4129
|
|
239
239
|
akshare/stock/stock_dividend_cninfo.py,sha256=_vipLQu94qBDoPkaIWZKRFA0mFfgroUMnn5EdLcjAc4,3195
|
|
240
240
|
akshare/stock/stock_dzjy_em.py,sha256=QMo2w-_I9UnmCr1IXk_InFeW5ok_GpRE9HdWFDUdGyM,22556
|
|
241
|
-
akshare/stock/stock_fund_em.py,sha256=
|
|
241
|
+
akshare/stock/stock_fund_em.py,sha256=iUOr6uxk1urNqj14gPo8aXQHndDQxL5xexACX7WXQL4,49807
|
|
242
242
|
akshare/stock/stock_fund_hold.py,sha256=iFEmRFber7MF6aPi0QOJxpvYjO7I26KouUvC-xTQdCk,6056
|
|
243
243
|
akshare/stock/stock_gsrl_em.py,sha256=oy5vO681ZPTEehZgz10T8jgIQ8dNm_E7MXGr1PGoHqI,1951
|
|
244
244
|
akshare/stock/stock_hk_famous.py,sha256=g-p1cdRibei9fw2HEMPyarLP-wT4bFwIK7Mxi77jH9E,3015
|
|
@@ -301,7 +301,7 @@ akshare/stock_feature/stock_cyq_em.py,sha256=ijHL6BWGDLI8dctYQ4pYWDK2UHOSfn5mRu0
|
|
|
301
301
|
akshare/stock_feature/stock_disclosure_cninfo.py,sha256=1Eje6abqk6HNOlpCueGnaR_r1-aqTv2f51h4QAHCQzo,10661
|
|
302
302
|
akshare/stock_feature/stock_dxsyl_em.py,sha256=9d5tfHCB9Ls1FQdyOCElZt8YF5ltKwPa4AvnXL8u48o,18789
|
|
303
303
|
akshare/stock_feature/stock_ebs_lg.py,sha256=rnFbOHnZPZUJ3K7-QdTZXqbIFazL1wSkTvn4Mpwn7bI,1750
|
|
304
|
-
akshare/stock_feature/stock_esg_sina.py,sha256=
|
|
304
|
+
akshare/stock_feature/stock_esg_sina.py,sha256=NKHbyYtuSgYubko1jDWgW0qQFTTcEVEtKA0kasHsahc,11544
|
|
305
305
|
akshare/stock_feature/stock_fhps_em.py,sha256=85gfdMP3OtA3wsEGlB2RkdHiOEZjFff1ls5x1oWSQPQ,9469
|
|
306
306
|
akshare/stock_feature/stock_fhps_ths.py,sha256=NosH1xyT1Pif4T9tchdtJTBEpe6g1Wq2kjvxJDsZD_Y,1805
|
|
307
307
|
akshare/stock_feature/stock_fund_flow.py,sha256=cqBqsFrzwmuLP3k3wYQzvW085QUUfHZ4nBW8Zx7egkQ,18669
|
|
@@ -311,7 +311,7 @@ akshare/stock_feature/stock_gdhs.py,sha256=Z6ZMy1A03BqMu9TghcIu2Sd_wwEtpIH7qawHu
|
|
|
311
311
|
akshare/stock_feature/stock_gdzjc_em.py,sha256=SHJH5iS3_NhvjTqRXF0vPooZl0s_ASeyZmNCC50ZYqs,4426
|
|
312
312
|
akshare/stock_feature/stock_gpzy_em.py,sha256=FgyjVgdoxrtMM7WwxdQJxK0mYGJklIHaT9KmMCFmEPM,17869
|
|
313
313
|
akshare/stock_feature/stock_gxl_lg.py,sha256=I8TpDEpFzadZSSyZisyIk6163mJlRxup91dmlBH4t4U,2641
|
|
314
|
-
akshare/stock_feature/stock_hist_em.py,sha256=
|
|
314
|
+
akshare/stock_feature/stock_hist_em.py,sha256=vluzByaRnfUIczZqOxpythZLjnosn8VsNpSgqZ7hdHo,69295
|
|
315
315
|
akshare/stock_feature/stock_hist_tx.py,sha256=WpLsbkG2didSx7lYNkSbTWNTrLhUKbcopfD18WO2Rlc,3397
|
|
316
316
|
akshare/stock_feature/stock_hk_valuation_baidu.py,sha256=_sErx4UhNsSXJgXyPfrL0aPxkW53Mg1zH9gEKoziaCA,1968
|
|
317
317
|
akshare/stock_feature/stock_hot_xq.py,sha256=NmoH4x-0hiDztj-YwzMFVIyOICQ2wUUBbhjt91q-tq4,9112
|
|
@@ -380,8 +380,8 @@ akshare/utils/token_process.py,sha256=K4rGXjh_tgugbRcyOK2h2x0jP3PT65IIK7nxhUKhOe
|
|
|
380
380
|
akshare/utils/tqdm.py,sha256=MuPNwcswkOGjwWQOMWXi9ZvQ_RmW4obCWRj2i7HM7FE,847
|
|
381
381
|
tests/__init__.py,sha256=gNzhlO0UPjFq6Ieb38kaVIODXv4cTDByrdohAZnDYt4,82
|
|
382
382
|
tests/test_func.py,sha256=j1MGYbZI2if2j_LY1S4FLsf4qfq4NwVqD5wmRlv5Log,832
|
|
383
|
-
akshare-1.15.
|
|
384
|
-
akshare-1.15.
|
|
385
|
-
akshare-1.15.
|
|
386
|
-
akshare-1.15.
|
|
387
|
-
akshare-1.15.
|
|
383
|
+
akshare-1.15.99.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
|
|
384
|
+
akshare-1.15.99.dist-info/METADATA,sha256=lAYoXAL-syR6Mg73zy_xiTUCSkvxnFIxOxyK-lUTQNA,13679
|
|
385
|
+
akshare-1.15.99.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
386
|
+
akshare-1.15.99.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
|
|
387
|
+
akshare-1.15.99.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|