akshare 1.16.9__py3-none-any.whl → 1.16.11__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.
akshare/__init__.py CHANGED
@@ -3018,9 +3018,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
3018
3018
  1.16.7 fix: fix fund_lof_hist_em interface
3019
3019
  1.16.8 fix: fix option_czce_daily interface
3020
3020
  1.16.9 fix: fix stock_sse_deal_daily interface
3021
+ 1.16.10 fix: fix option_risk_analysis_em interface
3022
+ 1.16.11 fix: fix stock_intraday_em interface
3021
3023
  """
3022
3024
 
3023
- __version__ = "1.16.9"
3025
+ __version__ = "1.16.11"
3024
3026
  __author__ = "AKFamily"
3025
3027
 
3026
3028
  import sys
@@ -1,18 +1,15 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2025/2/16 18:10
4
+ Date: 2025/2/24 18:20
5
5
  Desc: 东方财富网-指数行情数据
6
6
  """
7
7
 
8
- import math
9
8
  from functools import lru_cache
10
9
 
11
10
  import pandas as pd
12
11
  import requests
13
12
 
14
- from akshare.utils.tqdm import get_tqdm
15
-
16
13
 
17
14
  @lru_cache()
18
15
  def index_code_id_map_em() -> dict:
@@ -25,105 +22,69 @@ def index_code_id_map_em() -> dict:
25
22
  url = "https://80.push2.eastmoney.com/api/qt/clist/get"
26
23
  params = {
27
24
  "pn": "1",
28
- "pz": "200",
25
+ "pz": "50000",
29
26
  "po": "1",
30
- "np": "1",
27
+ "np": "2",
31
28
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
32
29
  "fltt": "2",
33
30
  "invt": "2",
34
- "fid": "f12",
31
+ "fid": "f3",
35
32
  "fs": "m:1 t:2,m:1 t:23",
36
33
  "fields": "f12",
37
34
  "_": "1623833739532",
38
35
  }
39
36
  r = requests.get(url, params=params)
40
37
  data_json = r.json()
41
- total_page = math.ceil(data_json["data"]["total"] / 200)
42
- temp_list = []
43
- tqdm = get_tqdm()
44
- for page in tqdm(range(1, total_page + 1), leave=False):
45
- params.update(
46
- {
47
- "pn": page,
48
- }
49
- )
50
- r = requests.get(url, params=params, timeout=15)
51
- data_json = r.json()
52
- inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
53
- temp_list.append(inner_temp_df)
54
- temp_df = pd.concat(temp_list, ignore_index=True)
38
+ if not data_json["data"]["diff"]:
39
+ return dict()
40
+ temp_df = pd.DataFrame(data_json["data"]["diff"]).T
55
41
  temp_df["market_id"] = 1
56
42
  temp_df.columns = ["sh_code", "sh_id"]
57
43
  code_id_dict = dict(zip(temp_df["sh_code"], temp_df["sh_id"]))
58
44
  params = {
59
45
  "pn": "1",
60
- "pz": "200",
46
+ "pz": "10000",
61
47
  "po": "1",
62
- "np": "1",
48
+ "np": "2",
63
49
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
64
50
  "fltt": "2",
65
51
  "invt": "2",
66
- "fid": "f12",
52
+ "fid": "f3",
67
53
  "fs": "m:0 t:6,m:0 t:80",
68
54
  "fields": "f12",
69
55
  "_": "1623833739532",
70
56
  }
71
57
  r = requests.get(url, params=params)
72
58
  data_json = r.json()
73
- total_page = math.ceil(data_json["data"]["total"] / 200)
74
- temp_list = []
75
- tqdm = get_tqdm()
76
- for page in tqdm(range(1, total_page + 1), leave=False):
77
- params.update(
78
- {
79
- "pn": page,
80
- }
81
- )
82
- r = requests.get(url, params=params, timeout=15)
83
- data_json = r.json()
84
- inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
85
- temp_list.append(inner_temp_df)
86
- temp_df_sz = pd.concat(temp_list, ignore_index=True)
59
+ if not data_json["data"]["diff"]:
60
+ return dict()
61
+ temp_df_sz = pd.DataFrame(data_json["data"]["diff"]).T
87
62
  temp_df_sz["sz_id"] = 0
88
63
  code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["sz_id"])))
