akshare 1.16.18__py3-none-any.whl → 1.16.19__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 +2 -1
- akshare/stock_fundamental/stock_profit_forecast_ths.py +81 -39
- {akshare-1.16.18.dist-info → akshare-1.16.19.dist-info}/METADATA +3 -2
- {akshare-1.16.18.dist-info → akshare-1.16.19.dist-info}/RECORD +7 -7
- {akshare-1.16.18.dist-info → akshare-1.16.19.dist-info}/LICENSE +0 -0
- {akshare-1.16.18.dist-info → akshare-1.16.19.dist-info}/WHEEL +0 -0
- {akshare-1.16.18.dist-info → akshare-1.16.19.dist-info}/top_level.txt +0 -0
akshare/__init__.py
CHANGED
@@ -3027,9 +3027,10 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
|
|
3027
3027
|
1.16.16 fix: fix stock_board_concept_spot_em interface
|
3028
3028
|
1.16.17 fix: fix stock_research_report_em interface
|
3029
3029
|
1.16.18 fix: fix stock_board_concept_spot_em interface
|
3030
|
+
1.16.19 fix: fix stock_profit_forecast_ths interface
|
3030
3031
|
"""
|
3031
3032
|
|
3032
|
-
__version__ = "1.16.
|
3033
|
+
__version__ = "1.16.19"
|
3033
3034
|
__author__ = "AKFamily"
|
3034
3035
|
|
3035
3036
|
import sys
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env python
|
2
2
|
# -*- coding:utf-8 -*-
|
3
3
|
"""
|
4
|
-
Date:
|
4
|
+
Date: 2025/3/1 15:00
|
5
5
|
Desc: 同花顺-盈利预测
|
6
6
|
https://basic.10jqka.com.cn/new/600519/worth.html
|
7
7
|
"""
|
@@ -30,44 +30,86 @@ def stock_profit_forecast_ths(
|
|
30
30
|
url = f"https://basic.10jqka.com.cn/new/{symbol}/worth.html"
|
31
31
|
r = requests.get(url, headers=headers)
|
32
32
|
r.encoding = "gbk"
|
33
|
-
if
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
columns_list
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
33
|
+
if "本年度暂无机构做出业绩预测" in r.text:
|
34
|
+
# 处理 `本年度暂无机构做出业绩预测` 的情况
|
35
|
+
if indicator == "预测年报每股收益":
|
36
|
+
return pd.DataFrame()
|
37
|
+
elif indicator == "预测年报净利润":
|
38
|
+
return pd.DataFrame()
|
39
|
+
elif indicator == "业绩预测详表-机构":
|
40
|
+
temp_df = pd.read_html(StringIO(r.text))[0]
|
41
|
+
columns_list = []
|
42
|
+
for item in temp_df.columns:
|
43
|
+
columns_list.append(item[1])
|
44
|
+
columns_list[2] = "预测年报每股收益" + columns_list[2]
|
45
|
+
columns_list[3] = "预测年报每股收益" + columns_list[3]
|
46
|
+
columns_list[4] = "预测年报每股收益" + columns_list[4]
|
47
|
+
columns_list[5] = "预测年报净利润" + columns_list[5]
|
48
|
+
columns_list[6] = "预测年报净利润" + columns_list[6]
|
49
|
+
columns_list[7] = "预测年报净利润" + columns_list[7]
|
50
|
+
temp_df.columns = columns_list
|
51
|
+
temp_df["报告日期"] = pd.to_datetime(
|
52
|
+
temp_df["报告日期"], errors="coerce"
|
53
|
+
).dt.date
|
54
|
+
return temp_df
|
55
|
+
elif indicator == "业绩预测详表-详细指标预测":
|
56
|
+
temp_df = pd.read_html(StringIO(r.text))[1]
|
57
|
+
temp_df.columns = [
|
58
|
+
item.replace("(", "-").replace(")", "") for item in temp_df.columns
|
59
|
+
]
|
60
|
+
return temp_df
|
61
|
+
else:
|
62
|
+
return pd.DataFrame()
|
63
|
+
else:
|
64
|
+
if indicator == "预测年报每股收益":
|
65
|
+
temp_df = pd.read_html(StringIO(r.text))[0]
|
66
|
+
temp_df["年度"] = temp_df["年度"].astype(str)
|
67
|
+
return temp_df
|
68
|
+
elif indicator == "预测年报净利润":
|
69
|
+
temp_df = pd.read_html(StringIO(r.text))[1]
|
70
|
+
temp_df["年度"] = temp_df["年度"].astype(str)
|
71
|
+
return temp_df
|
72
|
+
elif indicator == "业绩预测详表-机构":
|
73
|
+
temp_df = pd.read_html(StringIO(r.text))[2]
|
74
|
+
columns_list = []
|
75
|
+
for item in temp_df.columns:
|
76
|
+
columns_list.append(item[1])
|
77
|
+
columns_list[2] = "预测年报每股收益" + columns_list[2]
|
78
|
+
columns_list[3] = "预测年报每股收益" + columns_list[3]
|
79
|
+
columns_list[4] = "预测年报每股收益" + columns_list[4]
|
80
|
+
columns_list[5] = "预测年报净利润" + columns_list[5]
|
81
|
+
columns_list[6] = "预测年报净利润" + columns_list[6]
|
82
|
+
columns_list[7] = "预测年报净利润" + columns_list[7]
|
83
|
+
temp_df.columns = columns_list
|
84
|
+
temp_df["报告日期"] = pd.to_datetime(temp_df["报告日期"]).dt.date
|
85
|
+
return temp_df
|
86
|
+
elif indicator == "业绩预测详表-详细指标预测":
|
87
|
+
temp_df = pd.read_html(StringIO(r.text))[3]
|
88
|
+
temp_df.columns = [
|
89
|
+
item.replace("(", "-").replace(")", "") for item in temp_df.columns
|
90
|
+
]
|
91
|
+
return temp_df
|
92
|
+
else:
|
93
|
+
return pd.DataFrame()
|
61
94
|
|
62
95
|
|
63
96
|
if __name__ == "__main__":
|
64
|
-
|
65
|
-
"预测年报每股收益"
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
97
|
+
stock_profit_forecast_ths_df = stock_profit_forecast_ths(
|
98
|
+
symbol="600519", indicator="预测年报每股收益"
|
99
|
+
)
|
100
|
+
print(stock_profit_forecast_ths_df)
|
101
|
+
|
102
|
+
stock_profit_forecast_ths_df = stock_profit_forecast_ths(
|
103
|
+
symbol="600519", indicator="预测年报净利润"
|
104
|
+
)
|
105
|
+
print(stock_profit_forecast_ths_df)
|
106
|
+
|
107
|
+
stock_profit_forecast_ths_df = stock_profit_forecast_ths(
|
108
|
+
symbol="600519", indicator="业绩预测详表-机构"
|
109
|
+
)
|
110
|
+
print(stock_profit_forecast_ths_df)
|
111
|
+
|
112
|
+
stock_profit_forecast_ths_df = stock_profit_forecast_ths(
|
113
|
+
symbol="600519", indicator="业绩预测详表-详细指标预测"
|
114
|
+
)
|
115
|
+
print(stock_profit_forecast_ths_df)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: akshare
|
3
|
-
Version: 1.16.
|
3
|
+
Version: 1.16.19
|
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
|
@@ -50,7 +50,8 @@ Dynamic: requires-dist
|
|
50
50
|
Dynamic: requires-python
|
51
51
|
Dynamic: summary
|
52
52
|
|
53
|
-
**欢迎加入专注于财经数据和量化投资的知识社区,获取《AKShare
|
53
|
+
**欢迎加入专注于财经数据和量化投资的知识社区,获取《AKShare-财经数据宝典》,其汇集了财经数据的使用经验和指南,还独家分享了
|
54
|
+
众多国内外财经数据源的使用和注意事项,请点击[了解更多](https://akshare.akfamily.xyz/learn.html)**
|
54
55
|
|
55
56
|
**量化投研视频课程:《PyBroker-入门及实战》已经上架!《PyBroker-进阶及实战》正在更新!**
|
56
57
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
akshare/__init__.py,sha256=
|
1
|
+
akshare/__init__.py,sha256=RyTyFqcqJnmNAIYwc10cb_7jsD9FjI4I5SPmUDQU8No,188757
|
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
|
@@ -364,7 +364,7 @@ akshare/stock_fundamental/stock_mda_ym.py,sha256=BXJJ-39I7GzJ7y_8k_pqUjvUrg1bSla
|
|
364
364
|
akshare/stock_fundamental/stock_notice.py,sha256=tGxGz1Usr3qQzgs1Y71imDPkqJz5ooismz3BiaBwQR0,3928
|
365
365
|
akshare/stock_fundamental/stock_profit_forecast_em.py,sha256=_ZlWkyz-FswlICbjk_YiHjRwrlLftm_piQIPFkZMrjE,5701
|
366
366
|
akshare/stock_fundamental/stock_profit_forecast_hk_etnet.py,sha256=dQaqxi0wXOidIuAxjUzZy_gdy16HEi20I3jEdpNM3qc,5179
|
367
|
-
akshare/stock_fundamental/stock_profit_forecast_ths.py,sha256=
|
367
|
+
akshare/stock_fundamental/stock_profit_forecast_ths.py,sha256=8fzPGyBcxWSvoa7UZke9bDn7P0neSKrkjHAehVgLHJM,4682
|
368
368
|
akshare/stock_fundamental/stock_recommend.py,sha256=44l1uLofwO-nsDB4oAYWpHQA7_qhXLOo1BurjUvmXzY,4501
|
369
369
|
akshare/stock_fundamental/stock_register_em.py,sha256=QxQh7kddjXLainVVugvOCYG8nDyOv31I8npQmXw3Ccs,15643
|
370
370
|
akshare/stock_fundamental/stock_restricted_em.py,sha256=e5G3oiZBf9d_a8quX5nLzn3RggeF4yX3j-h3nAZBRmA,13378
|
@@ -381,8 +381,8 @@ akshare/utils/token_process.py,sha256=K4rGXjh_tgugbRcyOK2h2x0jP3PT65IIK7nxhUKhOe
|
|
381
381
|
akshare/utils/tqdm.py,sha256=MuPNwcswkOGjwWQOMWXi9ZvQ_RmW4obCWRj2i7HM7FE,847
|
382
382
|
tests/__init__.py,sha256=gNzhlO0UPjFq6Ieb38kaVIODXv4cTDByrdohAZnDYt4,82
|
383
383
|
tests/test_func.py,sha256=j1MGYbZI2if2j_LY1S4FLsf4qfq4NwVqD5wmRlv5Log,832
|
384
|
-
akshare-1.16.
|
385
|
-
akshare-1.16.
|
386
|
-
akshare-1.16.
|
387
|
-
akshare-1.16.
|
388
|
-
akshare-1.16.
|
384
|
+
akshare-1.16.19.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
|
385
|
+
akshare-1.16.19.dist-info/METADATA,sha256=TeABNu4wzkETOdjWdj6uxV9Om9EfG8HZHUqM2aBaiPE,13847
|
386
|
+
akshare-1.16.19.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
|
387
|
+
akshare-1.16.19.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
|
388
|
+
akshare-1.16.19.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|