akshare 1.16.85__py3-none-any.whl → 1.16.87__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 +4 -12
- akshare/index/index_yw.py +53 -75
- akshare/stock/stock_dividend_cninfo.py +3 -1
- akshare/stock/stock_summary.py +14 -2
- akshare/stock_fundamental/stock_zygc.py +1 -60
- {akshare-1.16.85.dist-info → akshare-1.16.87.dist-info}/METADATA +1 -1
- {akshare-1.16.85.dist-info → akshare-1.16.87.dist-info}/RECORD +10 -13
- {akshare-1.16.85.dist-info → akshare-1.16.87.dist-info}/WHEEL +1 -1
- akshare/sport/__init__.py +0 -6
- akshare/sport/sport_olympic.py +0 -28
- akshare/stock_fundamental/stock_mda_ym.py +0 -42
- {akshare-1.16.85.dist-info → akshare-1.16.87.dist-info}/licenses/LICENSE +0 -0
- {akshare-1.16.85.dist-info → akshare-1.16.87.dist-info}/top_level.txt +0 -0
akshare/__init__.py
CHANGED
@@ -3093,9 +3093,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
|
|
3093
3093
|
1.16.83 fix: fix stock_individual_info_em interface
|
3094
3094
|
1.16.84 fix: fix stock_fhps_detail_ths interface
|
3095
3095
|
1.16.85 fix: fix stock_dividend_cninfo interface
|
3096
|
+
1.16.86 fix: fix index_yw interface
|
3097
|
+
1.16.87 fix: fix stock_zygc_em interface
|
3096
3098
|
"""
|
3097
3099
|
|
3098
|
-
__version__ = "1.16.
|
3100
|
+
__version__ = "1.16.87"
|
3099
3101
|
__author__ = "AKFamily"
|
3100
3102
|
|
3101
3103
|
import sys
|
@@ -3669,15 +3671,10 @@ from akshare.bond.bond_cbond import (
|
|
3669
3671
|
"""
|
3670
3672
|
from akshare.stock_feature.stock_classify_sina import stock_classify_sina
|
3671
3673
|
|
3672
|
-
"""
|
3673
|
-
管理层讨论与分析
|
3674
|
-
"""
|
3675
|
-
from akshare.stock_fundamental.stock_mda_ym import stock_mda_ym
|
3676
|
-
|
3677
3674
|
"""
|
3678
3675
|
主营构成
|
3679
3676
|
"""
|
3680
|
-
from akshare.stock_fundamental.stock_zygc import
|
3677
|
+
from akshare.stock_fundamental.stock_zygc import stock_zygc_em
|
3681
3678
|
|
3682
3679
|
"""
|
3683
3680
|
人民币汇率中间价
|
@@ -4076,11 +4073,6 @@ from akshare.reits.reits_basic import reits_realtime_em, reits_hist_em
|
|
4076
4073
|
from akshare.stock_feature.stock_ttm_lyr import stock_a_ttm_lyr
|
4077
4074
|
from akshare.stock_feature.stock_all_pb import stock_a_all_pb
|
4078
4075
|
|
4079
|
-
"""
|
4080
|
-
奥运奖牌
|
4081
|
-
"""
|
4082
|
-
from akshare.sport.sport_olympic import sport_olympic_hist
|
4083
|
-
|
4084
4076
|
"""
|
4085
4077
|
宏观-加拿大
|
4086
4078
|
"""
|
akshare/index/index_yw.py
CHANGED
@@ -1,14 +1,18 @@
|
|
1
1
|
#!/usr/bin/env python
|
2
2
|
# -*- coding:utf-8 -*-
|
3
3
|
"""
|
4
|
-
Date:
|
4
|
+
Date: 2025/5/3
|
5
5
|
Desc: 义乌小商品指数
|
6
|
-
|
6
|
+
目前可以通过这些接口直接请求到 JSON 数据
|
7
|
+
周价格指数:https://apiserver.chinagoods.com/yiwuindex/v1/active/industry/class/history/piweek?gcCode=
|
8
|
+
月价格指数:https://apiserver.chinagoods.com/yiwuindex/v1/active/industry/class/history/month?gcCode=
|
9
|
+
月景气指数:https://apiserver.chinagoods.com/yiwuindex/v1/active/industry/class/history/bi?gcCode=
|
10
|
+
上涨:https://apiserver.chinagoods.com/yiwuindex/v1/active/industry/class/get/rise
|
11
|
+
下跌:https://apiserver.chinagoods.com/yiwuindex/v1/active/industry/class/get/drop
|
7
12
|
"""
|
8
13
|
|
9
14
|
import pandas as pd
|
10
15
|
import requests
|
11
|
-
from bs4 import BeautifulSoup
|
12
16
|
|
13
17
|
|
14
18
|
def index_yw(symbol: str = "月景气指数") -> pd.DataFrame:
|
@@ -21,85 +25,58 @@ def index_yw(symbol: str = "月景气指数") -> pd.DataFrame:
|
|
21
25
|
:rtype: pandas.DataFrame
|
22
26
|
"""
|
23
27
|
import urllib3
|
24
|
-
|
25
|
-
# 禁用InsecureRequestWarning
|
26
28
|
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
27
|
-
|
28
|
-
"周价格指数": 1,
|
29
|
-
"月价格指数": 3,
|
30
|
-
"月景气指数": 5,
|
31
|
-
}
|
32
|
-
url = "https://www.ywindex.com/Home/Product/index/"
|
33
|
-
res = requests.get(url, verify=False)
|
34
|
-
soup = BeautifulSoup(res.text, features="lxml")
|
35
|
-
table_name = (
|
36
|
-
soup.find_all(attrs={"class": "tablex"})[name_num_dict[symbol]]
|
37
|
-
.get_text()
|
38
|
-
.split("\n\n\n\n\n")[2]
|
39
|
-
.split("\n")
|
40
|
-
)
|
41
|
-
table_content = (
|
42
|
-
soup.find_all(attrs={"class": "tablex"})[name_num_dict[symbol]]
|
43
|
-
.get_text()
|
44
|
-
.split("\n\n\n\n\n")[3]
|
45
|
-
.split("\n\n")
|
46
|
-
)
|
29
|
+
|
47
30
|
if symbol == "月景气指数":
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
return table_df
|
61
|
-
elif symbol == "周价格指数":
|
62
|
-
table_df = pd.DataFrame([item.split("\n") for item in table_content]).iloc[
|
63
|
-
:, :6
|
64
|
-
]
|
65
|
-
table_df.columns = table_name
|
66
|
-
table_df["期数"] = pd.to_datetime(table_df["期数"], errors="coerce").dt.date
|
67
|
-
table_df["价格指数"] = pd.to_numeric(table_df["价格指数"], errors="coerce")
|
68
|
-
table_df["场内价格指数"] = pd.to_numeric(
|
69
|
-
table_df["场内价格指数"], errors="coerce"
|
70
|
-
)
|
71
|
-
table_df["网上价格指数"] = pd.to_numeric(
|
72
|
-
table_df["网上价格指数"], errors="coerce"
|
73
|
-
)
|
74
|
-
table_df["订单价格指数"] = pd.to_numeric(
|
75
|
-
table_df["订单价格指数"], errors="coerce"
|
76
|
-
)
|
77
|
-
table_df["出口价格指数"] = pd.to_numeric(
|
78
|
-
table_df["出口价格指数"], errors="coerce"
|
31
|
+
url = "https://apiserver.chinagoods.com/yiwuindex/v1/active/industry/class/history/bi?gcCode="
|
32
|
+
r = requests.get(url, verify=False)
|
33
|
+
data_json = r.json()
|
34
|
+
temp_df = pd.DataFrame(data_json["data"])
|
35
|
+
temp_df = temp_df[["indextimeno", "totalindex", "scopeindex", "benifitindex", "confidentindex"]]
|
36
|
+
temp_df.columns = ["期数", "景气指数", "规模指数", "效益指数", "市场信心指数"]
|
37
|
+
temp_df["期数"] = pd.to_datetime(temp_df["期数"], errors="coerce").dt.date
|
38
|
+
temp_df["景气指数"] = pd.to_numeric(temp_df["景气指数"], errors="coerce")
|
39
|
+
temp_df["规模指数"] = pd.to_numeric(temp_df["规模指数"], errors="coerce")
|
40
|
+
temp_df["效益指数"] = pd.to_numeric(temp_df["效益指数"], errors="coerce")
|
41
|
+
temp_df["市场信心指数"] = pd.to_numeric(
|
42
|
+
temp_df["市场信心指数"], errors="coerce"
|
79
43
|
)
|
80
|
-
|
81
|
-
return
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
44
|
+
temp_df.sort_values(["期数"], inplace=True, ignore_index=True)
|
45
|
+
return temp_df
|
46
|
+
else:
|
47
|
+
symbol_map = {
|
48
|
+
"周价格指数": "piweek",
|
49
|
+
"月价格指数": "month"
|
50
|
+
}
|
51
|
+
url = f"https://apiserver.chinagoods.com/yiwuindex/v1/active/industry/class/history/{symbol_map[symbol]}?gcCode="
|
52
|
+
r = requests.get(url, verify=False)
|
53
|
+
data_json = r.json()
|
54
|
+
columns_name = {
|
55
|
+
"indextimeno": "期数",
|
56
|
+
"totalpriceindex": "价格指数",
|
57
|
+
"stockdealpriceindex": "场内价格指数",
|
58
|
+
"netdealpriceindex": "网上价格指数",
|
59
|
+
"orderdealpriceindex": "订单价格指数",
|
60
|
+
"outdealpriceindex": "出口价格指数",
|
61
|
+
}
|
62
|
+
temp_df = pd.DataFrame(data_json["data"])
|
63
|
+
temp_df.columns = [columns_name[name] for name in temp_df.columns]
|
64
|
+
temp_df["期数"] = pd.to_datetime(temp_df["期数"], errors="coerce").dt.date
|
65
|
+
temp_df["价格指数"] = pd.to_numeric(temp_df["价格指数"], errors="coerce")
|
66
|
+
temp_df["场内价格指数"] = pd.to_numeric(
|
67
|
+
temp_df["场内价格指数"], errors="coerce"
|
91
68
|
)
|
92
|
-
|
93
|
-
|
69
|
+
temp_df["网上价格指数"] = pd.to_numeric(
|
70
|
+
temp_df["网上价格指数"], errors="coerce"
|
94
71
|
)
|
95
|
-
|
96
|
-
|
72
|
+
temp_df["订单价格指数"] = pd.to_numeric(
|
73
|
+
temp_df["订单价格指数"], errors="coerce"
|
97
74
|
)
|
98
|
-
|
99
|
-
|
75
|
+
temp_df["出口价格指数"] = pd.to_numeric(
|
76
|
+
temp_df["出口价格指数"], errors="coerce"
|
100
77
|
)
|
101
|
-
|
102
|
-
return
|
78
|
+
temp_df.sort_values(by=["期数"], inplace=True, ignore_index=True)
|
79
|
+
return temp_df
|
103
80
|
|
104
81
|
|
105
82
|
if __name__ == "__main__":
|
@@ -111,3 +88,4 @@ if __name__ == "__main__":
|
|
111
88
|
|
112
89
|
index_yw_df = index_yw(symbol="月景气指数")
|
113
90
|
print(index_yw_df)
|
91
|
+
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- coding:utf-8 -*-
|
2
2
|
# !/usr/bin/env python
|
3
3
|
"""
|
4
|
-
Date:
|
4
|
+
Date: 2025/5/4 22:00
|
5
5
|
Desc: 巨潮资讯-个股-历史分红
|
6
6
|
https://webapi.cninfo.com.cn/#/company?companyid=600009
|
7
7
|
"""
|
@@ -72,6 +72,7 @@ def stock_dividend_cninfo(symbol: str = "600009") -> pd.DataFrame:
|
|
72
72
|
"F023D": "派息日",
|
73
73
|
"F025D": "股份到账日",
|
74
74
|
"F007V": "实施方案分红说明",
|
75
|
+
"F001V": "报告时间",
|
75
76
|
}, inplace=True)
|
76
77
|
|
77
78
|
temp_df["实施方案公告日期"] = pd.to_datetime(
|
@@ -97,6 +98,7 @@ def stock_dividend_cninfo(symbol: str = "600009") -> pd.DataFrame:
|
|
97
98
|
"派息日",
|
98
99
|
"股份到账日",
|
99
100
|
"实施方案分红说明",
|
101
|
+
"报告时间",
|
100
102
|
]]
|
101
103
|
return temp_df
|
102
104
|
|
akshare/stock/stock_summary.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env python
|
2
2
|
# -*- coding:utf-8 -*-
|
3
3
|
"""
|
4
|
-
Date:
|
4
|
+
Date: 2025/5/5 00:00
|
5
5
|
Desc: 股票数据-总貌-市场总貌
|
6
6
|
股票数据-总貌-成交概括
|
7
7
|
https://www.szse.cn/market/overview/index.html
|
@@ -228,6 +228,8 @@ def stock_sse_deal_daily(date: str = "20241216") -> pd.DataFrame:
|
|
228
228
|
"""
|
229
229
|
上海证券交易所-数据-股票数据-成交概况-股票成交概况-每日股票情况
|
230
230
|
https://www.sse.com.cn/market/stockdata/overview/day/
|
231
|
+
:param date: 交易日
|
232
|
+
:type date: str
|
231
233
|
:return: 每日股票情况
|
232
234
|
:rtype: pandas.DataFrame
|
233
235
|
"""
|
@@ -258,6 +260,16 @@ def stock_sse_deal_daily(date: str = "20241216") -> pd.DataFrame:
|
|
258
260
|
"科创板",
|
259
261
|
]
|
260
262
|
temp_df["股票回购"] = "-"
|
263
|
+
elif len(temp_df.columns) == 4:
|
264
|
+
# 20220104
|
265
|
+
temp_df.columns = [
|
266
|
+
"单日情况",
|
267
|
+
"主板A",
|
268
|
+
"主板B",
|
269
|
+
"科创板",
|
270
|
+
]
|
271
|
+
temp_df["股票"] = "-"
|
272
|
+
temp_df["股票回购"] = "-"
|
261
273
|
else:
|
262
274
|
temp_df.columns = [
|
263
275
|
"单日情况",
|
@@ -332,5 +344,5 @@ if __name__ == "__main__":
|
|
332
344
|
stock_sse_summary_df = stock_sse_summary()
|
333
345
|
print(stock_sse_summary_df)
|
334
346
|
|
335
|
-
stock_sse_deal_daily_df = stock_sse_deal_daily(date="
|
347
|
+
stock_sse_deal_daily_df = stock_sse_deal_daily(date="20220104")
|
336
348
|
print(stock_sse_deal_daily_df)
|
@@ -1,69 +1,13 @@
|
|
1
1
|
# -*- coding:utf-8 -*-
|
2
2
|
# !/usr/bin/env python
|
3
3
|
"""
|
4
|
-
Date:
|
4
|
+
Date: 2025/5/6 14:30
|
5
5
|
Desc: 主营构成
|
6
6
|
https://emweb.securities.eastmoney.com/PC_HSF10/BusinessAnalysis/Index?type=web&code=SH688041#
|
7
|
-
https://f10.emoney.cn/f10/zbyz/1000001
|
8
7
|
"""
|
9
8
|
|
10
|
-
from io import StringIO
|
11
|
-
|
12
9
|
import pandas as pd
|
13
10
|
import requests
|
14
|
-
from bs4 import BeautifulSoup
|
15
|
-
|
16
|
-
|
17
|
-
def stock_zygc_ym(symbol: str = "000001") -> pd.DataFrame:
|
18
|
-
"""
|
19
|
-
益盟-F10-主营构成
|
20
|
-
https://f10.emoney.cn/f10/zbyz/1000001
|
21
|
-
:param symbol: 股票代码
|
22
|
-
:type symbol: str
|
23
|
-
:return: 主营构成
|
24
|
-
:rtype: pandas.DataFrame
|
25
|
-
"""
|
26
|
-
url = f"http://f10.emoney.cn/f10/zygc/{symbol}"
|
27
|
-
r = requests.get(url)
|
28
|
-
soup = BeautifulSoup(r.text, features="lxml")
|
29
|
-
year_list = [
|
30
|
-
item.text.strip()
|
31
|
-
for item in soup.find(attrs={"class": "swlab_t"}).find_all("li")
|
32
|
-
]
|
33
|
-
big_df = pd.DataFrame()
|
34
|
-
for i, item in enumerate(year_list, 2):
|
35
|
-
temp_df = pd.read_html(StringIO(r.text), header=0)[i]
|
36
|
-
temp_df.columns = [
|
37
|
-
"分类方向",
|
38
|
-
"分类",
|
39
|
-
"营业收入",
|
40
|
-
"营业收入-同比增长",
|
41
|
-
"营业收入-占主营收入比",
|
42
|
-
"营业成本",
|
43
|
-
"营业成本-同比增长",
|
44
|
-
"营业成本-占主营成本比",
|
45
|
-
"毛利率",
|
46
|
-
"毛利率-同比增长",
|
47
|
-
]
|
48
|
-
temp_df["报告期"] = item
|
49
|
-
big_df = pd.concat(objs=[big_df, temp_df], ignore_index=True)
|
50
|
-
|
51
|
-
big_df = big_df[
|
52
|
-
[
|
53
|
-
"报告期",
|
54
|
-
"分类方向",
|
55
|
-
"分类",
|
56
|
-
"营业收入",
|
57
|
-
"营业收入-同比增长",
|
58
|
-
"营业收入-占主营收入比",
|
59
|
-
"营业成本",
|
60
|
-
"营业成本-同比增长",
|
61
|
-
"营业成本-占主营成本比",
|
62
|
-
"毛利率",
|
63
|
-
"毛利率-同比增长",
|
64
|
-
]
|
65
|
-
]
|
66
|
-
return big_df
|
67
11
|
|
68
12
|
|
69
13
|
def stock_zygc_em(symbol: str = "SH688041") -> pd.DataFrame:
|
@@ -128,8 +72,5 @@ def stock_zygc_em(symbol: str = "SH688041") -> pd.DataFrame:
|
|
128
72
|
|
129
73
|
|
130
74
|
if __name__ == "__main__":
|
131
|
-
stock_zygc_ym_df = stock_zygc_ym(symbol="000338")
|
132
|
-
print(stock_zygc_ym_df)
|
133
|
-
|
134
75
|
stock_zygc_em_df = stock_zygc_em(symbol="SH688041")
|
135
76
|
print(stock_zygc_em_df)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
akshare/__init__.py,sha256=
|
1
|
+
akshare/__init__.py,sha256=bQAkRGzJALOIC0dmOW8BaN-lLH0YRZLpWoUOC22cvLA,193633
|
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
|
@@ -177,7 +177,7 @@ akshare/index/index_stock_zh.py,sha256=2gr4gGJ6N6Is5cYx3_JDtDPkiriRlieFrIE6mVYi7
|
|
177
177
|
akshare/index/index_stock_zh_csindex.py,sha256=sRVoDD-fitqAMuDs0XPm1oCz2nZ2QTkvNswL1WvXpwo,4164
|
178
178
|
akshare/index/index_sugar.py,sha256=u-huRz_WLCc2xHKRDrI3BHD7lm0XrMkQQwcEfS3FMvo,5104
|
179
179
|
akshare/index/index_sw.py,sha256=hETMmFszQb7JDY8UHjLK8szfwkr7Ui_6QcseOoEfxaI,10456
|
180
|
-
akshare/index/index_yw.py,sha256=
|
180
|
+
akshare/index/index_yw.py,sha256=_T3BVcP4ZpiIbTPhnXxa2TWudtqJBFXdtFNF8DTL9NQ,3970
|
181
181
|
akshare/index/index_zh_a_scope.py,sha256=4Ej2Gnqtd66EBiI67sQZKhblcIJXdD5CoMIJYD_KwYU,1367
|
182
182
|
akshare/index/index_zh_em.py,sha256=YliKV790ypLdw9oEZ23xVVl6sbGiGxB2grmVXpSHSeA,14090
|
183
183
|
akshare/interest_rate/__init__.py,sha256=O6dl1roEQUWwtXgRpa6wOABUU7MH0YmFDrkfhBpYOX4,81
|
@@ -227,8 +227,6 @@ akshare/rate/__init__.py,sha256=qbRx0IhTYi5ZakakyP1xD7dwHmqqkuAvBh0Z1kQr3MQ,82
|
|
227
227
|
akshare/rate/repo_rate.py,sha256=lxSEMOeWsf-cVfJfZ7XBfSqOwYYQSJKp3iamCWubfjg,4295
|
228
228
|
akshare/reits/__init__.py,sha256=icmIWDUbQg5O-0SJCvf44FzvypneQrb3D-s540_kFk8,81
|
229
229
|
akshare/reits/reits_basic.py,sha256=HrVz8z9EUBkKuHDvsZlL2gjR9Ff3Ea082RnVi-DY7aY,7326
|
230
|
-
akshare/sport/__init__.py,sha256=TIyl-1_2DZrmL1bW5qKjQ11C1E-wtgenA7JHCkWMjeA,80
|
231
|
-
akshare/sport/sport_olympic.py,sha256=InkuHz4So8r-0101rUzdro58zsgtr5SLuSxWjiObRG8,819
|
232
230
|
akshare/spot/__init__.py,sha256=BvXm1zCReGMWbcANKydbK9uvYzNU-cbReuUYbdDqunI,82
|
233
231
|
akshare/spot/spot_hog_soozhu.py,sha256=IEt7zrDs0ptAKgMA7QRIk45jcMLcA_LGq6Y3lKLFTi0,9397
|
234
232
|
akshare/spot/spot_price_qh.py,sha256=rRv09vR8K0U_x6x8AiLgGluxytIXkLatFNVkFbIh8eQ,3756
|
@@ -242,7 +240,7 @@ akshare/stock/stock_board_industry_em.py,sha256=9QfIxNb5EN5xOYEVXcKr1sQVrpt9muSn
|
|
242
240
|
akshare/stock/stock_cg_equity_mortgage.py,sha256=Pui5aWKKPwGuKjF_GNpejDzsMGNPrxiaJviLz3x2e9I,3426
|
243
241
|
akshare/stock/stock_cg_guarantee.py,sha256=ts7qcQhhyN1PHB7Q4XlMn38HhfVvubOvky9RZfmUP94,3844
|
244
242
|
akshare/stock/stock_cg_lawsuit.py,sha256=6Y92pPw0JgyrInteqHuU07G1jwmdX2wjaDtrJN8y6Hg,4129
|
245
|
-
akshare/stock/stock_dividend_cninfo.py,sha256=
|
243
|
+
akshare/stock/stock_dividend_cninfo.py,sha256=BLaCQ4dghegpO8hgTcrs7LeV48OsMFX2N50exdti5nQ,3635
|
246
244
|
akshare/stock/stock_dzjy_em.py,sha256=o0ss5hZhMTxOALKBfSmd36P26PD4i7QzkdCq50VAzVo,22556
|
247
245
|
akshare/stock/stock_fund_em.py,sha256=pdUOUcvJ1Ofrrhr8Esc_siZcRDiD35T2kScx0pPgEKA,48975
|
248
246
|
akshare/stock/stock_fund_hold.py,sha256=WstyW_tQuNj2pTEYJ2XMV6I1IQXEZl6EnXEsV26G7Gs,6022
|
@@ -275,7 +273,7 @@ akshare/stock/stock_repurchase_em.py,sha256=oOefrlTUo7gJsREaTHdj5HKr_sQeVamU43AT
|
|
275
273
|
akshare/stock/stock_share_changes_cninfo.py,sha256=siy4PiZgYuNQn5jUUg2G7CyZ_yvuXNi3MVUDFhe5npY,4923
|
276
274
|
akshare/stock/stock_share_hold.py,sha256=PSPiU4gHKe2UGPI_bCgm-Uw-DlQy1VOXAHwWYpiLVNo,10998
|
277
275
|
akshare/stock/stock_stop.py,sha256=WRFvnldImkwNI8b8Y3kAdS6Ua69DUG5s5nlKHZav7R0,1161
|
278
|
-
akshare/stock/stock_summary.py,sha256=
|
276
|
+
akshare/stock/stock_summary.py,sha256=0GNC0dlThpn9fE7Etd7HMvMHOsjFX_bME0WY-nKKpfU,11745
|
279
277
|
akshare/stock/stock_us_famous.py,sha256=03qlwpDQT3EJSSDuGuzemP3TU2QwLZBOXotaOgDe1dQ,3628
|
280
278
|
akshare/stock/stock_us_js.py,sha256=VleGUb7K-NjmW3jMPRc2jwHXM0CMq4IzVM9kUpwURDQ,2503
|
281
279
|
akshare/stock/stock_us_pink.py,sha256=b48o56E6Ur1Z_50gPvaZo8ZyegePwVJs8z8KMSqHg0U,3035
|
@@ -374,7 +372,6 @@ akshare/stock_fundamental/stock_hold.py,sha256=hiJx2i3hCW7Kl7kMs4Kh1QNvsg-sIUORv
|
|
374
372
|
akshare/stock_fundamental/stock_ipo_declare.py,sha256=INsQCHRz-j992mg8x71AiIPsLBSr5e_J03EuWmoP0kc,1810
|
375
373
|
akshare/stock_fundamental/stock_kcb_detail_sse.py,sha256=U2w4wUuOTnavqNEmOdQbTZfnEkDdSs91s82YdA6rwNQ,941
|
376
374
|
akshare/stock_fundamental/stock_kcb_sse.py,sha256=cDCBlCm7PJB1zA9XISpkd2FqzAJnhkfbp21au8Mliy8,1536
|
377
|
-
akshare/stock_fundamental/stock_mda_ym.py,sha256=BXJJ-39I7GzJ7y_8k_pqUjvUrg1bSlaMu3cPMgV0cvY,1180
|
378
375
|
akshare/stock_fundamental/stock_notice.py,sha256=tGxGz1Usr3qQzgs1Y71imDPkqJz5ooismz3BiaBwQR0,3928
|
379
376
|
akshare/stock_fundamental/stock_profit_forecast_em.py,sha256=_ZlWkyz-FswlICbjk_YiHjRwrlLftm_piQIPFkZMrjE,5701
|
380
377
|
akshare/stock_fundamental/stock_profit_forecast_hk_etnet.py,sha256=U0A5oRquM_a4Uz92e17ZPM8h-4_le6Q5N4bFi1yV9Fw,5462
|
@@ -382,7 +379,7 @@ akshare/stock_fundamental/stock_profit_forecast_ths.py,sha256=8fzPGyBcxWSvoa7UZk
|
|
382
379
|
akshare/stock_fundamental/stock_recommend.py,sha256=50sdN8zYzBQHkVowSjuyMYgqGMTJe8tB8NXu50jrOXw,4617
|
383
380
|
akshare/stock_fundamental/stock_register_em.py,sha256=QxQh7kddjXLainVVugvOCYG8nDyOv31I8npQmXw3Ccs,15643
|
384
381
|
akshare/stock_fundamental/stock_restricted_em.py,sha256=e5G3oiZBf9d_a8quX5nLzn3RggeF4yX3j-h3nAZBRmA,13378
|
385
|
-
akshare/stock_fundamental/stock_zygc.py,sha256=
|
382
|
+
akshare/stock_fundamental/stock_zygc.py,sha256=so3v6SfM5rUgdWYeIJP8t3VbpgbYNNnzrFfOYRdTpO0,2727
|
386
383
|
akshare/stock_fundamental/stock_zyjs_ths.py,sha256=5aniSf9Wp-j0fsCna9dBU8SA2M4CHTpN-GABUv6YWUM,1538
|
387
384
|
akshare/tool/__init__.py,sha256=RMTf1bT5EOE3ttWpn3hGu1LtUmsVxDoa0W7W0gXHOy8,81
|
388
385
|
akshare/tool/trade_date_hist.py,sha256=o9021QHdOEVucjynFl0jLEi1PEMlNxvDKnMsFSwRfqg,1431
|
@@ -394,10 +391,10 @@ akshare/utils/func.py,sha256=4cwmXFztU86yJNONJ40KJLvsIEQHBbct4iMm3zT2v30,2315
|
|
394
391
|
akshare/utils/multi_decrypt.py,sha256=aWoL2iEPeuXHJg8-n7OtMKixLnIhfzepACgxfrfmQB4,1657
|
395
392
|
akshare/utils/token_process.py,sha256=nGtgnZGRprXJkhLXH8mcUH4TgIFwzsTOb0EaEPa0Euo,667
|
396
393
|
akshare/utils/tqdm.py,sha256=MuPNwcswkOGjwWQOMWXi9ZvQ_RmW4obCWRj2i7HM7FE,847
|
397
|
-
akshare-1.16.
|
394
|
+
akshare-1.16.87.dist-info/licenses/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
|
398
395
|
tests/__init__.py,sha256=gNzhlO0UPjFq6Ieb38kaVIODXv4cTDByrdohAZnDYt4,82
|
399
396
|
tests/test_func.py,sha256=j1MGYbZI2if2j_LY1S4FLsf4qfq4NwVqD5wmRlv5Log,832
|
400
|
-
akshare-1.16.
|
401
|
-
akshare-1.16.
|
402
|
-
akshare-1.16.
|
403
|
-
akshare-1.16.
|
397
|
+
akshare-1.16.87.dist-info/METADATA,sha256=iuBGrg-_qyQpkl9mk7jQEZe80Zph23IYGMGlZ--riC8,11902
|
398
|
+
akshare-1.16.87.dist-info/WHEEL,sha256=0CuiUZ_p9E4cD6NyLD6UG80LBXYyiSYZOKDm5lp32xk,91
|
399
|
+
akshare-1.16.87.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
|
400
|
+
akshare-1.16.87.dist-info/RECORD,,
|
akshare/sport/__init__.py
DELETED
akshare/sport/sport_olympic.py
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
#!/usr/bin/env python
|
2
|
-
# -*- coding:utf-8 -*-
|
3
|
-
"""
|
4
|
-
Date: 2021/8/2 16:47
|
5
|
-
Desc: 运动-奥运会
|
6
|
-
https://www.kaggle.com/marcogdepinto/let-s-discover-more-about-the-olympic-games
|
7
|
-
"""
|
8
|
-
|
9
|
-
import pandas as pd
|
10
|
-
|
11
|
-
|
12
|
-
def sport_olympic_hist() -> pd.DataFrame:
|
13
|
-
"""
|
14
|
-
运动-奥运会-奖牌数据
|
15
|
-
https://www.kaggle.com/marcogdepinto/let-s-discover-more-about-the-olympic-games
|
16
|
-
:return: 奥运会-奖牌数据
|
17
|
-
:rtype: pandas.DataFrame
|
18
|
-
"""
|
19
|
-
url = "https://jfds-1252952517.cos.ap-chengdu.myqcloud.com/akshare/data/data_olympic/athlete_events.zip"
|
20
|
-
temp_df = pd.read_csv(url)
|
21
|
-
columns_list = [item.lower() for item in temp_df.columns.tolist()]
|
22
|
-
temp_df.columns = columns_list
|
23
|
-
return temp_df
|
24
|
-
|
25
|
-
|
26
|
-
if __name__ == "__main__":
|
27
|
-
sport_olympic_hist_df = sport_olympic_hist()
|
28
|
-
print(sport_olympic_hist_df)
|
@@ -1,42 +0,0 @@
|
|
1
|
-
# -*- coding:utf-8 -*-
|
2
|
-
# !/usr/bin/env python
|
3
|
-
"""
|
4
|
-
Date: 2024/9/3 21:00
|
5
|
-
Desc: 益盟-F10-管理层讨论与分析
|
6
|
-
https://f10.emoney.cn/f10/zbyz/1000001
|
7
|
-
"""
|
8
|
-
|
9
|
-
import pandas as pd
|
10
|
-
import requests
|
11
|
-
from bs4 import BeautifulSoup
|
12
|
-
|
13
|
-
|
14
|
-
def stock_mda_ym(symbol: str = "000001") -> pd.DataFrame:
|
15
|
-
"""
|
16
|
-
益盟-F10-管理层讨论与分析
|
17
|
-
https://f10.emoney.cn/f10/zbyz/1000001
|
18
|
-
:param symbol: 股票代码
|
19
|
-
:type symbol: str
|
20
|
-
:return: 管理层讨论与分析
|
21
|
-
:rtype: pandas.DataFrame
|
22
|
-
"""
|
23
|
-
url = f"http://f10.emoney.cn/f10/zygc/{symbol}"
|
24
|
-
r = requests.get(url)
|
25
|
-
soup = BeautifulSoup(r.text, features="lxml")
|
26
|
-
year_list = [
|
27
|
-
item.text.strip()
|
28
|
-
for item in soup.find(attrs={"class": "swlab_t"}).find_all("li")
|
29
|
-
]
|
30
|
-
talk_list = [
|
31
|
-
item.text.strip().replace("\xa0", " ")
|
32
|
-
for item in soup.find_all(attrs={"class": "cnt"})
|
33
|
-
]
|
34
|
-
big_df = pd.DataFrame([year_list, talk_list]).T
|
35
|
-
big_df.columns = ["报告期", "内容"]
|
36
|
-
big_df.sort_values(by=["报告期"], ignore_index=True, inplace=True)
|
37
|
-
return big_df
|
38
|
-
|
39
|
-
|
40
|
-
if __name__ == "__main__":
|
41
|
-
stock_mda_ym_df = stock_mda_ym(symbol="000001")
|
42
|
-
print(stock_mda_ym_df)
|
File without changes
|
File without changes
|