89
-
90
64
  params = {
91
65
  "pn": "1",
92
- "pz": "200",
66
+ "pz": "10000",
93
67
  "po": "1",
94
- "np": "1",
68
+ "np": "2",
95
69
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
96
70
  "fltt": "2",
97
71
  "invt": "2",
98
- "fid": "f12",
72
+ "fid": "f3",
99
73
  "fs": "m:0 t:81 s:2048",
100
74
  "fields": "f12",
101
75
  "_": "1623833739532",
102
76
  }
103
77
  r = requests.get(url, params=params)
104
78
  data_json = r.json()
105
- total_page = math.ceil(data_json["data"]["total"] / 200)
106
- temp_list = []
107
- tqdm = get_tqdm()
108
- for page in tqdm(range(1, total_page + 1), leave=False):
109
- params.update(
110
- {
111
- "pn": page,
112
- }
113
- )
114
- r = requests.get(url, params=params, timeout=15)
115
- data_json = r.json()
116
- inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
117
- temp_list.append(inner_temp_df)
118
- temp_df_sz = pd.concat(temp_list, ignore_index=True)
79
+ if not data_json["data"]["diff"]:
80
+ return dict()
81
+ temp_df_sz = pd.DataFrame(data_json["data"]["diff"]).T
119
82
  temp_df_sz["bj_id"] = 0
120
83
  code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["bj_id"])))
121
84
  code_id_dict = {
122
85
  key: value - 1 if value == 1 else value + 1
123
86
  for key, value in code_id_dict.items()
124
87
  }
125
- # 单独增加品种
126
- code_id_dict.update({"932000": 2})
127
88
  return code_id_dict
128
89
 
129
90
 
