akshare 1.15.96__py3-none-any.whl → 1.15.98__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 CHANGED
@@ -3006,9 +3006,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
3006
3006
  1.15.94 fix: fix stock_zh_index_spot_em interface
3007
3007
  1.15.95 fix: fix stock_us_spot_em interface
3008
3008
  1.15.96 fix: fix bond_cov_comparison interface
3009
+ 1.15.97 fix: fix stock_intraday_em interface
3010
+ 1.15.98 fix: fix stock_board_concept_name_em interface
3009
3011
  """
3010
3012
 
3011
- __version__ = "1.15.96"
3013
+ __version__ = "1.15.98"
3012
3014
  __author__ = "AKFamily"
3013
3015
 
3014
3016
  import sys
@@ -73,7 +73,7 @@ def fund_etf_spot_em() -> pd.DataFrame:
73
73
  "fltt": "2",
74
74
  "invt": "2",
75
75
  "wbp2u": "|0|0|0|web",
76
- "fid": "f3",
76
+ "fid": "f12",
77
77
  "fs": "b:MK0021,b:MK0022,b:MK0023,b:MK0024,b:MK0827",
78
78
  "fields": (
79
79
  "f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,"
@@ -247,7 +247,7 @@ def stock_zh_index_spot_em(symbol: str = "沪深重要指数") -> pd.DataFrame:
247
247
  "fltt": "2",
248
248
  "invt": "2",
249
249
  "wbp2u": "|0|0|0|web",
250
- "fid": "f3",
250
+ "fid": "f12",
251
251
  "fs": symbol_map[symbol],
252
252
  "fields": "f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,f21,f23,f24,f25,"
253
253
  "f26,f22,f33,f11,f62,f128,f136,f115,f152",
@@ -31,7 +31,7 @@ def index_code_id_map_em() -> dict:
31
31
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
32
32
  "fltt": "2",
33
33
  "invt": "2",
34
- "fid": "f3",
34
+ "fid": "f12",
35
35
  "fs": "m:1 t:2,m:1 t:23",
36
36
  "fields": "f12",
37
37
  "_": "1623833739532",
@@ -63,7 +63,7 @@ def index_code_id_map_em() -> dict:
63
63
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
64
64
  "fltt": "2",
65
65
  "invt": "2",
66
- "fid": "f3",
66
+ "fid": "f12",
67
67
  "fs": "m:0 t:6,m:0 t:80",
68
68
  "fields": "f12",
69
69
  "_": "1623833739532",
@@ -95,7 +95,7 @@ def index_code_id_map_em() -> dict:
95
95
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
96
96
  "fltt": "2",
97
97
  "invt": "2",
98
- "fid": "f3",
98
+ "fid": "f12",
99
99
  "fs": "m:0 t:81 s:2048",
100
100
  "fields": "f12",
101
101
  "_": "1623833739532",
@@ -478,7 +478,7 @@ if __name__ == "__main__":
478
478
 
479
479
  index_zh_a_hist_min_em_df = index_zh_a_hist_min_em(
480
480
  symbol="000001",
481
- period="15",
481
+ period="5",
482
482
  start_date="2025-02-14 09:30:00",
483
483
  end_date="2025-02-14 19:00:00",
484
484
  )
@@ -1,15 +1,21 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2023/6/29 17:13
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 requests
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": "2000",
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": "f3",
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
- temp_df = pd.DataFrame(data_json["data"]["diff"])
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": "5000",
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
- temp_df = pd.DataFrame(data_json["data"]["diff"])
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 = [
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2024/3/25 12:30
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": "1",
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": "1",
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="全部股票")
@@ -1,17 +1,20 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2023/10/14 22:00
4
+ Date: 2025/2/17 14:00
5
5
  Desc: 东财财富-日内分时数据
6
6
  https://quote.eastmoney.com/f1.html?newcode=0.000001
7
7
  """
8
8
 
9
9
  import json
10
+ import math
10
11
  from functools import lru_cache
11
12
 
12
13
  import pandas as pd
13
14
  import requests
14
15
 
16
+ from akshare.utils.tqdm import get_tqdm
17
+
15
18
 
16
19
  @lru_cache()
17
20
  def __code_id_map_em() -> dict:
