diff --git a/akshare/__init__.py b/akshare/__init__.py index 60f5e31c115..f197799d03a 100644 --- a/akshare/__init__.py +++ b/akshare/__init__.py @@ -2581,9 +2581,10 @@ 1.11.65 fix: fix futures_index_ccidx interface 1.11.66 fix: fix fund_scale_structured_sina interface 1.11.67 fix: fix currency_boc_sina interface +1.11.68 fix: fix fund_aum_em interface """ -__version__ = "1.11.67" +__version__ = "1.11.68" __author__ = "AKFamily" import sys diff --git a/akshare/fund/fund_aum_em.py b/akshare/fund/fund_aum_em.py index 3c3ccff7776..75f2a1fc779 100644 --- a/akshare/fund/fund_aum_em.py +++ b/akshare/fund/fund_aum_em.py @@ -1,9 +1,11 @@ #!/usr/bin/env python # -*- coding:utf-8 -*- """ -Date: 2023/4/3 20:32 +Date: 2023/11/11 16:30 Desc: 东方财富-基金 """ +from io import StringIO + import pandas as pd import requests @@ -15,12 +17,12 @@ def fund_aum_em() -> pd.DataFrame: :return: 基金公司排名列表 :rtype: pandas.DataFrame """ - url = 'http://fund.eastmoney.com/Company/home/gspmlist' + url = 'https://fund.eastmoney.com/Company/home/gspmlist' params = { 'fundType': '0' } r = requests.get(url, params=params) - temp_df = pd.read_html(r.text)[0] + temp_df = pd.read_html(StringIO(r.text))[0] del temp_df['相关链接'] del temp_df['天相评级'] temp_df.columns = ['序号', '基金公司', '成立时间', '全部管理规模', '全部基金数', '全部经理数'] @@ -28,8 +30,9 @@ def fund_aum_em() -> pd.DataFrame: temp_df['全部管理规模'] = expanded_df.iloc[:, 0].str.replace(",", "") temp_df['更新日期'] = expanded_df.iloc[:, 1] temp_df['全部管理规模'] = pd.to_numeric(temp_df['全部管理规模'], errors="coerce") - temp_df['全部基金数'] = pd.to_numeric(temp_df['全部基金数']) - temp_df['全部经理数'] = pd.to_numeric(temp_df['全部经理数']) + temp_df['全部基金数'] = pd.to_numeric(temp_df['全部基金数'], errors="coerce") + temp_df['全部经理数'] = pd.to_numeric(temp_df['全部经理数'], errors="coerce") + temp_df['成立时间'] = pd.to_datetime(temp_df['成立时间'], errors="coerce").dt.date return temp_df @@ -40,7 +43,7 @@ def fund_aum_trend_em() -> pd.DataFrame: :return: 基金市场管理规模走势图 :rtype: pandas.DataFrame """ - url = 'http://fund.eastmoney.com/Company/home/GetFundTotalScaleForChart' + url = 'https://fund.eastmoney.com/Company/home/GetFundTotalScaleForChart' payload = { 'fundType': '0' } @@ -49,22 +52,24 @@ def fund_aum_trend_em() -> pd.DataFrame: temp_df = pd.DataFrame() temp_df['date'] = data_json['x'] temp_df['value'] = data_json['y'] + temp_df['date'] = pd.to_datetime(temp_df['date'], errors="coerce").dt.date + temp_df['value'] = pd.to_numeric(temp_df['value'], errors="coerce") return temp_df -def fund_aum_hist_em(year: str = "2019") -> pd.DataFrame: +def fund_aum_hist_em(year: str = "2023") -> pd.DataFrame: """ 东方财富-基金-基金公司历年管理规模排行列表 https://fund.eastmoney.com/Company/lsgm.html :return: 基金公司历年管理规模排行列表 :rtype: pandas.DataFrame """ - url = 'http://fund.eastmoney.com/Company/home/HistoryScaleTable' + url = 'https://fund.eastmoney.com/Company/home/HistoryScaleTable' params = { 'year': year } r = requests.get(url, params=params) - temp_df = pd.read_html(r.text)[0] + temp_df = pd.read_html(StringIO(r.text))[0] temp_df.columns = ['序号', '基金公司', '总规模', '股票型', '混合型', '债券型', '指数型', 'QDII', '货币型'] temp_df['总规模'] = pd.to_numeric(temp_df['总规模'], errors="coerce") temp_df['股票型'] = pd.to_numeric(temp_df['股票型'], errors="coerce") @@ -83,5 +88,5 @@ def fund_aum_hist_em(year: str = "2019") -> pd.DataFrame: fund_aum_trend_em_df = fund_aum_trend_em() print(fund_aum_trend_em_df) - fund_em_aum_hist_df = fund_aum_hist_em(year="2020") + fund_em_aum_hist_df = fund_aum_hist_em(year="2023") print(fund_em_aum_hist_df) diff --git a/docs/changelog.md b/docs/changelog.md index 467e968a52a..5028a9147d1 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -70,6 +70,10 @@ ## 更新说明详情 +1.11.68 fix: fix fund_aum_em interface + + 1. 修复 fund_aum_em 接口 + 1.11.67 fix: fix currency_boc_sina interface 1. 修复 currency_boc_sina 接口 @@ -3113,6 +3117,8 @@ ## 版本更新说明 +1.11.68 fix: fix fund_aum_em interface + 1.11.67 fix: fix currency_boc_sina interface 1.11.66 fix: fix fund_scale_structured_sina interface diff --git a/docs/data/fund/fund_public.md b/docs/data/fund/fund_public.md index f9cd95e7278..6083a1078d9 100644 --- a/docs/data/fund/fund_public.md +++ b/docs/data/fund/fund_public.md @@ -3176,18 +3176,19 @@ print(fund_aum_em_df) 数据示例 ``` - 序号 基金公司 成立时间 全部管理规模 全部基金数 全部经理数 更新日期 -0 1 易方达基金管理有限公司 2001-04-17 14413.25 392 61 06-28 -1 2 天弘基金管理有限公司 2004-11-08 12243.93 199 33 06-24 -2 3 广发基金管理有限公司 2003-08-05 9865.64 442 68 06-23 -3 4 汇添富基金管理股份有限公司 2005-02-03 9296.03 309 50 06-24 -4 5 南方基金管理股份有限公司 1998-03-06 8947.93 418 65 06-24 -.. ... ... ... ... ... ... ... -164 165 北京高华证券有限责任公司 2004-10-18 NaN 0 0 None -165 166 平安证券股份有限公司 1996-07-18 NaN 4 3 None -166 167 东海证券股份有限公司 1993-01-16 NaN 2 1 None -167 168 国海证券股份有限公司 1993-06-28 NaN 2 1 None -168 169 汇泉基金管理有限公司 2020-06-15 NaN 1 2 None + 序号 基金公司 成立时间 全部管理规模 全部基金数 全部经理数 更新日期 +0 1 易方达基金管理有限公司 2001-04-17 16599.27 632 81 11-08 +1 2 广发基金管理有限公司 2003-08-05 12701.86 660 82 11-10 +2 3 华夏基金管理有限公司 1998-04-09 12379.85 709 113 11-10 +3 4 南方基金管理股份有限公司 1998-03-06 10966.40 607 84 10-24 +4 5 天弘基金管理有限公司 2004-11-08 10486.77 334 46 11-01 +.. ... ... ... ... ... ... ... +200 201 国都证券股份有限公司 2001-12-28 0.41 2 2 09-30 +201 202 天风证券股份有限公司 2000-03-29 NaN 0 0 12-31 +202 203 国新证券股份有限公司 2007-09-07 NaN 0 0 03-31 +203 204 安信证券股份有限公司 2006-08-22 NaN 0 0 03-31 +204 205 东兴证券股份有限公司 2008-05-28 NaN 0 0 03-31 +[205 rows x 7 columns] ``` #### 基金规模走势 @@ -3263,7 +3264,7 @@ print(fund_aum_trend_em_df) | 名称 | 类型 | 描述 | |------|-----|-------------------------| -| year | str | year="2019"; 从 2001 年开始 | +| year | str | year="2023"; 从 2001 年开始 | 输出参数 @@ -3284,25 +3285,26 @@ print(fund_aum_trend_em_df) ```python import akshare as ak -fund_aum_hist_em_df = ak.fund_aum_hist_em(year="2020") +fund_aum_hist_em_df = ak.fund_aum_hist_em(year="2023") print(fund_aum_hist_em_df) ``` 数据示例 ``` - 序号 基金公司 总规模 ... 指数型 QDII 货币型 -0 1 天弘基金管理有限公司 14106.86 ... 415.47 7.31 12858.30 -1 2 易方达基金管理有限公司 11533.91 ... 1100.72 217.20 4198.96 -2 3 汇添富基金管理股份有限公司 7856.76 ... 529.67 55.59 2778.20 -3 4 南方基金管理股份有限公司 7723.45 ... 952.52 78.08 3559.41 -4 5 华夏基金管理有限公司 7562.78 ... 2010.63 169.72 2654.38 -.. ... ... ... ... ... ... ... -155 156 天风证券股份有限公司 0.71 ... NaN NaN NaN -156 157 天风(上海)证券资产管理有限公司 0.71 ... NaN NaN NaN -157 158 国都证券股份有限公司 0.61 ... NaN NaN NaN -158 159 明亚基金管理有限责任公司 0.55 ... NaN NaN NaN -159 160 东兴证券股份有限公司 0.18 ... 0.85 NaN 26.47 + 序号 基金公司 总规模 股票型 ... 债券型 指数型 QDII 货币型 +0 1 易方达基金管理有限公司 16514.20 2704.67 ... 3221.98 2343.89 763.82 6802.29 +1 2 广发基金管理有限公司 12633.03 1124.83 ... 2749.18 1179.12 394.54 6046.73 +2 3 华夏基金管理有限公司 12238.81 3551.49 ... 1924.34 3430.87 785.84 4458.91 +3 4 南方基金管理股份有限公司 10853.73 1266.44 ... 2198.48 1453.78 83.07 5791.66 +4 5 天弘基金管理有限公司 10479.03 817.96 ... 1908.11 862.39 153.29 7405.90 +.. ... ... ... ... ... ... ... ... ... +194 195 瑞达基金管理有限公司 1.05 NaN ... NaN NaN NaN NaN +195 196 华创证券有限责任公司 1.03 NaN ... 1.03 NaN NaN NaN +196 197 明亚基金管理有限责任公司 1.00 0.47 ... NaN 0.47 NaN NaN +197 198 华鑫证券有限责任公司 0.72 NaN ... 0.72 NaN NaN NaN +198 199 国都证券股份有限公司 0.41 NaN ... NaN NaN NaN NaN +[199 rows x 9 columns] ``` ### REITs