@@ -364,7 +325,7 @@ def index_zh_a_hist_min_em(
364
325
  temp_df["时间"] = pd.to_datetime(temp_df["时间"]).astype(str)
365
326
  return temp_df
366
327
  else:
367
- url = "http://push2his.eastmoney.com/api/qt/stock/kline/get"
328
+ url = "https://push2his.eastmoney.com/api/qt/stock/kline/get"
368
329
  try:
369
330
  params = {
370
331
  "secid": f"{code_id_dict[symbol]}.{symbol}",
@@ -478,8 +439,8 @@ if __name__ == "__main__":
478
439
 
479
440
  index_zh_a_hist_min_em_df = index_zh_a_hist_min_em(
480
441
  symbol="000001",
481
- period="5",
482
- start_date="2025-02-14 09:30:00",
483
- end_date="2025-02-14 19:00:00",
442
+ period="1",
443
+ start_date="2025-02-24 09:30:00",
444
+ end_date="2025-02-24 19:00:00",
484
445
  )
485
446
  print(index_zh_a_hist_min_em_df)
@@ -20,7 +20,7 @@ def option_current_em() -> pd.DataFrame:
20
20
  url = "https://23.push2.eastmoney.com/api/qt/clist/get"
21
21
  params = {
22
22
  "pn": "1",
23
- "pz": "200000",
23
+ "pz": "50000",
24
24
  "po": "1",
25
25
  "np": "2",
26
26
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
@@ -1,10 +1,11 @@
1
1
  # -*- coding:utf-8 -*-
2
2
  # !/usr/bin/env python
3
3
  """
4
- Date: 2022/1/25 10:20
4
+ Date: 2025/2/22 21:00
5
5
  Desc: 东方财富网-数据中心-特色数据-期权折溢价
6
6
  https://data.eastmoney.com/other/premium.html
7
7
  """
8
+
8
9
  import requests
9
10
  import pandas as pd
10
11
 
@@ -18,60 +19,62 @@ def option_premium_analysis_em() -> pd.DataFrame:
18
19
  """
19
20
  url = "https://push2.eastmoney.com/api/qt/clist/get"
20
21
  params = {
21
- 'fid': 'f250',
22
- 'po': '1',
23
- 'pz': '5000',
24
- 'pn': '1',
25
- 'np': '1',
26
- 'fltt': '2',
27
- 'invt': '2',
28
- 'ut': 'b2884a393a59ad64002292a3e90d46a5',
29
- 'fields': 'f1,f2,f3,f12,f13,f14,f161,f250,f330,f331,f332,f333,f334,f335,f337,f301,f152',
30
- 'fs': 'm:10'
22
+ "fid": "f250",
23
+ "po": "1",
24
+ "pz": "50000",
25
+ "pn": "1",
26
+ "np": "2",
27
+ "fltt": "2",
28
+ "invt": "2",
29
+ "ut": "b2884a393a59ad64002292a3e90d46a5",
30
+ "fields": "f1,f2,f3,f12,f13,f14,f161,f250,f330,f331,f332,f333,f334,f335,f337,f301,f152",
31
+ "fs": "m:10",
31
32
  }
32
33
  r = requests.get(url, params=params)
33
34
  data_json = r.json()
34
- temp_df = pd.DataFrame(data_json["data"]["diff"])
35
+ temp_df = pd.DataFrame(data_json["data"]["diff"]).T
35
36
  temp_df.columns = [
36
- '-',
37
- '最新价',
38
- '涨跌幅',
39
- '期权代码',
40
- '-',
41
- '期权名称',
42
- '-',
43
- '行权价',
44
- '折溢价率',
45
- '到期日',
46
- '-',
47
- '-',
48
- '-',
49
- '标的名称',
50
- '标的最新价',
51
- '标的涨跌幅',
52
- '盈亏平衡价',
37
+ "-",
38
+ "最新价",
39
+ "涨跌幅",
40
+ "期权代码",
41
+ "-",
42
+ "期权名称",
43
+ "-",
44
+ "行权价",
45
+ "折溢价率",
46
+ "到期日",
47
+ "-",
48
+ "-",
49
+ "-",
50
+ "标的名称",
51
+ "标的最新价",
52
+ "标的涨跌幅",
53
+ "盈亏平衡价",
54
+ ]
55
+ temp_df = temp_df[
56
+ [
57
+ "期权代码",
58
+ "期权名称",
59
+ "最新价",
60
+ "涨跌幅",
61
+ "行权价",
62
+ "折溢价率",
63
+ "标的名称",
64
+ "标的最新价",
65
+ "标的涨跌幅",
66
+ "盈亏平衡价",
67
+ "到期日",
68
+ ]
53
69
  ]
54
- temp_df = temp_df[[
55
- '期权代码',
56
- '期权名称',
57
- '最新价',
58
- '涨跌幅',
59
- '行权价',
60
- '折溢价率',
61
- '标的名称',
62
- '标的最新价',
63
- '标的涨跌幅',
64
- '盈亏平衡价',
65
- '到期日',
66
- ]]
67
- temp_df['最新价'] = pd.to_numeric(temp_df['最新价'], errors="coerce")
68
- temp_df['涨跌幅'] = pd.to_numeric(temp_df['涨跌幅'], errors="coerce")
69
- temp_df['行权价'] = pd.to_numeric(temp_df['行权价'], errors="coerce")
70
- temp_df['折溢价率'] = pd.to_numeric(temp_df['折溢价率'], errors="coerce")
71
- temp_df['标的最新价'] = pd.to_numeric(temp_df['标的最新价'], errors="coerce")
72
- temp_df['标的涨跌幅'] = pd.to_numeric(temp_df['标的涨跌幅'], errors="coerce")
73
- temp_df['盈亏平衡价'] = pd.to_numeric(temp_df['盈亏平衡价'], errors="coerce")
74
- temp_df['到期日'] = pd.to_datetime(temp_df['到期日'].astype(str)).dt.date
70
+ temp_df["最新价"] = pd.to_numeric(temp_df["最新价"], errors="coerce")
71
+ temp_df["涨跌幅"] = pd.to_numeric(temp_df["涨跌幅"], errors="coerce")
72
+ temp_df["行权价"] = pd.to_numeric(temp_df["行权价"], errors="coerce")
73
+ temp_df["折溢价率"] = pd.to_numeric(temp_df["折溢价率"], errors="coerce")
74
+ temp_df["标的最新价"] = pd.to_numeric(temp_df["标的最新价"], errors="coerce")
75
+ temp_df["标的涨跌幅"] = pd.to_numeric(temp_df["标的涨跌幅"], errors="coerce")
76
+ temp_df["盈亏平衡价"] = pd.to_numeric(temp_df["盈亏平衡价"], errors="coerce")
77
+ temp_df["到期日"] = pd.to_datetime(temp_df["到期日"].astype(str)).dt.date
75
78
  return temp_df
76
79
 
77
80
 
@@ -1,10 +1,11 @@
1
1
  # -*- coding:utf-8 -*-
2
2
  # !/usr/bin/env python
3
3
  """
4
- Date: 2023/3/20 15:20
4
+ Date: 2025/2/22 21:00
5
5
  Desc: 东方财富网-数据中心-特色数据-期权风险分析
6
6
  https://data.eastmoney.com/other/riskanal.html
7
7
  """
8
+
8
9
  import requests
9
10
  import pandas as pd
10
11
 
@@ -20,9 +21,9 @@ def option_risk_analysis_em() -> pd.DataFrame:
20
21
  params = {
21
22
  "fid": "f3",
22
23
  "po": "1",
23
- "pz": "5000",
24
+ "pz": "50000",
24
25
  "pn": "1",
25
- "np": "1",
26
+ "np": "2",
26
27
  "fltt": "2",
27
28
  "invt": "2",
28
29
  "ut": "b2884a393a59ad64002292a3e90d46a5",
@@ -31,7 +32,7 @@ def option_risk_analysis_em() -> pd.DataFrame:
31
32
  }
32
33
  r = requests.get(url, params=params)
33
34
  data_json = r.json()
34
- temp_df = pd.DataFrame(data_json["data"]["diff"])
35
+ temp_df = pd.DataFrame(data_json["data"]["diff"]).T
35
36
  temp_df.columns = [
36
37
  "-",
37
38
  "最新价",
@@ -1,10 +1,11 @@
1
1
  # -*- coding:utf-8 -*-
2
2
  # !/usr/bin/env python
3
3
  """
4
- Date: 2022/1/24 15:41
4
+ Date: 2025/2/22 21:00
5
5
  Desc: 东方财富网-数据中心-特色数据-期权价值分析
6
6
  https://data.eastmoney.com/other/valueAnal.html
7
7
  """
8
+
8
9
  import requests
9
10
  import pandas as pd
10
11
 
@@ -18,62 +19,68 @@ def option_value_analysis_em() -> pd.DataFrame:
18
19
  """
19
20
  url = "https://push2.eastmoney.com/api/qt/clist/get"
20
21
  params = {
21
- 'fid': 'f301',
22
- 'po': '1',
23
- 'pz': '5000',
24
- 'pn': '1',
25
- 'np': '1',
26
- 'fltt': '2',
27
- 'invt': '2',
28
- 'ut': 'b2884a393a59ad64002292a3e90d46a5',
29
- 'fields': 'f1,f2,f3,f12,f13,f14,f298,f299,f249,f300,f330,f331,f332,f333,f334,f335,f336,f301,f152',
30
- 'fs': 'm:10'
22
+ "fid": "f301",
23
+ "po": "1",
24
+ "pz": "50000",
25
+ "pn": "1",
26
+ "np": "2",
27
+ "fltt": "2",
28
+ "invt": "2",
29
+ "ut": "b2884a393a59ad64002292a3e90d46a5",
30
+ "fields": "f1,f2,f3,f12,f13,f14,f298,f299,f249,f300,f330,f331,f332,f333,f334,f335,f336,f301,f152",
31
+ "fs": "m:10",
31
32
  }
32
33
  r = requests.get(url, params=params)
33
34
  data_json = r.json()
34
- temp_df = pd.DataFrame(data_json["data"]["diff"])
35
+ temp_df = pd.DataFrame(data_json["data"]["diff"]).T
35
36
  temp_df.columns = [
36
- '-',
37
- '最新价',
38
- '-',
39
- '期权代码',
40
- '-',
41
- '期权名称',
42
- '-',
43
- '隐含波动率',
44
- '时间价值',
45
- '内在价值',
46
- '理论价格',
47
- '到期日',
48
- '-',
49
- '-',
50
- '-',
51
- '标的名称',
52
- '标的最新价',
53
- '-',
54
- '标的近一年波动率',
37
+ "-",
38
+ "最新价",
39
+ "-",
40
+ "期权代码",
41
+ "-",
42
+ "期权名称",
43
+ "-",
44
+ "隐含波动率",
45
+ "时间价值",
46
+ "内在价值",
47
+ "理论价格",
48
+ "到期日",
49
+ "-",
50
+ "-",
51
+ "-",
52
+ "标的名称",
53
+ "标的最新价",
54
+ "-",
55
+ "标的近一年波动率",
56
+ ]
57
+ temp_df = temp_df[
58
+ [
59
+ "期权代码",
60
+ "期权名称",
61
+ "最新价",
62
+ "时间价值",
63
+ "内在价值",
64
+ "隐含波动率",
65
+ "理论价格",
66
+ "标的名称",
67
+ "标的最新价",
68
+ "标的近一年波动率",
69
+ "到期日",
70
+ ]
55
71
  ]
56
- temp_df = temp_df[[
57
- '期权代码',
58
- '期权名称',
59
- '最新价',
60
- '时间价值',
61
- '内在价值',
62
- '隐含波动率',
63
- '理论价格',
64
- '标的名称',
65
- '标的最新价',
66
- '标的近一年波动率',
67
- '到期日',
68
- ]]
69
- temp_df['最新价'] = pd.to_numeric(temp_df['最新价'], errors="coerce")
70
- temp_df['时间价值'] = pd.to_numeric(temp_df['时间价值'])
71
- temp_df['内在价值'] = pd.to_numeric(temp_df['内在价值'])
72
- temp_df['隐含波动率'] = pd.to_numeric(temp_df['隐含波动率'])
73
- temp_df['理论价格'] = pd.to_numeric(temp_df['理论价格'], errors="coerce")
74
- temp_df['标的最新价'] = pd.to_numeric(temp_df['标的最新价'])
75
- temp_df['标的近一年波动率'] = pd.to_numeric(temp_df['标的近一年波动率'])
76
- temp_df['到期日'] = pd.to_datetime(temp_df['到期日'].astype(str)).dt.date
72
+ temp_df["最新价"] = pd.to_numeric(temp_df["最新价"], errors="coerce")
73
+ temp_df["时间价值"] = pd.to_numeric(temp_df["时间价值"], errors="coerce")
74
+ temp_df["内在价值"] = pd.to_numeric(temp_df["内在价值"], errors="coerce")
75
+ temp_df["隐含波动率"] = pd.to_numeric(temp_df["隐含波动率"], errors="coerce")
76
+ temp_df["理论价格"] = pd.to_numeric(temp_df["理论价格"], errors="coerce")
77
+ temp_df["标的最新价"] = pd.to_numeric(temp_df["标的最新价"], errors="coerce")
78
+ temp_df["标的近一年波动率"] = pd.to_numeric(
79
+ temp_df["标的近一年波动率"], errors="coerce"
80
+ )
81
+ temp_df["到期日"] = pd.to_datetime(
82
+ temp_df["到期日"].astype(str), errors="coerce"
83
+ ).dt.date
77
84
  return temp_df
78
85
 
79
86
 
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2024/7/26 18:30
4
+ Date: 2025/2/24 18:30
5
5
  Desc: 东方财富网-行情中心-港股市场-知名港股
6
6
  https://quote.eastmoney.com/center/gridlist.html#hk_wellknown
7
7
  """
@@ -20,9 +20,9 @@ def stock_hk_famous_spot_em() -> pd.DataFrame:
20
20
  url = "https://69.push2.eastmoney.com/api/qt/clist/get"
21
21
  params = {
22
22
  "pn": "1",
23
- "pz": "2000",
23
+ "pz": "50000",
24
24
  "po": "1",
25
- "np": "1",
25
+ "np": "2",
26
26
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
27
27
  "fltt": "2",
28
28
  "invt": "2",
@@ -36,7 +36,7 @@ def stock_hk_famous_spot_em() -> pd.DataFrame:
36
36
  }
37
37
  r = requests.get(url, params=params)
38
38
  data_json = r.json()
39
- temp_df = pd.DataFrame(data_json["data"]["diff"])
39
+ temp_df = pd.DataFrame(data_json["data"]["diff"]).T
40
40
  temp_df.columns = [
41
41
  "_",
42
42
  "最新价",
@@ -1,20 +1,17 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2025/2/17 14:00
4
+ Date: 2025/2/24 18: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
11
10
  from functools import lru_cache
12
11
 
13
12
  import pandas as pd
14
13
  import requests
15
14
 
16
- from akshare.utils.tqdm import get_tqdm
17
-
18
15
 
19
16
  @lru_cache()
20
17
  def __code_id_map_em() -> dict:
@@ -24,16 +21,16 @@ def __code_id_map_em() -> dict:
24
21
  :return: 股票和市场代码
25
22
  :rtype: dict
26
23
  """
27
- url = "http://80.push2.eastmoney.com/api/qt/clist/get"
24
+ url = "https://80.push2.eastmoney.com/api/qt/clist/get"
28
25
  params = {
29
26
  "pn": "1",
30
- "pz": "200",
27
+ "pz": "50000",
31
28
  "po": "1",
32
- "np": "1",
29
+ "np": "2",
33
30
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
34
31
  "fltt": "2",
35
32
  "invt": "2",
36
- "fid": "f12",
33
+ "fid": "f3",
37
34
  "fs": "m:1 t:2,m:1 t:23",
38
35
  "fields": "f12",
39
36
  "_": "1623833739532",
@@ -42,32 +39,19 @@ def __code_id_map_em() -> dict:
42
39
  data_json = r.json()
43
40
  if not data_json["data"]["diff"]:
44
41
  return dict()
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)
42
+ temp_df = pd.DataFrame(data_json["data"]["diff"]).T
59
43
  temp_df["market_id"] = 1
60
44
  temp_df.columns = ["sh_code", "sh_id"]
61
45
  code_id_dict = dict(zip(temp_df["sh_code"], temp_df["sh_id"]))
62
46
  params = {
63
47
  "pn": "1",
64
- "pz": "200",
48
+ "pz": "50000",
65
49
  "po": "1",
66
- "np": "1",
50
+ "np": "2",
67
51
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
68
52
  "fltt": "2",
69
53
  "invt": "2",
70
- "fid": "f12",
54
+ "fid": "f3",
71
55
  "fs": "m:0 t:6,m:0 t:80",
72
56
  "fields": "f12",
73
57
  "_": "1623833739532",
@@ -76,31 +60,18 @@ def __code_id_map_em() -> dict:
76
60
  data_json = r.json()
77
61
  if not data_json["data"]["diff"]:
78
62
  return dict()
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)
63
+ temp_df_sz = pd.DataFrame(data_json["data"]["diff"]).T
93
64
  temp_df_sz["sz_id"] = 0
94
65
  code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["sz_id"])))