@@ -24,13 +27,13 @@ def __code_id_map_em() -> dict:
24
27
  url = "http://80.push2.eastmoney.com/api/qt/clist/get"
25
28
  params = {
26
29
  "pn": "1",
27
- "pz": "50000",
30
+ "pz": "200",
28
31
  "po": "1",
29
32
  "np": "1",
30
33
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
31
34
  "fltt": "2",
32
35
  "invt": "2",
33
- "fid": "f3",
36
+ "fid": "f12",
34
37
  "fs": "m:1 t:2,m:1 t:23",
35
38
  "fields": "f12",
36
39
  "_": "1623833739532",
@@ -39,19 +42,32 @@ def __code_id_map_em() -> dict:
39
42
  data_json = r.json()
40
43
  if not data_json["data"]["diff"]:
41
44
  return dict()
42
- temp_df = pd.DataFrame(data_json["data"]["diff"])
45
+ total_page = math.ceil(data_json["data"]["total"] / 200)
46
+ temp_list = []
47
+ tqdm = get_tqdm()
48
+ for page in tqdm(range(1, total_page + 1), leave=False):
49
+ params.update(
50
+ {
51
+ "pn": page,
52
+ }
53
+ )
54
+ r = requests.get(url, params=params, timeout=15)
55
+ data_json = r.json()
56
+ inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
57
+ temp_list.append(inner_temp_df)
58
+ temp_df = pd.concat(temp_list, ignore_index=True)
43
59
  temp_df["market_id"] = 1
44
60
  temp_df.columns = ["sh_code", "sh_id"]
45
61
  code_id_dict = dict(zip(temp_df["sh_code"], temp_df["sh_id"]))
46
62
  params = {
47
63
  "pn": "1",
48
- "pz": "50000",
64
+ "pz": "200",
49
65
  "po": "1",
50
66
  "np": "1",
51
67
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
52
68
  "fltt": "2",
53
69
  "invt": "2",
54
- "fid": "f3",
70
+ "fid": "f12",
55
71
  "fs": "m:0 t:6,m:0 t:80",
56
72
  "fields": "f12",
57
73
  "_": "1623833739532",
@@ -60,18 +76,31 @@ def __code_id_map_em() -> dict:
60
76
  data_json = r.json()
61
77
  if not data_json["data"]["diff"]:
62
78
  return dict()
63
- temp_df_sz = pd.DataFrame(data_json["data"]["diff"])
79
+ total_page = math.ceil(data_json["data"]["total"] / 200)
80
+ temp_list = []
81
+ tqdm = get_tqdm()
82
+ for page in tqdm(range(1, total_page + 1), leave=False):
83
+ params.update(
84
+ {
85
+ "pn": page,
86
+ }
87
+ )
88
+ r = requests.get(url, params=params, timeout=15)
89
+ data_json = r.json()
90
+ inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
91
+ temp_list.append(inner_temp_df)
92
+ temp_df_sz = pd.concat(temp_list, ignore_index=True)
64
93
  temp_df_sz["sz_id"] = 0
65
94
  code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["sz_id"])))
66
95
  params = {
67
96
  "pn": "1",
68
- "pz": "50000",
97
+ "pz": "200",
69
98
  "po": "1",
70
99
  "np": "1",
71
100
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
72
101
  "fltt": "2",
73
102
  "invt": "2",
74
- "fid": "f3",
103
+ "fid": "f12",
75
104
  "fs": "m:0 t:81 s:2048",
76
105
  "fields": "f12",
77
106
  "_": "1623833739532",
@@ -80,7 +109,20 @@ def __code_id_map_em() -> dict:
80
109
  data_json = r.json()
81
110
  if not data_json["data"]["diff"]:
82
111
  return dict()
83
- temp_df_sz = pd.DataFrame(data_json["data"]["diff"])
112
+ total_page = math.ceil(data_json["data"]["total"] / 200)
113
+ temp_list = []
114
+ tqdm = get_tqdm()
115
+ for page in tqdm(range(1, total_page + 1), leave=False):
116
+ params.update(
117
+ {
118
+ "pn": page,
119
+ }
120
+ )
121
+ r = requests.get(url, params=params, timeout=15)
122
+ data_json = r.json()
123
+ inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
124
+ temp_list.append(inner_temp_df)
125
+ temp_df_sz = pd.concat(temp_list, ignore_index=True)
84
126
  temp_df_sz["bj_id"] = 0
85
127
  code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["bj_id"])))
