akshare 1.16.61__py3-none-any.whl → 1.16.62__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_feature/stock_gdfx_em.py +37 -15
- akshare/stock_fundamental/stock_finance_us_em.py +1 -1
- {akshare-1.16.61.dist-info → akshare-1.16.62.dist-info}/METADATA +3 -3
- {akshare-1.16.61.dist-info → akshare-1.16.62.dist-info}/RECORD +8 -8
- {akshare-1.16.61.dist-info → akshare-1.16.62.dist-info}/WHEEL +1 -1
- {akshare-1.16.61.dist-info → akshare-1.16.62.dist-info}/licenses/LICENSE +0 -0
- {akshare-1.16.61.dist-info → akshare-1.16.62.dist-info}/top_level.txt +0 -0
akshare/__init__.py
CHANGED
@@ -3070,9 +3070,10 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
|
|
3070
3070
|
1.16.59 fix: fix option_czce_hist interface
|
3071
3071
|
1.16.60 fix: fix stock_individual_fund_flow_rank interface
|
3072
3072
|
1.16.61 fix: fix stock_board_concept_index_ths interface
|
3073
|
+
1.16.62 fix: fix stock_gdfx_free_holding_change_em interface
|
3073
3074
|
"""
|
3074
3075
|
|
3075
|
-
__version__ = "1.16.
|
3076
|
+
__version__ = "1.16.62"
|
3076
3077
|
__author__ = "AKFamily"
|
3077
3078
|
|
3078
3079
|
import sys
|
@@ -1,14 +1,15 @@
|
|
1
1
|
# -*- coding:utf-8 -*-
|
2
2
|
# !/usr/bin/env python
|
3
3
|
"""
|
4
|
-
Date:
|
4
|
+
Date: 2025/3/26 21:15
|
5
5
|
Desc: 东方财富网-数据中心-股东分析
|
6
6
|
https://data.eastmoney.com/gdfx/
|
7
7
|
"""
|
8
8
|
|
9
9
|
import pandas as pd
|
10
10
|
import requests
|
11
|
-
|
11
|
+
|
12
|
+
from akshare.utils.tqdm import get_tqdm
|
12
13
|
|
13
14
|
|
14
15
|
def stock_gdfx_free_holding_statistics_em(
|
@@ -38,12 +39,13 @@ def stock_gdfx_free_holding_statistics_em(
|
|
38
39
|
data_json = r.json()
|
39
40
|
total_page = data_json["result"]["pages"]
|
40
41
|
big_df = pd.DataFrame()
|
42
|
+
tqdm = get_tqdm()
|
41
43
|
for page in tqdm(range(1, total_page + 1), leave=False):
|
42
44
|
params.update({"pageNumber": page})
|
43
45
|
r = requests.get(url, params=params)
|
44
46
|
data_json = r.json()
|
45
47
|
temp_df = pd.DataFrame(data_json["result"]["data"])
|
46
|
-
big_df = pd.concat([big_df, temp_df], ignore_index=True)
|
48
|
+
big_df = pd.concat(objs=[big_df, temp_df], ignore_index=True)
|
47
49
|
big_df.reset_index(inplace=True)
|
48
50
|
big_df["index"] = big_df.index + 1
|
49
51
|
big_df.columns = [
|
@@ -139,6 +141,7 @@ def stock_gdfx_holding_statistics_em(date: str = "20210930") -> pd.DataFrame:
|
|
139
141
|
data_json = r.json()
|
140
142
|
total_page = data_json["result"]["pages"]
|
141
143
|
big_df = pd.DataFrame()
|
144
|
+
tqdm = get_tqdm()
|
142
145
|
for page in tqdm(range(1, total_page + 1), leave=False):
|
143
146
|
params.update({"pageNumber": page})
|
144
147
|
r = requests.get(url, params=params)
|
@@ -241,12 +244,13 @@ def stock_gdfx_free_holding_change_em(date: str = "20210930") -> pd.DataFrame:
|
|
241
244
|
data_json = r.json()
|
242
245
|
total_page = data_json["result"]["pages"]
|
243
246
|
big_df = pd.DataFrame()
|
247
|
+
tqdm = get_tqdm()
|
244
248
|
for page in tqdm(range(1, total_page + 1), leave=False):
|
245
249
|
params.update({"pageNumber": page})
|
246
250
|
r = requests.get(url, params=params)
|
247
251
|
data_json = r.json()
|
248
252
|
temp_df = pd.DataFrame(data_json["result"]["data"])
|
249
|
-
big_df = pd.concat([big_df, temp_df], ignore_index=True)
|
253
|
+
big_df = pd.concat(objs=[big_df, temp_df], ignore_index=True)
|
250
254
|
|
251
255
|
big_df.reset_index(inplace=True)
|
252
256
|
big_df["index"] = big_df.index + 1
|
@@ -269,6 +273,7 @@ def stock_gdfx_free_holding_change_em(date: str = "20210930") -> pd.DataFrame:
|
|
269
273
|
"流通市值统计",
|
270
274
|
"持有个股",
|
271
275
|
"-",
|
276
|
+
"-",
|
272
277
|
]
|
273
278
|
big_df = big_df[
|
274
279
|
[
|
@@ -284,12 +289,22 @@ def stock_gdfx_free_holding_change_em(date: str = "20210930") -> pd.DataFrame:
|
|
284
289
|
"持有个股",
|
285
290
|
]
|
286
291
|
]
|
287
|
-
big_df["期末持股只数统计-总持有"] = pd.to_numeric(
|
288
|
-
|
289
|
-
|
290
|
-
big_df["
|
291
|
-
|
292
|
-
|
292
|
+
big_df["期末持股只数统计-总持有"] = pd.to_numeric(
|
293
|
+
big_df["期末持股只数统计-总持有"], errors="coerce"
|
294
|
+
)
|
295
|
+
big_df["期末持股只数统计-新进"] = pd.to_numeric(
|
296
|
+
big_df["期末持股只数统计-新进"], errors="coerce"
|
297
|
+
)
|
298
|
+
big_df["期末持股只数统计-增加"] = pd.to_numeric(
|
299
|
+
big_df["期末持股只数统计-增加"], errors="coerce"
|
300
|
+
)
|
301
|
+
big_df["期末持股只数统计-不变"] = pd.to_numeric(
|
302
|
+
big_df["期末持股只数统计-不变"], errors="coerce"
|
303
|
+
)
|
304
|
+
big_df["期末持股只数统计-减少"] = pd.to_numeric(
|
305
|
+
big_df["期末持股只数统计-减少"], errors="coerce"
|
306
|
+
)
|
307
|
+
big_df["流通市值统计"] = pd.to_numeric(big_df["流通市值统计"], errors="coerce")
|
293
308
|
return big_df
|
294
309
|
|
295
310
|
|
@@ -318,12 +333,13 @@ def stock_gdfx_holding_change_em(date: str = "20210930") -> pd.DataFrame:
|
|
318
333
|
data_json = r.json()
|
319
334
|
total_page = data_json["result"]["pages"]
|
320
335
|
big_df = pd.DataFrame()
|
336
|
+
tqdm = get_tqdm()
|
321
337
|
for page in tqdm(range(1, total_page + 1), leave=False):
|
322
338
|
params.update({"pageNumber": page})
|
323
339
|
r = requests.get(url, params=params)
|
324
340
|
data_json = r.json()
|
325
341
|
temp_df = pd.DataFrame(data_json["result"]["data"])
|
326
|
-
big_df = pd.concat([big_df, temp_df], ignore_index=True)
|
342
|
+
big_df = pd.concat(objs=[big_df, temp_df], ignore_index=True)
|
327
343
|
|
328
344
|
big_df.reset_index(inplace=True)
|
329
345
|
big_df["index"] = big_df.index + 1
|
@@ -507,6 +523,7 @@ def stock_gdfx_free_holding_detail_em(date: str = "20210930") -> pd.DataFrame:
|
|
507
523
|
data_json = r.json()
|
508
524
|
total_page = data_json["result"]["pages"]
|
509
525
|
big_df = pd.DataFrame()
|
526
|
+
tqdm = get_tqdm()
|
510
527
|
for page in tqdm(range(1, total_page + 1), leave=False):
|
511
528
|
params.update({"pageNumber": page})
|
512
529
|
r = requests.get(url, params=params)
|
@@ -600,6 +617,7 @@ def stock_gdfx_holding_detail_em(
|
|
600
617
|
data_json = r.json()
|
601
618
|
total_page = data_json["result"]["pages"]
|
602
619
|
big_df = pd.DataFrame()
|
620
|
+
tqdm = get_tqdm()
|
603
621
|
for page in tqdm(range(1, total_page + 1), leave=False):
|
604
622
|
params.update({"pageNumber": page})
|
605
623
|
r = requests.get(url, params=params)
|
@@ -686,12 +704,13 @@ def stock_gdfx_free_holding_analyse_em(date: str = "20230930") -> pd.DataFrame:
|
|
686
704
|
data_json = r.json()
|
687
705
|
total_page = data_json["result"]["pages"]
|
688
706
|
big_df = pd.DataFrame()
|
707
|
+
tqdm = get_tqdm()
|
689
708
|
for page in tqdm(range(1, total_page + 1), leave=False):
|
690
709
|
params.update({"pageNumber": page})
|
691
710
|
r = requests.get(url, params=params)
|
692
711
|
data_json = r.json()
|
693
712
|
temp_df = pd.DataFrame(data_json["result"]["data"])
|
694
|
-
big_df = pd.concat([big_df, temp_df], ignore_index=True)
|
713
|
+
big_df = pd.concat(objs=[big_df, temp_df], ignore_index=True)
|
695
714
|
|
696
715
|
big_df.reset_index(inplace=True)
|
697
716
|
big_df["index"] = big_df.index + 1
|
@@ -783,12 +802,13 @@ def stock_gdfx_holding_analyse_em(date: str = "20230331") -> pd.DataFrame:
|
|
783
802
|
data_json = r.json()
|
784
803
|
total_page = data_json["result"]["pages"]
|
785
804
|
big_df = pd.DataFrame()
|
805
|
+
tqdm = get_tqdm()
|
786
806
|
for page in tqdm(range(1, total_page + 1), leave=False):
|
787
807
|
params.update({"pageNumber": page})
|
788
808
|
r = requests.get(url, params=params)
|
789
809
|
data_json = r.json()
|
790
810
|
temp_df = pd.DataFrame(data_json["result"]["data"])
|
791
|
-
big_df = pd.concat([big_df, temp_df], ignore_index=True)
|
811
|
+
big_df = pd.concat(objs=[big_df, temp_df], ignore_index=True)
|
792
812
|
|
793
813
|
big_df.reset_index(inplace=True)
|
794
814
|
big_df["index"] = big_df["index"] + 1
|
@@ -886,12 +906,13 @@ def stock_gdfx_free_holding_teamwork_em(symbol: str = "社保") -> pd.DataFrame:
|
|
886
906
|
data_json = r.json()
|
887
907
|
total_page = data_json["result"]["pages"]
|
888
908
|
big_df = pd.DataFrame()
|
909
|
+
tqdm = get_tqdm()
|
889
910
|
for page in tqdm(range(1, total_page + 1), leave=False):
|
890
911
|
params.update({"pageNumber": page})
|
891
912
|
r = requests.get(url, params=params)
|
892
913
|
data_json = r.json()
|
893
914
|
temp_df = pd.DataFrame(data_json["result"]["data"])
|
894
|
-
big_df = pd.concat([big_df, temp_df], ignore_index=True)
|
915
|
+
big_df = pd.concat(objs=[big_df, temp_df], ignore_index=True)
|
895
916
|
|
896
917
|
big_df.reset_index(inplace=True)
|
897
918
|
big_df["index"] = big_df.index + 1
|
@@ -948,12 +969,13 @@ def stock_gdfx_holding_teamwork_em(symbol: str = "社保") -> pd.DataFrame:
|
|
948
969
|
data_json = r.json()
|
949
970
|
total_page = data_json["result"]["pages"]
|
950
971
|
big_df = pd.DataFrame()
|
972
|
+
tqdm = get_tqdm()
|
951
973
|
for page in tqdm(range(1, total_page + 1), leave=False):
|
952
974
|
params.update({"pageNumber": page})
|
953
975
|
r = requests.get(url, params=params)
|
954
976
|
data_json = r.json()
|
955
977
|
temp_df = pd.DataFrame(data_json["result"]["data"])
|
956
|
-
big_df = pd.concat([big_df, temp_df], ignore_index=True)
|
978
|
+
big_df = pd.concat(objs=[big_df, temp_df], ignore_index=True)
|
957
979
|
|
958
980
|
big_df.reset_index(inplace=True)
|
959
981
|
big_df["index"] = big_df.index + 1
|
@@ -167,7 +167,7 @@ def stock_financial_us_analysis_indicator_em(
|
|
167
167
|
|
168
168
|
if __name__ == "__main__":
|
169
169
|
stock_financial_us_analysis_indicator_em_df = (
|
170
|
-
stock_financial_us_analysis_indicator_em(symbol="
|
170
|
+
stock_financial_us_analysis_indicator_em(symbol="BABA", indicator="年报")
|
171
171
|
)
|
172
172
|
print(stock_financial_us_analysis_indicator_em_df)
|
173
173
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: akshare
|
3
|
-
Version: 1.16.
|
3
|
+
Version: 1.16.62
|
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
|
@@ -53,8 +53,8 @@ Dynamic: requires-dist
|
|
53
53
|
Dynamic: requires-python
|
54
54
|
Dynamic: summary
|
55
55
|
|
56
|
-
|
57
|
-
|
56
|
+
**欢迎加入专注于财经数据和量化投研的知识社区,获取《财经数据宝典》和《量化投研宝典》,其汇集了财经数据和量化投研的多年经验,
|
57
|
+
还独家分享了众多国内外财经数据源的使用和注意事项,请点击[了解更多](https://akshare.akfamily.xyz/learn.html)**。
|
58
58
|
|
59
59
|
**量化投研视频课程:《PyBroker-入门及实战》已经上架!《PyBroker-进阶及实战》正在更新!**
|
60
60
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
akshare/__init__.py,sha256=
|
1
|
+
akshare/__init__.py,sha256=3SOIy1X_maim1JMM2iByhsihNZAedmukDHWmAu_nm2U,192209
|
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
|
@@ -317,7 +317,7 @@ akshare/stock_feature/stock_fhps_em.py,sha256=Ex355qj1j_EfuM7ImObuFJoUUqpXO73a-z
|
|
317
317
|
akshare/stock_feature/stock_fhps_ths.py,sha256=NosH1xyT1Pif4T9tchdtJTBEpe6g1Wq2kjvxJDsZD_Y,1805
|
318
318
|
akshare/stock_feature/stock_fund_flow.py,sha256=cqBqsFrzwmuLP3k3wYQzvW085QUUfHZ4nBW8Zx7egkQ,18669
|
319
319
|
akshare/stock_feature/stock_gddh_em.py,sha256=N4sH_qF7LZvMs46t7eGtbnahNrEBQPDk6tRSP_1ModM,3563
|
320
|
-
akshare/stock_feature/stock_gdfx_em.py,sha256=
|
320
|
+
akshare/stock_feature/stock_gdfx_em.py,sha256=q1eauLZdbcpuonGSZYifY50XqvlDFFYny_KmZnGAV60,39103
|
321
321
|
akshare/stock_feature/stock_gdhs.py,sha256=Z6ZMy1A03BqMu9TghcIu2Sd_wwEtpIH7qawHun9G7ns,9036
|
322
322
|
akshare/stock_feature/stock_gdzjc_em.py,sha256=SHJH5iS3_NhvjTqRXF0vPooZl0s_ASeyZmNCC50ZYqs,4426
|
323
323
|
akshare/stock_feature/stock_gpzy_em.py,sha256=FgyjVgdoxrtMM7WwxdQJxK0mYGJklIHaT9KmMCFmEPM,17869
|
@@ -367,7 +367,7 @@ akshare/stock_fundamental/stock_basic_info_xq.py,sha256=PJveGTe3NG5F5owYdLFbpC6e
|
|
367
367
|
akshare/stock_fundamental/stock_finance_hk_em.py,sha256=cCiaWX6ZyKe4W2H9qe-ttpMeVMWp6tHdvnjhRuYQhl8,7017
|
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
|
-
akshare/stock_fundamental/stock_finance_us_em.py,sha256=
|
370
|
+
akshare/stock_fundamental/stock_finance_us_em.py,sha256=LHbJe_4LJFF1WkBNTRrllQ262lcUeYRvi-JESrYsKO0,8451
|
371
371
|
akshare/stock_fundamental/stock_hold.py,sha256=h8V5v_0YOi3FJPc1w95WBaO0v3n87lcufcUlu-i6XXk,5394
|
372
372
|
akshare/stock_fundamental/stock_ipo_declare.py,sha256=18j2542TT2nCJ1HWBcT6-HupRbXvesA30qqejknn-kM,1809
|
373
373
|
akshare/stock_fundamental/stock_kcb_detail_sse.py,sha256=MBanq3sDvb0OTbUl_gg7avDUQg_3Ugzqr43cB43fp60,940
|
@@ -392,10 +392,10 @@ akshare/utils/func.py,sha256=4cwmXFztU86yJNONJ40KJLvsIEQHBbct4iMm3zT2v30,2315
|
|
392
392
|
akshare/utils/multi_decrypt.py,sha256=aWoL2iEPeuXHJg8-n7OtMKixLnIhfzepACgxfrfmQB4,1657
|
393
393
|
akshare/utils/token_process.py,sha256=K4rGXjh_tgugbRcyOK2h2x0jP3PT65IIK7nxhUKhOeQ,666
|
394
394
|
akshare/utils/tqdm.py,sha256=MuPNwcswkOGjwWQOMWXi9ZvQ_RmW4obCWRj2i7HM7FE,847
|
395
|
-
akshare-1.16.
|
395
|
+
akshare-1.16.62.dist-info/licenses/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
|
396
396
|
tests/__init__.py,sha256=gNzhlO0UPjFq6Ieb38kaVIODXv4cTDByrdohAZnDYt4,82
|
397
397
|
tests/test_func.py,sha256=j1MGYbZI2if2j_LY1S4FLsf4qfq4NwVqD5wmRlv5Log,832
|
398
|
-
akshare-1.16.
|
399
|
-
akshare-1.16.
|
400
|
-
akshare-1.16.
|
401
|
-
akshare-1.16.
|
398
|
+
akshare-1.16.62.dist-info/METADATA,sha256=drMctkyxccSQF_rpvxu1vZbGkTE1-H7obp0tw40ZsiY,13767
|
399
|
+
akshare-1.16.62.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
400
|
+
akshare-1.16.62.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
|
401
|
+
akshare-1.16.62.dist-info/RECORD,,
|
File without changes
|
File without changes
|