akshare 1.16.37__py3-none-any.whl → 1.16.38__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
@@ -3046,9 +3046,10 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
3046
3046
  1.16.35 fix: fix futures_global_spot_em interface
3047
3047
  1.16.36 fix: fix stock_intraday_em interface
3048
3048
  1.16.37 fix: fix stock_board_concept_hist_em interface
3049
+ 1.16.38 fix: fix fund_etf_hist_em interface
3049
3050
  """
3050
3051
 
3051
- __version__ = "1.16.37"
3052
+ __version__ = "1.16.38"
3052
3053
  __author__ = "AKFamily"
3053
3054
 
3054
3055
  import sys
@@ -22,6 +22,7 @@ from akshare.bond.cons import (
22
22
  from akshare.stock.cons import hk_js_decode
23
23
  from akshare.utils import demjson
24
24
  from akshare.utils.tqdm import get_tqdm
25
+ from akshare.utils.func import fetch_paginated_data
25
26
 
26
27
 
27
28
  def _get_zh_bond_hs_cov_page_count() -> int:
@@ -57,7 +58,7 @@ def bond_zh_hs_cov_spot() -> pd.DataFrame:
57
58
  zh_sina_bond_hs_payload_copy.update({"page": page})
58
59
  res = requests.get(zh_sina_bond_hs_cov_url, params=zh_sina_bond_hs_payload_copy)
59
60
  data_json = demjson.decode(res.text)
60
- big_df = pd.concat([big_df, pd.DataFrame(data_json)], ignore_index=True)
61
+ big_df = pd.concat(objs=[big_df, pd.DataFrame(data_json)], ignore_index=True)
61
62
  return big_df
62
63
 
63
64
 
@@ -95,39 +96,35 @@ def _code_id_map() -> dict:
95
96
  url = "https://80.push2.eastmoney.com/api/qt/clist/get"
96
97
  params = {
97
98
  "pn": "1",
98
- "pz": "50000",
99
+ "pz": "100",
99
100
  "po": "1",
100
- "np": "2",
101
+ "np": "1",
101
102
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
102
103
  "fltt": "2",
103
104
  "invt": "2",
104
- "fid": "f3",
105
+ "fid": "f12",
105
106
  "fs": "m:1 t:2,m:1 t:23",
106
- "fields": "f12",
107
+ "fields": "f3,f12",
107
108
  "_": "1623833739532",
108
109
  }
109
- r = requests.get(url, params=params)
110
- data_json = r.json()
111
- temp_df = pd.DataFrame(data_json["data"]["diff"]).T
110
+ temp_df = fetch_paginated_data(url, params)
112
111
  temp_df["market_id"] = 1
113
- temp_df.columns = ["sh_code", "sh_id"]
112
+ temp_df.rename(columns={"f12": "sh_code", "market_id": "sh_id"}, inplace=True)
114
113
  code_id_dict = dict(zip(temp_df["sh_code"], temp_df["sh_id"]))
115
114
  params = {
116
115
  "pn": "1",
117
- "pz": "50000",
116
+ "pz": "100",
118
117
  "po": "1",
119
- "np": "2",
118
+ "np": "1",
120
119
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
121
120
  "fltt": "2",
122
121
  "invt": "2",
123
122
  "fid": "f3",
124
123
  "fs": "m:0 t:6,m:0 t:80",
125
- "fields": "f12",
124
+ "fields": "f3,f12",
126
125
  "_": "1623833739532",
127
126
  }
128
- r = requests.get(url, params=params)
129
- data_json = r.json()
130
- temp_df_sz = pd.DataFrame(data_json["data"]["diff"]).T
127
+ temp_df_sz = fetch_paginated_data(url, params)
131
128
  temp_df_sz["sz_id"] = 0
132
129
  code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["sz_id"])))
133
130
  return code_id_dict
@@ -478,9 +475,9 @@ def bond_cov_comparison() -> pd.DataFrame:
478
475
  url = "https://16.push2.eastmoney.com/api/qt/clist/get"
479
476
  params = {
480
477
  "pn": "1",
481
- "pz": "50000",
478
+ "pz": "100",
482
479
  "po": "1",
483
- "np": "2",
480
+ "np": "1",
484
481
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
485
482
  "fltt": "2",
486
483
  "invt": "2",
@@ -490,12 +487,7 @@ def bond_cov_comparison() -> pd.DataFrame:
490
487
  "f235,f236,f237,f238,f239,f240,f241,f242,f26,f243",
491
488
  "_": "1590386857527",
492
489
  }
493
- r = requests.get(url, params=params)
494
- text_data = r.text
495
- json_data = demjson.decode(text_data)
496
- temp_df = pd.DataFrame(json_data["data"]["diff"]).T
497
- temp_df.reset_index(inplace=True)
498
- temp_df["index"] = range(1, len(temp_df) + 1)
490
+ temp_df = fetch_paginated_data(url, params)
499
491
  temp_df.columns = [
500
492
  "序号",
501
493
  "_",
@@ -11,6 +11,8 @@ from functools import lru_cache
11
11
  import pandas as pd
12
12
  import requests
13
13
 
14
+ from akshare.utils.func import fetch_paginated_data
15
+
14
16
 
15
17
  @lru_cache()
16
18
  def _fund_etf_code_id_map_em() -> dict:
@@ -23,21 +25,19 @@ def _fund_etf_code_id_map_em() -> dict:
23
25
  url = "https://88.push2.eastmoney.com/api/qt/clist/get"
24
26
  params = {
25
27
  "pn": "1",
26
- "pz": "50000",
28
+ "pz": "100",
27
29
  "po": "1",
28
- "np": "2",
30
+ "np": "1",
29
31
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
30
32
  "fltt": "2",
31
33
  "invt": "2",
32
34
  "wbp2u": "|0|0|0|web",
33
35
  "fid": "f3",
34
36
  "fs": "b:MK0021,b:MK0022,b:MK0023,b:MK0024",
35
- "fields": "f12,f13",
37
+ "fields": "f3,f12,f13",
36
38
  "_": "1672806290972",
37
39
  }
38
- r = requests.get(url, params=params, timeout=15)
39
- data_json = r.json()
40
- temp_df = pd.DataFrame(data_json["data"]["diff"]).T
40
+ temp_df = fetch_paginated_data(url, params)
41
41
  temp_dict = dict(zip(temp_df["f12"], temp_df["f13"]))
42
42
  return temp_dict
43
43
 
@@ -52,9 +52,9 @@ def fund_etf_spot_em() -> pd.DataFrame:
52
52
  url = "https://88.push2.eastmoney.com/api/qt/clist/get"
53
53
  params = {
54
54
  "pn": "1",
55
- "pz": "50000",
55
+ "pz": "100",
56
56
  "po": "1",
57
- "np": "2",
57
+ "np": "1",
58
58
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
59
59
  "fltt": "2",
60
60
  "invt": "2",
@@ -71,9 +71,7 @@ def fund_etf_spot_em() -> pd.DataFrame:
71
71
  ),
72
72
  "_": "1672806290972",
73
73
  }
74
- r = requests.get(url, timeout=15, params=params)
75
- data_json = r.json()
76
- temp_df = pd.DataFrame(data_json["data"]["diff"]).T
74
+ temp_df = fetch_paginated_data(url, params)
77
75
  temp_df.rename(
78
76
  columns={
79
77
  "f12": "代码",
@@ -218,7 +216,6 @@ def fund_etf_spot_em() -> pd.DataFrame:
218
216
  .dt.tz_localize("UTC")
219
217
  .dt.tz_convert("Asia/Shanghai")
220
218
  )
221
-
222
219
  return temp_df
223
220
 
224
221
 
@@ -481,7 +478,7 @@ if __name__ == "__main__":
481
478
  symbol="511380",
482
479
  period="1",
483
480
  adjust="",
484
- start_date="2024-09-04 09:30:00",
485
- end_date="2024-09-04 17:40:00",
481
+ start_date="2025-03-10 09:30:00",
482
+ end_date="2025-03-10 17:40:00",
486
483
  )
487
484
  print(fund_etf_hist_min_em_df)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: akshare
3
- Version: 1.16.37
3
+ Version: 1.16.38
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=diiFL-n_yvjQPu7e9YeRy0_N1BP1cQwp8RLJ86xIojc,190442
1
+ akshare/__init__.py,sha256=LlnGpK7R_pXHnHCgH6qGGRhP0yb5sf9dkzddZbdMvNo,190486
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
@@ -30,7 +30,7 @@ akshare/bond/bond_info_cm.py,sha256=VBu9UM9tUcGDRV07pndU9yttLDF_Nk3b0vU0n65qpHs,
30
30
  akshare/bond/bond_issue_cninfo.py,sha256=tPoZhF-_sIX9ztCKB0K0-Z4Kd9b-389bP3_CdFK7Wb0,21672
31
31
  akshare/bond/bond_nafmii.py,sha256=cekcobyXKMG1zDuM8wHWOn__SuWELxYmUwfGVmLRP40,2155
32
32
  akshare/bond/bond_summary.py,sha256=ECwCRcs5YMIro4I1Yayf6SZ8nz1Hr97RhmKT6aGaQDg,3581
33
- akshare/bond/bond_zh_cov.py,sha256=b5TPHCgqdblMPFR8lxUNLwvLWHn90q--IF2GlmCCTTU,23799
33
+ akshare/bond/bond_zh_cov.py,sha256=TP2S3KQY0lK1xeMld5mGgydVnmGhjaMnutFT1aWG_ko,23547
34
34
  akshare/bond/bond_zh_sina.py,sha256=msj7upgqaCTzC_MxzhUm7hVKtzHeWRUjlcjvZn2zlbw,4654
35
35
  akshare/bond/cons.py,sha256=SGqjMqRYwJlEb8UczxdcrtcD7I2SAVULXARGEedEQfE,1792
36
36
  akshare/cal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -89,7 +89,7 @@ akshare/fund/fund_amac.py,sha256=Dml3EgpJhmVgkttb0OdaWN41ynOCIbJ0-1qAPDWF0oo,338
89
89
  akshare/fund/fund_announcement.py,sha256=g5rcIC9vQ4HapZd0b7cDbFYzHu9V6bOKhwxRHVfmv8k,1848
90
90
  akshare/fund/fund_aum_em.py,sha256=dy1R1-0X48H8S-LPiuggNA5M-6MvQ08fnp5bytvCGPQ,3518
91
91
  akshare/fund/fund_em.py,sha256=HDJEhnWjxYN_0yg6p9WRkG3i1-hheBC7CSBzht_-IhQ,41785
92
- akshare/fund/fund_etf_em.py,sha256=xswdZoMN8mcDA_q-lN9lvOjKEPUzoPBjOU7Nn0grIHM,17393
92
+ akshare/fund/fund_etf_em.py,sha256=WA_M_URnBMRYHHz4cx4gEj8igcZxsWoNPrkv297vqhc,17272
93
93
  akshare/fund/fund_etf_sina.py,sha256=YV2KrqKMF_h8kgrywvWvRJx2oy62lhgizvHFk40E4Rk,7042
94
94
  akshare/fund/fund_etf_ths.py,sha256=vb_jy0h2-Kz2dNWUrwBYxPB0MAotv0KZgnFhE98ohSM,3432
95
95
  akshare/fund/fund_fee_em.py,sha256=fa_Nfr4GWx4FNzNY0blBPhIZ3fGW5qedQOuYIAlVsvE,4158
@@ -388,8 +388,8 @@ akshare/utils/token_process.py,sha256=K4rGXjh_tgugbRcyOK2h2x0jP3PT65IIK7nxhUKhOe
388
388
  akshare/utils/tqdm.py,sha256=MuPNwcswkOGjwWQOMWXi9ZvQ_RmW4obCWRj2i7HM7FE,847
389
389
  tests/__init__.py,sha256=gNzhlO0UPjFq6Ieb38kaVIODXv4cTDByrdohAZnDYt4,82
390
390
  tests/test_func.py,sha256=j1MGYbZI2if2j_LY1S4FLsf4qfq4NwVqD5wmRlv5Log,832
391
- akshare-1.16.37.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
392
- akshare-1.16.37.dist-info/METADATA,sha256=_VOPPo7anGG8O2U16g8i4mcT9gly7TNG_TY5z9D9h2E,13653
393
- akshare-1.16.37.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
394
- akshare-1.16.37.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
395
- akshare-1.16.37.dist-info/RECORD,,
391
+ akshare-1.16.38.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
392
+ akshare-1.16.38.dist-info/METADATA,sha256=RbGznnO0xmuJLWI8OKqnZcwK0JRBoXd68WigQZzKJQk,13653
393
+ akshare-1.16.38.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
394
+ akshare-1.16.38.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
395
+ akshare-1.16.38.dist-info/RECORD,,