86
128
  return code_id_dict
@@ -121,9 +163,7 @@ def stock_intraday_em(symbol: str = "000001") -> pd.DataFrame:
121
163
  "secid": f"{code_id_map_em_dict[symbol]}.{symbol}",
122
164
  "wbp2u": "|0|0|0|web",
123
165
  }
124
-
125
166
  big_df = pd.DataFrame() # 创建一个空的 DataFrame
126
-
127
167
  for event in __event_stream(url, params):
128
168
  # 从每个事件的数据行中删除 "data: ",然后解析 JSON
129
169
  event_json = json.loads(event.replace("data: ", ""))
@@ -1,19 +1,16 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2025/2/15 21:00
4
+ Date: 2025/2/17 14:00
5
5
  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": "200",
25
+ "pz": "20000",
29
26
  "po": "1",
30
- "np": "1",
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
- 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)
39
+ temp_df = pd.DataFrame(data_json["data"]["diff"]).T
56
40
  temp_df.columns = [
57
41
  "_",
58
42
  "最新价",
@@ -153,7 +137,7 @@ def stock_sh_a_spot_em() -> pd.DataFrame:
153
137
  "pn": "1",
154
138
  "pz": "50000",
155
139
  "po": "1",
156
- "np": "1",
140
+ "np": "2",
157
141
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
158
142
  "fltt": "2",
159
143
  "invt": "2",
@@ -167,7 +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
- temp_df = pd.DataFrame(data_json["data"]["diff"])
154
+ temp_df = pd.DataFrame(data_json["data"]["diff"]).T
171
155
  temp_df.columns = [
172
156
  "_",
173
157
  "最新价",
@@ -268,7 +252,7 @@ def stock_sz_a_spot_em() -> pd.DataFrame:
268
252
  "pn": "1",
269
253
  "pz": "50000",
270
254
  "po": "1",
271
- "np": "1",
255
+ "np": "2",
272
256
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
273
257
  "fltt": "2",
274
258
  "invt": "2",
@@ -282,7 +266,7 @@ def stock_sz_a_spot_em() -> pd.DataFrame:
282
266
  data_json = r.json()
283
267
  if not data_json["data"]["diff"]:
284
268
  return pd.DataFrame()
285
- temp_df = pd.DataFrame(data_json["data"]["diff"])
269
+ temp_df = pd.DataFrame(data_json["data"]["diff"]).T
286
270
  temp_df.columns = [
287
271
  "_",
288
272
  "最新价",
@@ -383,7 +367,7 @@ def stock_bj_a_spot_em() -> pd.DataFrame:
383
367
  "pn": "1",
384
368
  "pz": "50000",
385
369
  "po": "1",
386
- "np": "1",
370
+ "np": "2",
387
371
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
388
372
  "fltt": "2",
389
373
  "invt": "2",
@@ -393,11 +377,11 @@ def stock_bj_a_spot_em() -> pd.DataFrame:
393
377
  ",f25,f22,f11,f62,f128,f136,f115,f152",
394
378
  "_": "1623833739532",
395
379
  }
396
- r = requests.get(url, timeout=15, params=params)
380
+ r = requests.get(url, params=params, timeout=15)
397
381
  data_json = r.json()
398
382
  if not data_json["data"]["diff"]:
399
383
  return pd.DataFrame()
400
- temp_df = pd.DataFrame(data_json["data"]["diff"])
384
+ temp_df = pd.DataFrame(data_json["data"]["diff"]).T
401
385
  temp_df.columns = [
402
386
  "_",
403
387
  "最新价",
@@ -618,7 +602,7 @@ def stock_cy_a_spot_em() -> pd.DataFrame:
618
602
  "pn": "1",
619
603
  "pz": "50000",
620
604
  "po": "1",
621
- "np": "1",
605
+ "np": "2",
622
606
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
623
607
  "fltt": "2",
624
608
  "invt": "2",
@@ -633,7 +617,7 @@ def stock_cy_a_spot_em() -> pd.DataFrame:
633
617
  data_json = r.json()
634
618
  if not data_json["data"]["diff"]:
635
619
  return pd.DataFrame()
636
- temp_df = pd.DataFrame(data_json["data"]["diff"])
620
+ temp_df = pd.DataFrame(data_json["data"]["diff"]).T
637
621
  temp_df.columns = [
638
622
  "_",
639
623
  "最新价",
@@ -734,7 +718,7 @@ def stock_kc_a_spot_em() -> pd.DataFrame:
734
718
  "pn": "1",
735
719
  "pz": "50000",
736
720
  "po": "1",
737
- "np": "1",
721
+ "np": "2",
738
722
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
739
723
  "fltt": "2",
740
724
  "invt": "2",
@@ -745,11 +729,11 @@ def stock_kc_a_spot_em() -> pd.DataFrame:
745
729
  "f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152",
746
730
  "_": "1623833739532",
747
731
  }
748
- r = requests.get(url, timeout=15, params=params)
732
+ r = requests.get(url, params=params, timeout=15)
749
733
  data_json = r.json()
750
734
  if not data_json["data"]["diff"]:
751
735
  return pd.DataFrame()
752
- temp_df = pd.DataFrame(data_json["data"]["diff"])
736
+ temp_df = pd.DataFrame(data_json["data"]["diff"]).T
753
737
  temp_df.columns = [
754
738
  "_",
755
739
  "最新价",
@@ -850,7 +834,7 @@ def stock_zh_b_spot_em() -> pd.DataFrame:
850
834
  "pn": "1",
851
835
  "pz": "50000",
852
836
  "po": "1",
853
- "np": "1",
837
+ "np": "2",
854
838
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
855
839
  "fltt": "2",
856
840
  "invt": "2",
@@ -860,11 +844,11 @@ def stock_zh_b_spot_em() -> pd.DataFrame:
860
844
  ",f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152",
861
845
  "_": "1623833739532",
862
846
  }
863
- r = requests.get(url, timeout=15, params=params)
847
+ r = requests.get(url, params=params, timeout=15)
864
848
  data_json = r.json()
865
849
  if not data_json["data"]["diff"]:
866
850
  return pd.DataFrame()
867
- temp_df = pd.DataFrame(data_json["data"]["diff"])
851
+ temp_df = pd.DataFrame(data_json["data"]["diff"]).T
868
852
  temp_df.columns = [
869
853
  "_",
870
854
  "最新价",
@@ -964,9 +948,9 @@ def code_id_map_em() -> dict:
964
948
  url = "https://80.push2.eastmoney.com/api/qt/clist/get"
965
949
  params = {
966
950
  "pn": "1",
967
- "pz": "200",
951
+ "pz": "50000",
968
952
  "po": "1",
969
- "np": "1",
953
+ "np": "2",
970
954
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
971
955
  "fltt": "2",
972
956
  "invt": "2",
@@ -975,31 +959,19 @@ def code_id_map_em() -> dict:
975
959
  "fields": "f12",
976
960
  "_": "1623833739532",
977
961
  }
978
- r = requests.get(url, timeout=15, params=params)
962
+ r = requests.get(url, params=params, timeout=15)
979
963
  data_json = r.json()
980
- total_page = math.ceil(data_json["data"]["total"] / 200)
981
- temp_list = []
982
- tqdm = get_tqdm()
983
- for page in tqdm(range(1, total_page + 1), leave=False):
984
- params.update(
985
- {
986
- "pn": page,
987
- }
988
- )
989
- r = requests.get(url, params=params, timeout=15)
990
- data_json = r.json()
991
- inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
992
- temp_list.append(inner_temp_df)
993
- 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
994
967
  temp_df["market_id"] = 1
995
968
  temp_df.columns = ["sh_code", "sh_id"]
996
969
  code_id_dict = dict(zip(temp_df["sh_code"], temp_df["sh_id"]))
997
-
998
970
  params = {
999
971
  "pn": "1",
1000
- "pz": "200",
972
+ "pz": "50000",
1001
973
  "po": "1",
1002
- "np": "1",
974
+ "np": "2",
1003
975
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
1004
976
  "fltt": "2",
1005
977
  "invt": "2",
@@ -1008,30 +980,18 @@ def code_id_map_em() -> dict:
1008
980
  "fields": "f12",
1009
981
  "_": "1623833739532",
1010
982
  }
1011
- r = requests.get(url, timeout=15, params=params)
983
+ r = requests.get(url, params=params, timeout=15)
1012
984
  data_json = r.json()
1013
- total_page = math.ceil(data_json["data"]["total"] / 200)
1014
- temp_list = []
1015
- tqdm = get_tqdm()
1016
- for page in tqdm(range(1, total_page + 1), leave=False):
1017
- params.update(
1018
- {
1019
- "pn": page,
1020
- }
1021
- )
1022
- r = requests.get(url, params=params, timeout=15)
1023
- data_json = r.json()
1024
- inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
1025
- temp_list.append(inner_temp_df)
1026
- 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
1027
988
  temp_df_sz["sz_id"] = 0
1028
989
  code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["sz_id"])))
1029
-
1030
990
  params = {
1031
991
  "pn": "1",
1032
- "pz": "200",
992
+ "pz": "50000",
1033
993
  "po": "1",
1034
- "np": "1",
994
+ "np": "2",
1035
995
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
1036
996
  "fltt": "2",
1037
997
  "invt": "2",
@@ -1040,22 +1000,11 @@ def code_id_map_em() -> dict:
1040
1000
  "fields": "f12",
1041
1001
  "_": "1623833739532",
1042
1002
  }
1043
- r = requests.get(url, timeout=15, params=params)
1003
+ r = requests.get(url, params=params, timeout=15)
1044
1004
  data_json = r.json()
1045
- total_page = math.ceil(data_json["data"]["total"] / 200)
1046
- temp_list = []
1047
- tqdm = get_tqdm()
1048
- for page in tqdm(range(1, total_page + 1), leave=False):
1049
- params.update(
1050
- {
1051
- "pn": page,
1052
- }
1053
- )
1054
- r = requests.get(url, params=params, timeout=15)
1055
- data_json = r.json()
1056
- inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
1057
- temp_list.append(inner_temp_df)
1058
- 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
1059
1008
  temp_df_sz["bj_id"] = 0
1060
1009
  code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["bj_id"])))