95
66
  params = {
96
67
  "pn": "1",
97
- "pz": "200",
68
+ "pz": "50000",
98
69
  "po": "1",
99
- "np": "1",
70
+ "np": "2",
100
71
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
101
72
  "fltt": "2",
102
73
  "invt": "2",
103
- "fid": "f12",
74
+ "fid": "f3",
104
75
  "fs": "m:0 t:81 s:2048",
105
76
  "fields": "f12",
106
77
  "_": "1623833739532",
@@ -109,20 +80,7 @@ def __code_id_map_em() -> dict:
109
80
  data_json = r.json()
110
81
  if not data_json["data"]["diff"]:
111
82
  return dict()
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)
83
+ temp_df_sz = pd.DataFrame(data_json["data"]["diff"]).T
126
84
  temp_df_sz["bj_id"] = 0
127
85
  code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["bj_id"])))
128
86
  return code_id_dict
@@ -163,7 +121,9 @@ def stock_intraday_em(symbol: str = "000001") -> pd.DataFrame:
163
121
  "secid": f"{code_id_map_em_dict[symbol]}.{symbol}",
164
122
  "wbp2u": "|0|0|0|web",
165
123
  }
124
+
166
125
  big_df = pd.DataFrame() # 创建一个空的 DataFrame
126
+
167
127
  for event in __event_stream(url, params):
