akshare 1.16.70__py3-none-any.whl → 1.16.71__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 +7 -1
- akshare/stock_fundamental/stock_gbjg_em.py +80 -0
- {akshare-1.16.70.dist-info → akshare-1.16.71.dist-info}/METADATA +1 -1
- {akshare-1.16.70.dist-info → akshare-1.16.71.dist-info}/RECORD +7 -6
- {akshare-1.16.70.dist-info → akshare-1.16.71.dist-info}/WHEEL +0 -0
- {akshare-1.16.70.dist-info → akshare-1.16.71.dist-info}/licenses/LICENSE +0 -0
- {akshare-1.16.70.dist-info → akshare-1.16.71.dist-info}/top_level.txt +0 -0
akshare/__init__.py
CHANGED
@@ -3079,9 +3079,10 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
|
|
3079
3079
|
1.16.68 fix: fix option_dce_daily interface
|
3080
3080
|
1.16.69 fix: fix stock_individual_spot_xq interface
|
3081
3081
|
1.16.70 fix: fix stock_zh_ah_spot_em interface
|
3082
|
+
1.16.71 add: add stock_zh_a_gbjg_em interface
|
3082
3083
|
"""
|
3083
3084
|
|
3084
|
-
__version__ = "1.16.
|
3085
|
+
__version__ = "1.16.71"
|
3085
3086
|
__author__ = "AKFamily"
|
3086
3087
|
|
3087
3088
|
import sys
|
@@ -3103,6 +3104,11 @@ if sys.version_info < (3, 9):
|
|
3103
3104
|
|
3104
3105
|
del sys
|
3105
3106
|
|
3107
|
+
"""
|
3108
|
+
东方财富-A股数据-股本结构
|
3109
|
+
"""
|
3110
|
+
from akshare.stock_fundamental.stock_gbjg_em import stock_zh_a_gbjg_em
|
3111
|
+
|
3106
3112
|
"""
|
3107
3113
|
异步接口
|
3108
3114
|
"""
|
@@ -0,0 +1,80 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding:utf-8 -*-
|
3
|
+
"""
|
4
|
+
Date: 2025/4/3 18:00
|
5
|
+
Desc: 东方财富-A股数据-股本结构
|
6
|
+
https://emweb.securities.eastmoney.com/pc_hsf10/pages/index.html?type=web&code=SH603392&color=b#/gbjg/gbjg
|
7
|
+
"""
|
8
|
+
|
9
|
+
import requests
|
10
|
+
import pandas as pd
|
11
|
+
|
12
|
+
|
13
|
+
def stock_zh_a_gbjg_em(symbol: str = "603392.SH") -> pd.DataFrame:
|
14
|
+
"""
|
15
|
+
东方财富-A股数据-股本结构
|
16
|
+
https://emweb.securities.eastmoney.com/pc_hsf10/pages/index.html#/gbjg
|
17
|
+
:param symbol: 股票代码
|
18
|
+
:type symbol: str
|
19
|
+
:return: 股本结构
|
20
|
+
:rtype: pandas.DataFrame
|
21
|
+
"""
|
22
|
+
url = "https://datacenter.eastmoney.com/securities/api/data/v1/get"
|
23
|
+
params = {
|
24
|
+
"reportName": "RPT_F10_EH_EQUITY",
|
25
|
+
"columns": "SECUCODE,SECURITY_CODE,END_DATE,TOTAL_SHARES,LIMITED_SHARES,LIMITED_OTHARS,"
|
26
|
+
"LIMITED_DOMESTIC_NATURAL,LIMITED_STATE_LEGAL,LIMITED_OVERSEAS_NOSTATE,LIMITED_OVERSEAS_NATURAL,"
|
27
|
+
"UNLIMITED_SHARES,LISTED_A_SHARES,B_FREE_SHARE,H_FREE_SHARE,FREE_SHARES,LIMITED_A_SHARES,"
|
28
|
+
"NON_FREE_SHARES,LIMITED_B_SHARES,OTHER_FREE_SHARES,LIMITED_STATE_SHARES,"
|
29
|
+
"LIMITED_DOMESTIC_NOSTATE,LOCK_SHARES,LIMITED_FOREIGN_SHARES,LIMITED_H_SHARES,"
|
30
|
+
"SPONSOR_SHARES,STATE_SPONSOR_SHARES,SPONSOR_SOCIAL_SHARES,RAISE_SHARES,"
|
31
|
+
"RAISE_STATE_SHARES,RAISE_DOMESTIC_SHARES,RAISE_OVERSEAS_SHARES,CHANGE_REASON",
|
32
|
+
"quoteColumns": "",
|
33
|
+
"filter": f'(SECUCODE="{symbol}")',
|
34
|
+
"pageNumber": "1",
|
35
|
+
"pageSize": "20",
|
36
|
+
"sortTypes": "-1",
|
37
|
+
"sortColumns": "END_DATE",
|
38
|
+
"source": "HSF10",
|
39
|
+
"client": "PC",
|
40
|
+
"v": "047483522105257925"
|
41
|
+
}
|
42
|
+
r = requests.get(url, params=params)
|
43
|
+
data_json = r.json()
|
44
|
+
temp_df = pd.DataFrame(data_json['result']['data'])
|
45
|
+
temp_df.rename(columns={
|
46
|
+
"END_DATE": "变更日期",
|
47
|
+
"TOTAL_SHARES": "总股本",
|
48
|
+
"LISTED_A_SHARES": "已上市流通A股",
|
49
|
+
"FREE_SHARES": "已流通股份",
|
50
|
+
"CHANGE_REASON": "变动原因",
|
51
|
+
"LIMITED_A_SHARES": "流通受限股份",
|
52
|
+
"LIMITED_OTHARS": "其他内资持股(受限)",
|
53
|
+
"LIMITED_DOMESTIC_NOSTATE": "境内法人持股(受限)",
|
54
|
+
"LIMITED_DOMESTIC_NATURAL": "境内自然人持股(受限)",
|
55
|
+
}, inplace=True)
|
56
|
+
temp_df = temp_df[[
|
57
|
+
"变更日期",
|
58
|
+
"总股本",
|
59
|
+
"流通受限股份",
|
60
|
+
"其他内资持股(受限)",
|
61
|
+
"境内法人持股(受限)",
|
62
|
+
"境内自然人持股(受限)",
|
63
|
+
"已流通股份",
|
64
|
+
"已上市流通A股",
|
65
|
+
"变动原因",
|
66
|
+
]]
|
67
|
+
temp_df["变更日期"] = pd.to_datetime(temp_df["变更日期"], errors="coerce").dt.date
|
68
|
+
temp_df["总股本"] = pd.to_numeric(temp_df["总股本"], errors="coerce")
|
69
|
+
temp_df["流通受限股份"] = pd.to_numeric(temp_df["流通受限股份"], errors="coerce")
|
70
|
+
temp_df["其他内资持股(受限)"] = pd.to_numeric(temp_df["其他内资持股(受限)"], errors="coerce")
|
71
|
+
temp_df["境内法人持股(受限)"] = pd.to_numeric(temp_df["境内法人持股(受限)"], errors="coerce")
|
72
|
+
temp_df["境内自然人持股(受限)"] = pd.to_numeric(temp_df["境内自然人持股(受限)"], errors="coerce")
|
73
|
+
temp_df["已流通股份"] = pd.to_numeric(temp_df["已流通股份"], errors="coerce")
|
74
|
+
temp_df["已上市流通A股"] = pd.to_numeric(temp_df["已上市流通A股"], errors="coerce")
|
75
|
+
return temp_df
|
76
|
+
|
77
|
+
|
78
|
+
if __name__ == '__main__':
|
79
|
+
stock_zh_a_gbjg_em_df = stock_zh_a_gbjg_em(symbol="603392.SH")
|
80
|
+
print(stock_zh_a_gbjg_em_df)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
akshare/__init__.py,sha256=
|
1
|
+
akshare/__init__.py,sha256=O2lWGJ_cLV9jzHH7uCfsmrGZScc6-HCkD1PdqPQAjYo,192774
|
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
|
@@ -368,6 +368,7 @@ akshare/stock_fundamental/stock_finance_hk_em.py,sha256=cCiaWX6ZyKe4W2H9qe-ttpMe
|
|
368
368
|
akshare/stock_fundamental/stock_finance_sina.py,sha256=432EjGHWFtG0L32PNSC_HWpVLDntabNt9koyUtNG77E,30718
|
369
369
|
akshare/stock_fundamental/stock_finance_ths.py,sha256=nS9bt_hzklzh7pBTCH1PjOa69OUcNZ41Z_zSHiz9Y1U,11527
|
370
370
|
akshare/stock_fundamental/stock_finance_us_em.py,sha256=thRKe9OIfZFQ0q_kAM2kJXCKXGhyPFjHKiiGEK95K2g,9799
|
371
|
+
akshare/stock_fundamental/stock_gbjg_em.py,sha256=oKzX9BSMphRSrx0eAyLZ7qfdz-wT-4P2-03fLu_desA,3573
|
371
372
|
akshare/stock_fundamental/stock_hold.py,sha256=hiJx2i3hCW7Kl7kMs4Kh1QNvsg-sIUORvgQaeGjOB-Y,5472
|
372
373
|
akshare/stock_fundamental/stock_ipo_declare.py,sha256=INsQCHRz-j992mg8x71AiIPsLBSr5e_J03EuWmoP0kc,1810
|
373
374
|
akshare/stock_fundamental/stock_kcb_detail_sse.py,sha256=U2w4wUuOTnavqNEmOdQbTZfnEkDdSs91s82YdA6rwNQ,941
|
@@ -392,10 +393,10 @@ akshare/utils/func.py,sha256=4cwmXFztU86yJNONJ40KJLvsIEQHBbct4iMm3zT2v30,2315
|
|
392
393
|
akshare/utils/multi_decrypt.py,sha256=aWoL2iEPeuXHJg8-n7OtMKixLnIhfzepACgxfrfmQB4,1657
|
393
394
|
akshare/utils/token_process.py,sha256=nGtgnZGRprXJkhLXH8mcUH4TgIFwzsTOb0EaEPa0Euo,667
|
394
395
|
akshare/utils/tqdm.py,sha256=MuPNwcswkOGjwWQOMWXi9ZvQ_RmW4obCWRj2i7HM7FE,847
|
395
|
-
akshare-1.16.
|
396
|
+
akshare-1.16.71.dist-info/licenses/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
|
396
397
|
tests/__init__.py,sha256=gNzhlO0UPjFq6Ieb38kaVIODXv4cTDByrdohAZnDYt4,82
|
397
398
|
tests/test_func.py,sha256=j1MGYbZI2if2j_LY1S4FLsf4qfq4NwVqD5wmRlv5Log,832
|
398
|
-
akshare-1.16.
|
399
|
-
akshare-1.16.
|
400
|
-
akshare-1.16.
|
401
|
-
akshare-1.16.
|
399
|
+
akshare-1.16.71.dist-info/METADATA,sha256=BILN03NBoNu_pjqie6WvwHecj-KdCVF4w0TnArr3ag8,12591
|
400
|
+
akshare-1.16.71.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
401
|
+
akshare-1.16.71.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
|
402
|
+
akshare-1.16.71.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|