akshare 1.17.52__py3-none-any.whl → 1.17.54__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
@@ -3159,9 +3159,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
3159
3159
  1.17.50 fix: fix option_current_day_szse interface
3160
3160
  1.17.51 fix: fix fund_manager_em interface
3161
3161
  1.17.52 fix: fix fund_overview_em interface
3162
+ 1.17.53 fix: fix reits_hist_min_em interface
3163
+ 1.17.54 fix: fix fund_announcement_dividend_em interface
3162
3164
  """
3163
3165
 
3164
- __version__ = "1.17.52"
3166
+ __version__ = "1.17.54"
3165
3167
  __author__ = "AKFamily"
3166
3168
 
3167
3169
  import sys
@@ -3520,10 +3522,20 @@ from akshare.stock_feature.stock_irm_cninfo import (
3520
3522
  stock_irm_ans_cninfo,
3521
3523
  )
3522
3524
 
3525
+ """
3526
+ 基金公告-分红配送
3527
+ """
3528
+ from akshare.fund.fund_announcement_em import fund_announcement_dividend_em
3529
+
3530
+ """
3531
+ 基金公告-定期报告
3532
+ """
3533
+ from akshare.fund.fund_announcement_em import fund_announcement_report_em
3534
+
3523
3535
  """
3524
3536
  基金公告-人事公告
3525
3537
  """
3526
- from akshare.fund.fund_announcement import fund_announcement_personnel_em
3538
+ from akshare.fund.fund_announcement_em import fund_announcement_personnel_em
3527
3539
 
3528
3540
  """
3529
3541
  新浪财经-ESG评级中心
@@ -4172,7 +4184,7 @@ from akshare.stock.stock_us_pink import stock_us_pink_spot_em
4172
4184
  """
4173
4185
  REITs
4174
4186
  """
4175
- from akshare.reits.reits_basic import reits_realtime_em, reits_hist_em
4187
+ from akshare.reits.reits_basic import reits_realtime_em, reits_hist_em, reits_hist_min_em
4176
4188
 
