akshare 1.17.53__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
@@ -3160,9 +3160,10 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
3160
3160
  1.17.51 fix: fix fund_manager_em interface
3161
3161
  1.17.52 fix: fix fund_overview_em interface
3162
3162
  1.17.53 fix: fix reits_hist_min_em interface
3163
+ 1.17.54 fix: fix fund_announcement_dividend_em interface
3163
3164
  """
3164
3165
 
3165
- __version__ = "1.17.53"
3166
+ __version__ = "1.17.54"
3166
3167
  __author__ = "AKFamily"
3167
3168
 
3168
3169
  import sys
@@ -3521,10 +3522,20 @@ from akshare.stock_feature.stock_irm_cninfo import (
3521
3522
  stock_irm_ans_cninfo,
3522
3523
  )
3523
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
+
3524
3535
  """
3525
3536
  基金公告-人事公告
3526
3537
  """
3527
- from akshare.fund.fund_announcement import fund_announcement_personnel_em
3538
+ from akshare.fund.fund_announcement_em import fund_announcement_personnel_em
3528
3539
 
3529
3540
  """
3530
3541
  新浪财经-ESG评级中心
@@ -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.53
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=ECO5yVs34YJCz7uFnTv9ML4PzoMv5XGsqvy_xM8xWsI,197955
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.53.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.53.dist-info/METADATA,sha256=eq7AcpLJndMaXhaaJGA_L0pe3nHhRjmO0U0CS5XM5sY,12593
404
- akshare-1.17.53.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
405
- akshare-1.17.53.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
406
- akshare-1.17.53.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)