1061
1010
  return code_id_dict
@@ -1349,9 +1298,9 @@ def stock_hk_spot_em() -> pd.DataFrame:
1349
1298
  url = "https://72.push2.eastmoney.com/api/qt/clist/get"
1350
1299
  params = {
1351
1300
  "pn": "1",
1352
- "pz": "200",
1301
+ "pz": "50000",
1353
1302
  "po": "1",
1354
- "np": "1",
1303
+ "np": "2",
1355
1304
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
1356
1305
  "fltt": "2",
1357
1306
  "invt": "2",
@@ -1363,20 +1312,9 @@ def stock_hk_spot_em() -> pd.DataFrame:
1363
1312
  }
1364
1313
  r = requests.get(url, timeout=15, params=params)
1365
1314
  data_json = r.json()
1366
- total_page = math.ceil(data_json["data"]["total"] / 200)
1367
- temp_list = []
1368
- tqdm = get_tqdm()
1369
- for page in tqdm(range(1, total_page + 1), leave=False):
1370
- params.update(
1371
- {
1372
- "pn": page,
1373
- }
1374
- )
1375
- r = requests.get(url, params=params, timeout=15)
1376
- data_json = r.json()
1377
- inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
1378
- temp_list.append(inner_temp_df)
1379
- 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
1380
1318
  temp_df.columns = [
1381
1319
  "_",
1382
1320
  "最新价",
@@ -1454,7 +1392,7 @@ def stock_hk_main_board_spot_em() -> pd.DataFrame:
1454
1392
  "pn": "1",
1455
1393
  "pz": "50000",
1456
1394
  "po": "1",
1457
- "np": "1",
1395
+ "np": "2",
1458
1396
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
1459
1397
  "fltt": "2",
1460
1398
  "invt": "2",
@@ -1464,9 +1402,9 @@ def stock_hk_main_board_spot_em() -> pd.DataFrame:
1464
1402
  "f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152",
1465
1403
  "_": "1624010056945",
1466
1404
  }