168
128
  # 从每个事件的数据行中删除 "data: ",然后解析 JSON
169
129
  event_json = json.loads(event.replace("data: ", ""))
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2024/7/24 13:30
4
+ Date: 2025/2/24 18:30
5
5
  Desc: 东方财富网-行情中心-美股市场-知名美股
6
6
  https://quote.eastmoney.com/center/gridlist.html#us_wellknown
7
7
  """
@@ -30,9 +30,9 @@ def stock_us_famous_spot_em(symbol: str = "科技类") -> pd.DataFrame:
30
30
  url = "https://69.push2.eastmoney.com/api/qt/clist/get"
31
31
  params = {
32
32
  "pn": "1",
33
- "pz": "2000",
33
+ "pz": "50000",
34
34
  "po": "1",
35
- "np": "1",
35
+ "np": "2",
36
36
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
37
37
  "fltt": "2",
38
38
  "invt": "2",
@@ -44,7 +44,7 @@ def stock_us_famous_spot_em(symbol: str = "科技类") -> pd.DataFrame:
44
44
  }
45
45
  r = requests.get(url, params=params)
46
46
  data_json = r.json()
47
- temp_df = pd.DataFrame(data_json["data"]["diff"])
47
+ temp_df = pd.DataFrame(data_json["data"]["diff"]).T
48
48
  temp_df.columns = [
49
49
  "_",
50
50
  "最新价",
@@ -482,7 +482,7 @@ def stock_new_a_spot_em() -> pd.DataFrame:
482
482
  "pn": "1",
483
483
  "pz": "50000",
484
484
  "po": "1",
485
- "np": "1",
485
+ "np": "2",
486
486
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
487
487
  "fltt": "2",
488
488
  "invt": "2",
@@ -497,7 +497,7 @@ def stock_new_a_spot_em() -> pd.DataFrame:
497
497
  data_json = r.json()
498
498
  if not data_json["data"]["diff"]:
499
499
  return pd.DataFrame()
500
- temp_df = pd.DataFrame(data_json["data"]["diff"])
500
+ temp_df = pd.DataFrame(data_json["data"]["diff"]).T
501
501
  temp_df.columns = [
502
502
  "_",
503
503
  "最新价",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: akshare
3
- Version: 1.16.9
3
+ Version: 1.16.11
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=Flwht16-YxveFrqhWbTIm7RbwBJcIZurkUUQMmuveeM,187978
1
+ akshare/__init__.py,sha256=14lo_Drvbjv_VQ7Ew7Rlwi7P_TYpICe34QOwcoKnjAE,188075
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=GVInuhgb1MpANo7rz96c1Cj_MHOY7Z7lYjgP1VaZtrg,17616
176
+ akshare/index/index_zh_em.py,sha256=5UseU40Mk-XO3vyTbrq6GHiLdG4_-c5iZXHVdCNw4o0,16362
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
@@ -194,14 +194,14 @@ akshare/option/option_commodity.py,sha256=KQ690k83wKnjYN5Sf3meLx0pvEYAc5dE2tOkv3
194
194
  akshare/option/option_commodity_sina.py,sha256=r6qK_K7w3A6Uqp5ZtBb4pW7vH04oMyeCEZLLGqi0jpA,7776
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
- akshare/option/option_em.py,sha256=5Y9Fqhk6VxsDLxQLJQyptkgAEAszIQiDyMl_wRfZjAg,5963
197
+ akshare/option/option_em.py,sha256=M5mWE-YRQOywC9MY4CNgNwjLNl2AF32P4CHSF6zvK4k,5962
198
198
  akshare/option/option_finance.py,sha256=7rnEeHo-7Sddrs36Q4c99CXL_9m8IJzw9S1Aqh3Bw90,12568
199
199
  akshare/option/option_finance_sina.py,sha256=Pzsrl_NKN99nWPSAirq7ushGwSfd738ISVYeCHxMZXE,37843
200
200
  akshare/option/option_lhb_em.py,sha256=VHrV2BWAPE7tj8q7J5Crjm-sey8QarYd1lgxKbkX2CQ,9090
201
- akshare/option/option_premium_analysis_em.py,sha256=uL-wxwsZu3UbeUmHs5W1x3PBfk0HfVyGubx6FvkeyPg,2471
202
- akshare/option/option_risk_analysis_em.py,sha256=WYwjXzZhIr8WpwoVKXfAnFA7Ylx_vLQiFDeTxDvrnBk,2577
201
+ akshare/option/option_premium_analysis_em.py,sha256=vPOndT5I7j_bS0rIsJpmu0QbCec7TQinON8OAdE06vc,2538
202
+ akshare/option/option_risk_analysis_em.py,sha256=3IlE-OxJprB8MOmSXd2Ym4y8xM01zHCML9lUQxJFa0g,2581
203
203
  akshare/option/option_risk_indicator_sse.py,sha256=W1_mGrk8M9pbbadzSAy5euWMEGn4-cVWBc8Jk_I2WmI,2484
204
- akshare/option/option_value_analysis_em.py,sha256=XAHbSvUvcmyuv6rr2hxxGalWcKK8EqaP2L8G7p8woko,2487
204
+ akshare/option/option_value_analysis_em.py,sha256=lueBvtDelpYPccEYH0LSUvgUQqOGloVFqZFSyT2J2_0,2684
205
205
  akshare/other/__init__.py,sha256=guH4GLhFcE_5iaMHOHtgK7QKa0i7esYdmZFfJMG6E10,82
206
206
  akshare/other/other_car_cpca.py,sha256=hCBNUrCI2l3OCP3Gqgr_4zpyzhO99XCBoiwkIhUM3r0,34987
207
207
  akshare/other/other_car_gasgoo.py,sha256=KaCMVPydiGJvhJN9eZEvObygYquCsSgsZkQRB0J6srk,3046
@@ -241,7 +241,7 @@ akshare/stock/stock_dzjy_em.py,sha256=QMo2w-_I9UnmCr1IXk_InFeW5ok_GpRE9HdWFDUdGy
241
241
  akshare/stock/stock_fund_em.py,sha256=ZtDX_llsN4Wxm6IcoGMLV0Xoy0n6CIuDpXVps5OBQS8,48920
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
- akshare/stock/stock_hk_famous.py,sha256=g-p1cdRibei9fw2HEMPyarLP-wT4bFwIK7Mxi77jH9E,3015
244
+ akshare/stock/stock_hk_famous.py,sha256=uF1iUkrwvMMxvxE3-O7byxQ-oS0SjlMBwOEraTBA41s,3018
245
245
  akshare/stock/stock_hk_fhpx_ths.py,sha256=68soKJIOMoAGuCvJIMZBVU-2wL_umtv67SuqVzl2C14,2191
246
246
  akshare/stock/stock_hk_hot_rank_em.py,sha256=IhLGahWXfYPQRrCoB1Ph7DRbs_39BcrmXpIgXgEkttg,4746
247
247
  akshare/stock/stock_hk_sina.py,sha256=7tD7P4lo6U40s-jkS9E128voZgYx75vbxmG3M0LyqNg,9589
@@ -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=cm0qKVeCOqmjqd3WxqwjMCoa1uMA2zb98f6HX9_pIPQ,5905
260
+ akshare/stock/stock_intraday_em.py,sha256=s3gAzG0-6gYj407WePpoNXVyKUZB-siOOw1xZbBYIF4,4538
261
261
  akshare/stock/stock_intraday_sina.py,sha256=7LzXRwjdPo-BHwvs8244-MFiGriPUCFBJqRW-r9iVB4,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
@@ -269,7 +269,7 @@ akshare/stock/stock_share_changes_cninfo.py,sha256=siy4PiZgYuNQn5jUUg2G7CyZ_yvuX
269
269
  akshare/stock/stock_share_hold.py,sha256=sKiWH69n8_MQohi0qZ3Br-WQRq9I7S0USrb-tMVinb0,11028
270
270
  akshare/stock/stock_stop.py,sha256=8HyazJAFj-s12ujUtrxO8VPXyA5bF9-3eNEj0qzGwMg,1185
271
271
  akshare/stock/stock_summary.py,sha256=rtJImzACxpGRqYGe9-yNTzsSZDlsG1Uns18sDIgunZY,11204
272
- akshare/stock/stock_us_famous.py,sha256=enx_-EzEJWAhrMVQZaN83ETY_YEWO2xEStRm6z3upO0,3655
272
+ akshare/stock/stock_us_famous.py,sha256=C0JjmaLi1D4fFtTmPSYOnIvetW2mSbRCalwHjZnv638,3658
273
273
  akshare/stock/stock_us_js.py,sha256=wwZpRvVHqjxwd0cb2O5vtRW8Zw90Kdl5O4XNwoevN64,2502
274
274
  akshare/stock/stock_us_pink.py,sha256=BX7-tG4Zs0k2vSYGxHH0Yob-moD6AAu2a-ytZpxgIRQ,3065
275
275
  akshare/stock/stock_us_sina.py,sha256=D4fhJgpmvnlVoeSV2wQQ7H6lig8h6vaJp71o88dZhDg,8200
@@ -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=izbhwdVCUp672hvHBSNpP4eXdFd1NDlJkUW-Z42KBDo,69295
314
+ akshare/stock_feature/stock_hist_em.py,sha256=uxkhxn3O-JdvR29T7jhSkpgsPJkHHZsnUerG0bgg90w,69297
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.16.9.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
384
- akshare-1.16.9.dist-info/METADATA,sha256=t3Rb5CRORzzNDSzdfrY0quIJUJ2bGHSygddHmYkGpr4,13678
385
- akshare-1.16.9.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
386
- akshare-1.16.9.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
387
- akshare-1.16.9.dist-info/RECORD,,
383
+ akshare-1.16.11.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
384
+ akshare-1.16.11.dist-info/METADATA,sha256=1TtMqh-7v-Oi8CSDhSJuzPGZmEZ2xHb13bpIFe6hHSE,13679
385
+ akshare-1.16.11.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
386
+ akshare-1.16.11.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
387
+ akshare-1.16.11.dist-info/RECORD,,