4177
4189
  """
4178
4190
  全部 A 股-等权重市盈率、中位数市盈率
@@ -0,0 +1,145 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding:utf-8 -*-
3
+ """
4
+ Date: 2025/9/20 17:40
5
+ Desc: 东方财富网站-天天基金网-基金档案-基金公告
6
+ https://fundf10.eastmoney.com/jjgg_000001.html
7
+ """
8
+
9
+ import time
10
+
11
+ import pandas as pd
12
+ import requests
13
+
14
+
15
+ def fund_announcement_dividend_em(symbol: str = "000001") -> pd.DataFrame:
16
+ """
17
+ 东方财富网站-天天基金网-基金档案-基金公告-分红配送
18
+ https://fundf10.eastmoney.com/jjgg_000001_2.html
19
+ :param symbol: 基金代码; 可以通过调用 ak.fund_name_em() 接口获取
20
+ :type symbol: str
21
+ :return: 分红配送-公告列表
22
+ :rtype: pandas.DataFrame
23
+ """
24
+ url = "http://api.fund.eastmoney.com/f10/JJGG"
25
+ headers = {
26
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
27
+ "Chrome/80.0.3987.149 Safari/537.36",
28
+ "Referer": f"http://fundf10.eastmoney.com/jjgg_{symbol}_2.html",
29
+ }
30
+ params = {
31
+ "fundcode": symbol,
32
+ "pageIndex": "1",
33
+ "pageSize": "1000",
34
+ "type": "2",
35
+ "_": round(time.time() * 1000),
36
+ }
37
+ r = requests.get(url, params=params, headers=headers)
38
+ data_json = r.json()
39
+ temp_df = pd.DataFrame(data_json["Data"])
40
+ temp_df.columns = [
41
+ "基金代码",
42
+ "公告标题",
43
+ "基金名称",
44
+ "_",
45
+ "_",
46
+ "公告日期",
47
+ "_",
48
+ "报告ID",
49
+ ]
50
+ temp_df = temp_df[["基金代码", "公告标题", "基金名称", "公告日期", "报告ID"]]
51
+ temp_df.sort_values(by=["公告日期"], inplace=True, ignore_index=True)
52
+ temp_df["公告日期"] = pd.to_datetime(temp_df["公告日期"], errors="coerce").dt.date
53
+ return temp_df
54
+
55
+
56
+ def fund_announcement_report_em(symbol: str = "000001") -> pd.DataFrame:
57
+ """
58
+ 东方财富网站-天天基金网-基金档案-基金公告-定期报告
59
+ https://fundf10.eastmoney.com/jjgg_000001_3.html
60
+ :param symbol: 基金代码; 可以通过调用 ak.fund_name_em() 接口获取
61
+ :type symbol: str
62
+ :return: 定期报告-公告列表
63
+ :rtype: pandas.DataFrame
64
+ """
65
+ url = "http://api.fund.eastmoney.com/f10/JJGG"
66
+ headers = {
67
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
68
+ "Chrome/80.0.3987.149 Safari/537.36",
69
+ "Referer": f"http://fundf10.eastmoney.com/jjgg_{symbol}_3.html",
70
+ }
71
+ params = {
72
+ "fundcode": symbol,
73
+ "pageIndex": "1",
74
+ "pageSize": "1000",
75
+ "type": "3",
76
+ "_": round(time.time() * 1000),
77
+ }
78
+ r = requests.get(url, params=params, headers=headers)
79
+ data_json = r.json()
80
+ temp_df = pd.DataFrame(data_json["Data"])
81
+ temp_df.columns = [
82
+ "基金代码",
83
+ "公告标题",
84
+ "基金名称",
85
+ "_",
86
+ "_",
87
+ "公告日期",
88
+ "_",
89
+ "报告ID",
90
+ ]
91
+ temp_df = temp_df[["基金代码", "公告标题", "基金名称", "公告日期", "报告ID"]]
92
+ temp_df.sort_values(by=["公告日期"], inplace=True, ignore_index=True)
93
+ temp_df["公告日期"] = pd.to_datetime(temp_df["公告日期"], errors="coerce").dt.date
94
+ return temp_df
95
+
96
+
97
+ def fund_announcement_personnel_em(symbol: str = "000001") -> pd.DataFrame:
98
+ """
99
+ 东方财富网站-天天基金网-基金档案-基金公告-人事调整
100
+ https://fundf10.eastmoney.com/jjgg_000001_4.html
101
+ :param symbol: 基金代码; 可以通过调用 ak.fund_name_em() 接口获取
102
+ :type symbol: str
103
+ :return: 人事调整-公告列表
104
+ :rtype: pandas.DataFrame
105
+ """
106
+ url = "http://api.fund.eastmoney.com/f10/JJGG"
107
+ headers = {
108
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36",
109
+ "Referer": f"http://fundf10.eastmoney.com/jjgg_{symbol}_4.html",
110
+ }
111
+ params = {
112
+ "fundcode": symbol,
113
+ "pageIndex": "1",
114
+ "pageSize": "1000",
115
+ "type": "4",
116
+ "_": round(time.time() * 1000),
117
+ }
118
+ r = requests.get(url, params=params, headers=headers)
119
+ data_json = r.json()
120
+ temp_df = pd.DataFrame(data_json["Data"])
121
+ temp_df.columns = [
122
+ "基金代码",
123
+ "公告标题",
124
+ "基金名称",
125
+ "_",
126
+ "_",
127
+ "公告日期",
128
+ "_",
129
+ "报告ID",
130
+ ]
131
+ temp_df = temp_df[["基金代码", "公告标题", "基金名称", "公告日期", "报告ID"]]
132
+ temp_df.sort_values(by=["公告日期"], inplace=True, ignore_index=True)
133
+ temp_df["公告日期"] = pd.to_datetime(temp_df["公告日期"], errors="coerce").dt.date
134
+ return temp_df
135
+
136
+
137
+ if __name__ == "__main__":
138
+ fund_announcement_dividend_em_df = fund_announcement_dividend_em(symbol="000001")
139
+ print(fund_announcement_dividend_em_df)
140
+
141
+ fund_announcement_report_em_df = fund_announcement_report_em(symbol="000001")
142
+ print(fund_announcement_report_em_df)
143
+
144
+ fund_announcement_personnel_em_df = fund_announcement_personnel_em(symbol="000001")
145
+ print(fund_announcement_personnel_em_df)
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2025/7/17 18:00
4
+ Date: 2025/9/20 18:00
5
5
  Desc: 99 期货网-大宗商品库存数据
6
6
  https://www.99qh.com/
7
7
  """