1467
- r = requests.get(url, timeout=15, params=params)
1405
+ r = requests.get(url, params=params, timeout=15)
1468
1406
  data_json = r.json()
1469
- temp_df = pd.DataFrame(data_json["data"]["diff"])
1407
+ temp_df = pd.DataFrame(data_json["data"]["diff"]).T
1470
1408
  temp_df.columns = [
1471
1409
  "_",
1472
1410
  "最新价",
@@ -1745,9 +1683,9 @@ def stock_us_spot_em() -> pd.DataFrame:
1745
1683
  url = "https://72.push2.eastmoney.com/api/qt/clist/get"
1746
1684
  params = {
1747
1685
  "pn": "1",
1748
- "pz": "200",
1686
+ "pz": "50000",
1749
1687
  "po": "1",
1750
- "np": "1",
1688
+ "np": "2",
1751
1689
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
1752
1690
  "fltt": "2",
1753
1691
  "invt": "2",
@@ -1757,22 +1695,11 @@ def stock_us_spot_em() -> pd.DataFrame:
1757
1695
  "f21,f23,f24,f25,f26,f22,f33,f11,f62,f128,f136,f115,f152",
1758
1696
  "_": "1624010056945",
1759
1697
  }
1760
- r = requests.get(url, timeout=15, params=params)
1698
+ r = requests.get(url, params=params, timeout=15)
1761
1699
  data_json = r.json()
1762
- total_page = math.ceil(data_json["data"]["total"] / 200)
1763
- temp_list = []
1764
- tqdm = get_tqdm()
1765
- for page in tqdm(range(1, total_page + 1), leave=False):
1766
- params.update(
1767
- {
1768
- "pn": page,
1769
- }
1770
- )
1771
- r = requests.get(url, params=params, timeout=15)
1772
- data_json = r.json()
1773
- inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
1774
- temp_list.append(inner_temp_df)
1775
- 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
1776
1703
  temp_df.columns = [
1777
1704
  "_",
1778
1705
  "最新价",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: akshare
3
- Version: 1.15.96
3
+ Version: 1.15.98
4
4
  Summary: AKShare is an elegant and simple financial data interface library for Python, built for human beings!
5
5
  Home-page: https://github.com/akfamily/akshare
6
6
  Author: AKFamily
@@ -1,4 +1,4 @@
1
- akshare/__init__.py,sha256=O6QRS4yLoVvgcYmSl5gPP3Zp7FzMNOp5WIqMMuVf_Lk,187378
1
+ akshare/__init__.py,sha256=I2klQSyfHypnVa11tG7e1M1KRHnX4aNXNHvTmaxGTFQ,187478
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
@@ -86,7 +86,7 @@ akshare/fund/fund_amac.py,sha256=Dml3EgpJhmVgkttb0OdaWN41ynOCIbJ0-1qAPDWF0oo,338
86
86
  akshare/fund/fund_announcement.py,sha256=g5rcIC9vQ4HapZd0b7cDbFYzHu9V6bOKhwxRHVfmv8k,1848
87
87
  akshare/fund/fund_aum_em.py,sha256=dy1R1-0X48H8S-LPiuggNA5M-6MvQ08fnp5bytvCGPQ,3518
88
88
  akshare/fund/fund_em.py,sha256=nX0VA5JeiF-zRr1J10X-U9-pJj5KFDUAbovN1DWjvTo,40450
89
- akshare/fund/fund_etf_em.py,sha256=a2h_htijqERVaplRYt3D8GALGFh8w3uLtlRo9y4aLaI,18319
89
+ akshare/fund/fund_etf_em.py,sha256=WdekgvHHyBOA5ON3x--7I4uTnp_2U09hooszHlDqfDI,18320
90
90
  akshare/fund/fund_etf_sina.py,sha256=YV2KrqKMF_h8kgrywvWvRJx2oy62lhgizvHFk40E4Rk,7042
91
91
  akshare/fund/fund_etf_ths.py,sha256=vb_jy0h2-Kz2dNWUrwBYxPB0MAotv0KZgnFhE98ohSM,3432
92
92
  akshare/fund/fund_fee_em.py,sha256=fa_Nfr4GWx4FNzNY0blBPhIZ3fGW5qedQOuYIAlVsvE,4158
@@ -167,13 +167,13 @@ akshare/index/index_research_sw.py,sha256=Mm1YtiP-PXhDysJwmFidX3RZSZZ92AyXpjl_tV
167
167
  akshare/index/index_spot.py,sha256=meTBTCp2DPVTX_N3qpCLtkI-0q3XhrJ3gndNugRBGKg,1767
168
168
  akshare/index/index_stock_hk.py,sha256=nPFzRrjyiUpRK-OSDsdi5AFCKHNKqOVji6WJcQxOvNo,9781
169
169
  akshare/index/index_stock_us_sina.py,sha256=IxOk4G49oasv7EfEQenL9-GLuelyUus6c4JPyRlaOzY,1551
170
- akshare/index/index_stock_zh.py,sha256=A_-vZ0jk-UCBd4B0SbzAnctVUBilnc3IoSd-2EWZX6M,18724
170
+ akshare/index/index_stock_zh.py,sha256=NpzOI3VudIMsIwEm549Mr3tQ4Dwa9IC0d6gb4h_FuEY,18725
171
171
  akshare/index/index_stock_zh_csindex.py,sha256=sRVoDD-fitqAMuDs0XPm1oCz2nZ2QTkvNswL1WvXpwo,4164
172
172
  akshare/index/index_sugar.py,sha256=B_Nj9Q6JP-Y_d7myZ0C79izTxxrbuZIp1Vv_CilVMOc,5006
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=j4vxtEb6hrCUVIlO0Tyey9REhI4ILa-rywTNQPtPQ_4,17614
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
@@ -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=zCtHicBUcFN3GN2b5sKd0JV74KVSZKOOHDxS7v9DeCM,14042
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=zo21Thdwp1IonjZLHKdr5X2g1I1kzSEz_wORNEqp2F8,49800
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
@@ -257,7 +257,7 @@ akshare/stock/stock_industry_pe_cninfo.py,sha256=0OjjsFGG90zJRZEBqaCsjKSpSAgrp3P
257
257
  akshare/stock/stock_industry_sw.py,sha256=C0FjDg976EA0EksRS3sChbmJOZmOPEOzKCrHVs2YqTg,1441
258
258
  akshare/stock/stock_info.py,sha256=AqzLzsTlYTSExBtyrZZBjI-D-VROj9e7Sq37WKHJ7XQ,16314
259
259
  akshare/stock/stock_info_em.py,sha256=F-K8ZzWW70KTzShP82semh8RKklUEot2zxuzNDum20I,2615
260
- akshare/stock/stock_intraday_em.py,sha256=r1DvqVpRMJH_Y14GmgbKXQUWYi_KFhnEvsHD0Mp384o,4532
260
+ akshare/stock/stock_intraday_em.py,sha256=cm0qKVeCOqmjqd3WxqwjMCoa1uMA2zb98f6HX9_pIPQ,5905
261
261
  akshare/stock/stock_intraday_sina.py,sha256=HMuAAO2Teu4NUrOcBvyJdxYgWx-51qJCdtcqFmFNQg8,2359
262
262
  akshare/stock/stock_ipo_summary_cninfo.py,sha256=Ma-54GsOOhRWxilLH-Qmm0VVbpJQGf2XWKaJ8NBSgAY,3847
263
263
  akshare/stock/stock_new_cninfo.py,sha256=EOuZowDLQSSHyPAwXcuPXbQkqhbz2nRBZsM7o2ZWILE,5725
@@ -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=1glmjIwnJ8c_G5Jk3QteK-Xjl3PNuk9_Meu8ylhUXLA,71648
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.96.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
384
- akshare-1.15.96.dist-info/METADATA,sha256=BoL4xFItQel6sCyaihQ3MqGkCMViEYHExw47z6F1w8U,13679
385
- akshare-1.15.96.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
386
- akshare-1.15.96.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
387
- akshare-1.15.96.dist-info/RECORD,,
383
+ akshare-1.15.98.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
384
+ akshare-1.15.98.dist-info/METADATA,sha256=xBzpSWj7TT31-9hoWxCFlwz4aX3I_jXjaCqkC7Uqhb4,13679
385
+ akshare-1.15.98.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
386
+ akshare-1.15.98.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
387
+ akshare-1.15.98.dist-info/RECORD,,