@@ -63,8 +63,8 @@ def futures_inventory_99(symbol: str = "豆一") -> pd.DataFrame:
63
63
  url = "https://centerapi.fx168api.com/app/qh/api/stock/trend"
64
64
  headers = {
65
65
  "Content-Type": "application/json;charset=UTF-8",
66
- "_pcc": "b5WbgGLuHSaCqsT0tLarJyz8LVwTZfgal9g4NF+d7nVgVnfSdREw3FL63OKAy0MgLJ+rQlkGp/g6ICVCl7FwsqAEJJ9/"
67
- "sRi4PAvb5cTo4jZH40RV2UbZU96HjDjX32tkXVyILyz3YrRD2lr/ccRK+J97U0ohRPy7E3Zjr1aFYUM=",
66
+ "_pcc": "oCs6gFrFr91rvDedcUMm4ZlFMESB+Ur2ZaPLHUPGM0AcbM8CqJ3JQ7OsYAb/i6rjc9936EDAFHq3Vy"
67
+ "YnrPw0pu8RZH6T487oyof7orI3awLt8Ih31Y5uVNzPO2AKDQcud1a4D0/90hu6ZykAW/f+3lVzqaY0Fv8c8jJV/Vg+x/M=",
68
68
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
69
69
  "Chrome/58.0.3029.110 Safari/537.3",
70
70
  "referer": "https://www.99qh.com",
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2023/4/5 22:05
4
+ Date: 2025/9/20 18:05
5
5
  Desc: 乐估乐股-底部研究-巴菲特指标
6
6
  https://legulegu.com/stockdata/marketcap-gdp
7
7
  """
@@ -50,7 +50,8 @@ def stock_buffett_index_lg() -> pd.DataFrame:
50
50
  "总历史分位数",
51
51
  ]
52
52
  ]
53
- temp_df["日期"] = pd.to_datetime(temp_df["日期"], unit="ms").dt.date
53
+ temp_df["日期"] = pd.to_datetime(temp_df["日期"], unit="ms")
54
+ temp_df["日期"] = pd.to_datetime(temp_df["日期"] + pd.Timedelta(hours=8)).dt.date
54
55
  temp_df["收盘价"] = pd.to_numeric(temp_df["收盘价"], errors="coerce")
55
56
  temp_df["总市值"] = pd.to_numeric(temp_df["总市值"], errors="coerce")
56
57
  temp_df["GDP"] = pd.to_numeric(temp_df["GDP"], errors="coerce")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: akshare
3
- Version: 1.17.52
3
+ Version: 1.17.54
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=PesWSfNwtNVGeSTnm56pqJgu8z3Wv5fYlULUmOsDVl8,197891
1
+ akshare/__init__.py,sha256=BZx_djehMx3d8Ypt2NxdEV_ILgkICpKFcW9-ZGaU13E,198235
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
@@ -87,7 +87,7 @@ akshare/fortune/fortune_hurun.py,sha256=TKwC1C4tDH3M8dyG-cE3gObit8nNOPOKEfERW88I
87
87
  akshare/fortune/fortune_xincaifu_500.py,sha256=GNg14YJraS-Ywarbs-tUWvQOiSt3vKOrm2gddcmfMzI,1869
88
88
  akshare/fund/__init__.py,sha256=RMTf1bT5EOE3ttWpn3hGu1LtUmsVxDoa0W7W0gXHOy8,81
89
89
  akshare/fund/fund_amac.py,sha256=Dml3EgpJhmVgkttb0OdaWN41ynOCIbJ0-1qAPDWF0oo,33800
90
- akshare/fund/fund_announcement.py,sha256=_i1iN_1gYfyDU_7Lrzi5_nNFLhQ8hWzFsLu6WPDCxCM,1849
90
+ akshare/fund/fund_announcement_em.py,sha256=ZBG58K-YQcvbsSI7qniuKXM0G9h9ZHm-EqrxK_1ag6g,5068
91
91
  akshare/fund/fund_aum_em.py,sha256=L5WtgBDkDCmLaTbRrYAzHywYOIEtIzHeykdyVsMZ2js,3659
92
92
  akshare/fund/fund_em.py,sha256=tsccHx2Sn1fktP0RlcQ-T_SRaertdhfGbm4LgFEQv4A,41895
93
93
  akshare/fund/fund_etf_em.py,sha256=3Jeexgz17HaEg_EWvo4rrSdb_4UXSTQVJN74Km5wn2w,17114
@@ -121,7 +121,7 @@ akshare/futures/futures_hf_em.py,sha256=juiJauO7T6YTHXIS--ZDW-Idk73KMOrXgRBi1xEi
121
121
  akshare/futures/futures_hist_em.py,sha256=TuHdpcfVxdqoHzg5-JwppLUQgwuaz_LG2UZBlgf73i4,6509
122
122
  akshare/futures/futures_hq_sina.py,sha256=HZBAve1yxp1fnwgEy_2CqVoniTXRkt8KI3REt0N0TiY,9575
123
123
  akshare/futures/futures_index_ccidx.py,sha256=_kgWioCOpFNn8WUcL5qKHGb3rUHzrbrx2AszprKpBh4,4460
124
- akshare/futures/futures_inventory_99.py,sha256=QB-aVb5gYPtY_jQpW4KTmt5YsZH45ltd82atVpyPDuM,3424
124
+ akshare/futures/futures_inventory_99.py,sha256=lg0ZO3s4uB0EinXM0_Dt74LIZtaWyhlyVANQJekxqJo,3424
125
125
  akshare/futures/futures_inventory_em.py,sha256=OwgONgg3Tu1WCIADcH6LpahDedAPz0iQcmNJb4ma5Dw,2620
126
126
  akshare/futures/futures_news_shmet.py,sha256=1epZ3MwDc-T2n1ie4SSDfvUaBiMpSL0Q_xb2VoZ_llU,2465
127
127
  akshare/futures/futures_roll_yield.py,sha256=nPskFCFqbvWKgB6nXr5f8zRQDo4T70jpBrrPvO5uyfA,6140
@@ -309,7 +309,7 @@ akshare/stock_feature/stock_all_pb.py,sha256=hshUYjNXPPYf3LYj4N0zeT9Q9kxpdBhQVLB
309
309
  akshare/stock_feature/stock_analyst_em.py,sha256=dFUQpgOZUxUmvICFBLRYJP7rjlILStGwm8L0LLbya7M,9406
310
310
  akshare/stock_feature/stock_board_concept_ths.py,sha256=SsJ_kPbs4v9Tge25GLe3LA-meN-c_E_nAGHF3Hfi0IY,11265
311
311
  akshare/stock_feature/stock_board_industry_ths.py,sha256=c22JP9MJGncLaqvBmkAxHUz3HKNMCKf58Rug9n2vlAU,15102
312
- akshare/stock_feature/stock_buffett_index_lg.py,sha256=kPE3HKsmqsk-yf60S3gd8EtUJld5yk8zLA7UDVcxmog,2029
312
+ akshare/stock_feature/stock_buffett_index_lg.py,sha256=Zu-SkHoLG5gE3smrZfzEftTzvGmWVWZQjl7BIf3P5CE,2112
313
313
  akshare/stock_feature/stock_classify_sina.py,sha256=a_AfXPTfb1GwljesjaW4Nifc0BxZ5bib25HygfI314I,3175
314
314
  akshare/stock_feature/stock_comment_em.py,sha256=MI6vKakNFNe0t7fS8Ib94dnKSWHh1s1iIlCs3UtmhXQ,11825
315
315
  akshare/stock_feature/stock_concept_futu.py,sha256=jKJ9mfdJXgXwcMb3gVpbDl5ivr-zcMkuGO7jjgyA3os,6228
@@ -397,10 +397,10 @@ akshare/utils/func.py,sha256=4cwmXFztU86yJNONJ40KJLvsIEQHBbct4iMm3zT2v30,2315
397
397
  akshare/utils/multi_decrypt.py,sha256=aWoL2iEPeuXHJg8-n7OtMKixLnIhfzepACgxfrfmQB4,1657
398
398
  akshare/utils/token_process.py,sha256=nGtgnZGRprXJkhLXH8mcUH4TgIFwzsTOb0EaEPa0Euo,667
399
399
  akshare/utils/tqdm.py,sha256=MuPNwcswkOGjwWQOMWXi9ZvQ_RmW4obCWRj2i7HM7FE,847
400
- akshare-1.17.52.dist-info/licenses/LICENSE,sha256=s18q7gS2g1F9-Cnk5eqrJG4OGWSwSxVEMzIuT6HyYNY,1073
400
+ akshare-1.17.54.dist-info/licenses/LICENSE,sha256=s18q7gS2g1F9-Cnk5eqrJG4OGWSwSxVEMzIuT6HyYNY,1073
401
401
  tests/__init__.py,sha256=gNzhlO0UPjFq6Ieb38kaVIODXv4cTDByrdohAZnDYt4,82
402
402
  tests/test_func.py,sha256=j1MGYbZI2if2j_LY1S4FLsf4qfq4NwVqD5wmRlv5Log,832
403
- akshare-1.17.52.dist-info/METADATA,sha256=pIThdE2IEKh_wrvFEJzKjpor5Kt7jbEW1Slun-_FRmY,12593
404
- akshare-1.17.52.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
405
- akshare-1.17.52.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
406
- akshare-1.17.52.dist-info/RECORD,,
403
+ akshare-1.17.54.dist-info/METADATA,sha256=l5TbvPpm4VQMc600GoNVZn06qonDNK94BhT89GybA9A,12593
404
+ akshare-1.17.54.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
405
+ akshare-1.17.54.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
406
+ akshare-1.17.54.dist-info/RECORD,,
@@ -1,57 +0,0 @@
1
- #!/usr/bin/env python
2
- # -*- coding:utf-8 -*-
3
- """
4
- Date: 2023/7/19 17:40
5
- Desc: 东方财富网站-天天基金网-基金档案-基金公告-人事调整
6
- https://fundf10.eastmoney.com/jjgg_000001.html
7
- """
8
-
9
- import time
10
-
11
- import pandas as pd
12
- import requests
13
-
14
-
15
- def fund_announcement_personnel_em(symbol: str = "000001") -> pd.DataFrame:
16
- """
17
- 东方财富网站-天天基金网-基金档案-基金公告-人事调整
18
- https://fundf10.eastmoney.com/jjgg_000001_4.html
19
- :param symbol: 基金代码; 可以通过调用 ak.fund_name_em() 接口获取
20
- :type symbol: str
21
- :return: 人事调整-公告列表
22
- :rtype: pandas.DataFrame
23
- """
24
- url = "http://api.fund.eastmoney.com/f10/JJGG"
25
- headers = {
26
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36",
27
- "Referer": f"http://fundf10.eastmoney.com/jjgg_{symbol}_4.html",
28
- }
29
- params = {
30
- "fundcode": symbol,
31
- "pageIndex": "1",
32
- "pageSize": "1000",
33
- "type": "4",
34
- "_": round(time.time() * 1000),
35
- }
36
- r = requests.get(url, params=params, headers=headers)
37
- data_json = r.json()
38
- temp_df = pd.DataFrame(data_json["Data"])
39
- temp_df.columns = [
40
- "基金代码",
41
- "公告标题",
42
- "基金名称",
43
- "_",
44
- "_",
45
- "公告日期",
46
- "_",
47
- "报告ID",
48
- ]
49
- temp_df = temp_df[["基金代码", "公告标题", "基金名称", "公告日期", "报告ID"]]
50
- temp_df.sort_values(["公告日期"], inplace=True, ignore_index=True)
51
- temp_df["公告日期"] = pd.to_datetime(temp_df["公告日期"]).dt.date
52
- return temp_df
53
-
54
-
55
- if __name__ == "__main__":
56
- fund_announcement_personnel_em_df = fund_announcement_personnel_em(symbol="000001")
57
- print(fund_announcement_personnel_em_df)