akshare 1.14.78__py3-none-any.whl → 1.14.80__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.
Potentially problematic release.
This version of akshare might be problematic. Click here for more details.
- akshare/__init__.py +4 -1
- akshare/stock_feature/stock_report_em.py +151 -7
- akshare/stock_feature/stock_wencai.py +21 -9
- {akshare-1.14.78.dist-info → akshare-1.14.80.dist-info}/METADATA +1 -1
- {akshare-1.14.78.dist-info → akshare-1.14.80.dist-info}/RECORD +8 -8
- {akshare-1.14.78.dist-info → akshare-1.14.80.dist-info}/LICENSE +0 -0
- {akshare-1.14.78.dist-info → akshare-1.14.80.dist-info}/WHEEL +0 -0
- {akshare-1.14.78.dist-info → akshare-1.14.80.dist-info}/top_level.txt +0 -0
akshare/__init__.py
CHANGED
|
@@ -2889,9 +2889,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
|
|
|
2889
2889
|
1.14.76 fix: fix stock_sy_em interface
|
|
2890
2890
|
1.14.77 fix: fix stock_zh_b_daily interface
|
|
2891
2891
|
1.14.78 fix: fix stock_analyst_rank_em interface
|
|
2892
|
+
1.14.79 add: add stock_zcfz_bj_em interface
|
|
2893
|
+
1.14.80 fix: fix stock_hot_rank_wc interface
|
|
2892
2894
|
"""
|
|
2893
2895
|
|
|
2894
|
-
__version__ = "1.14.
|
|
2896
|
+
__version__ = "1.14.80"
|
|
2895
2897
|
__author__ = "AKFamily"
|
|
2896
2898
|
|
|
2897
2899
|
import sys
|
|
@@ -4112,6 +4114,7 @@ from akshare.stock_fundamental.stock_ipo_declare import stock_ipo_declare
|
|
|
4112
4114
|
"""
|
|
4113
4115
|
from akshare.stock_feature.stock_report_em import (
|
|
4114
4116
|
stock_zcfz_em,
|
|
4117
|
+
stock_zcfz_bj_em,
|
|
4115
4118
|
stock_lrb_em,
|
|
4116
4119
|
stock_xjll_em,
|
|
4117
4120
|
)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
2
|
# -*- coding:utf-8 -*-
|
|
3
3
|
"""
|
|
4
|
-
Date: 2024/
|
|
4
|
+
Date: 2024/9/20 15:30
|
|
5
5
|
Desc: 东方财富-数据中心-年报季报-业绩快报-三大报表
|
|
6
6
|
资产负债表
|
|
7
7
|
https://data.eastmoney.com/bbsj/202003/zcfz.html
|
|
@@ -17,7 +17,7 @@ import requests
|
|
|
17
17
|
from akshare.utils.tqdm import get_tqdm
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
def stock_zcfz_em(date: str = "
|
|
20
|
+
def stock_zcfz_em(date: str = "20240331") -> pd.DataFrame:
|
|
21
21
|
"""
|
|
22
22
|
东方财富-数据中心-年报季报-业绩快报-资产负债表
|
|
23
23
|
https://data.eastmoney.com/bbsj/202003/zcfz.html
|
|
@@ -158,7 +158,148 @@ def stock_zcfz_em(date: str = "20220331") -> pd.DataFrame:
|
|
|
158
158
|
return big_df
|
|
159
159
|
|
|
160
160
|
|
|
161
|
-
def
|
|
161
|
+
def stock_zcfz_bj_em(date: str = "20240331") -> pd.DataFrame:
|
|
162
|
+
"""
|
|
163
|
+
东方财富-数据中心-年报季报-业绩快报-资产负债表
|
|
164
|
+
https://data.eastmoney.com/bbsj/202003/zcfz.html
|
|
165
|
+
:param date: choice of {"20200331", "20200630", "20200930", "20201231", "..."}; 从 20100331 开始
|
|
166
|
+
:type date: str
|
|
167
|
+
:return: 资产负债表
|
|
168
|
+
:rtype: pandas.DataFrame
|
|
169
|
+
"""
|
|
170
|
+
import warnings
|
|
171
|
+
|
|
172
|
+
warnings.filterwarnings(action="ignore", category=FutureWarning)
|
|
173
|
+
url = "https://datacenter-web.eastmoney.com/api/data/v1/get"
|
|
174
|
+
params = {
|
|
175
|
+
"sortColumns": "NOTICE_DATE,SECURITY_CODE",
|
|
176
|
+
"sortTypes": "-1,-1",
|
|
177
|
+
"pageSize": "500",
|
|
178
|
+
"pageNumber": "1",
|
|
179
|
+
"reportName": "RPT_DMSK_FN_BALANCE",
|
|
180
|
+
"columns": "ALL",
|
|
181
|
+
"filter": f"""(TRADE_MARKET_CODE="069001017")
|
|
182
|
+
(REPORT_DATE='{'-'.join([date[:4], date[4:6], date[6:]])}')""",
|
|
183
|
+
}
|
|
184
|
+
r = requests.get(url, params=params)
|
|
185
|
+
data_json = r.json()
|
|
186
|
+
page_num = data_json["result"]["pages"]
|
|
187
|
+
big_df = pd.DataFrame()
|
|
188
|
+
tqdm = get_tqdm()
|
|
189
|
+
for page in tqdm(range(1, page_num + 1), leave=False):
|
|
190
|
+
params.update(
|
|
191
|
+
{
|
|
192
|
+
"pageNumber": page,
|
|
193
|
+
}
|
|
194
|
+
)
|
|
195
|
+
r = requests.get(url, params=params)
|
|
196
|
+
data_json = r.json()
|
|
197
|
+
temp_df = pd.DataFrame(data_json["result"]["data"])
|
|
198
|
+
big_df = pd.concat(objs=[big_df, temp_df], join="outer", ignore_index=True)
|
|
199
|
+
|
|
200
|
+
big_df.reset_index(inplace=True)
|
|
201
|
+
big_df["index"] = big_df.index + 1
|
|
202
|
+
big_df.columns = [
|
|
203
|
+
"序号",
|
|
204
|
+
"_",
|
|
205
|
+
"股票代码",
|
|
206
|
+
"_",
|
|
207
|
+
"_",
|
|
208
|
+
"股票简称",
|
|
209
|
+
"_",
|
|
210
|
+
"_",
|
|
211
|
+
"_",
|
|
212
|
+
"_",
|
|
213
|
+
"_",
|
|
214
|
+
"_",
|
|
215
|
+
"_",
|
|
216
|
+
"公告日期",
|
|
217
|
+
"_",
|
|
218
|
+
"资产-总资产",
|
|
219
|
+
"_",
|
|
220
|
+
"资产-货币资金",
|
|
221
|
+
"_",
|
|
222
|
+
"资产-应收账款",
|
|
223
|
+
"_",
|
|
224
|
+
"资产-存货",
|
|
225
|
+
"_",
|
|
226
|
+
"负债-总负债",
|
|
227
|
+
"负债-应付账款",
|
|
228
|
+
"_",
|
|
229
|
+
"负债-预收账款",
|
|
230
|
+
"_",
|
|
231
|
+
"股东权益合计",
|
|
232
|
+
"_",
|
|
233
|
+
"资产-总资产同比",
|
|
234
|
+
"负债-总负债同比",
|
|
235
|
+
"_",
|
|
236
|
+
"资产负债率",
|
|
237
|
+
"_",
|
|
238
|
+
"_",
|
|
239
|
+
"_",
|
|
240
|
+
"_",
|
|
241
|
+
"_",
|
|
242
|
+
"_",
|
|
243
|
+
"_",
|
|
244
|
+
"_",
|
|
245
|
+
"_",
|
|
246
|
+
"_",
|
|
247
|
+
"_",
|
|
248
|
+
"_",
|
|
249
|
+
"_",
|
|
250
|
+
"_",
|
|
251
|
+
"_",
|
|
252
|
+
"_",
|
|
253
|
+
"_",
|
|
254
|
+
"_",
|
|
255
|
+
"_",
|
|
256
|
+
"_",
|
|
257
|
+
"_",
|
|
258
|
+
"_",
|
|
259
|
+
"_",
|
|
260
|
+
"_",
|
|
261
|
+
]
|
|
262
|
+
big_df = big_df[
|
|
263
|
+
[
|
|
264
|
+
"序号",
|
|
265
|
+
"股票代码",
|
|
266
|
+
"股票简称",
|
|
267
|
+
"资产-货币资金",
|
|
268
|
+
"资产-应收账款",
|
|
269
|
+
"资产-存货",
|
|
270
|
+
"资产-总资产",
|
|
271
|
+
"资产-总资产同比",
|
|
272
|
+
"负债-应付账款",
|
|
273
|
+
"负债-预收账款",
|
|
274
|
+
"负债-总负债",
|
|
275
|
+
"负债-总负债同比",
|
|
276
|
+
"资产负债率",
|
|
277
|
+
"股东权益合计",
|
|
278
|
+
"公告日期",
|
|
279
|
+
]
|
|
280
|
+
]
|
|
281
|
+
|
|
282
|
+
big_df["资产-货币资金"] = pd.to_numeric(big_df["资产-货币资金"], errors="coerce")
|
|
283
|
+
big_df["资产-应收账款"] = pd.to_numeric(big_df["资产-应收账款"], errors="coerce")
|
|
284
|
+
big_df["资产-存货"] = pd.to_numeric(big_df["资产-存货"], errors="coerce")
|
|
285
|
+
big_df["资产-总资产"] = pd.to_numeric(big_df["资产-总资产"], errors="coerce")
|
|
286
|
+
big_df["资产-总资产同比"] = pd.to_numeric(
|
|
287
|
+
big_df["资产-总资产同比"], errors="coerce"
|
|
288
|
+
)
|
|
289
|
+
big_df["负债-应付账款"] = pd.to_numeric(big_df["负债-应付账款"], errors="coerce")
|
|
290
|
+
big_df["负债-预收账款"] = pd.to_numeric(big_df["负债-预收账款"], errors="coerce")
|
|
291
|
+
big_df["负债-总负债"] = pd.to_numeric(big_df["负债-总负债"], errors="coerce")
|
|
292
|
+
big_df["负债-总负债同比"] = pd.to_numeric(
|
|
293
|
+
big_df["负债-总负债同比"], errors="coerce"
|
|
294
|
+
)
|
|
295
|
+
big_df["资产负债率"] = pd.to_numeric(big_df["资产负债率"], errors="coerce")
|
|
296
|
+
big_df["股东权益合计"] = pd.to_numeric(big_df["股东权益合计"], errors="coerce")
|
|
297
|
+
big_df["股东权益合计"] = pd.to_numeric(big_df["股东权益合计"], errors="coerce")
|
|
298
|
+
big_df["公告日期"] = pd.to_datetime(big_df["公告日期"], errors="coerce").dt.date
|
|
299
|
+
return big_df
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
def stock_lrb_em(date: str = "20240331") -> pd.DataFrame:
|
|
162
303
|
"""
|
|
163
304
|
东方财富-数据中心-年报季报-业绩快报-利润表
|
|
164
305
|
https://data.eastmoney.com/bbsj/202003/lrb.html
|
|
@@ -294,7 +435,7 @@ def stock_lrb_em(date: str = "20081231") -> pd.DataFrame:
|
|
|
294
435
|
return big_df
|
|
295
436
|
|
|
296
437
|
|
|
297
|
-
def stock_xjll_em(date: str = "
|
|
438
|
+
def stock_xjll_em(date: str = "20240331") -> pd.DataFrame:
|
|
298
439
|
"""
|
|
299
440
|
东方财富-数据中心-年报季报-业绩快报-现金流量表
|
|
300
441
|
https://data.eastmoney.com/bbsj/202003/xjll.html
|
|
@@ -432,11 +573,14 @@ def stock_xjll_em(date: str = "20220331") -> pd.DataFrame:
|
|
|
432
573
|
|
|
433
574
|
|
|
434
575
|
if __name__ == "__main__":
|
|
435
|
-
stock_zcfz_em_df = stock_zcfz_em(date="
|
|
576
|
+
stock_zcfz_em_df = stock_zcfz_em(date="20240331")
|
|
436
577
|
print(stock_zcfz_em_df)
|
|
437
578
|
|
|
438
|
-
|
|
579
|
+
stock_zcfz_bj_em_df = stock_zcfz_bj_em(date="20240331")
|
|
580
|
+
print(stock_zcfz_bj_em_df)
|
|
581
|
+
|
|
582
|
+
stock_lrb_em_df = stock_lrb_em(date="20240331")
|
|
439
583
|
print(stock_lrb_em_df)
|
|
440
584
|
|
|
441
|
-
stock_xjll_em_df = stock_xjll_em(date="
|
|
585
|
+
stock_xjll_em_df = stock_xjll_em(date="20240331")
|
|
442
586
|
print(stock_xjll_em_df)
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
2
|
# -*- coding:utf-8 -*-
|
|
3
3
|
"""
|
|
4
|
-
Date: 2024/
|
|
4
|
+
Date: 2024/9/21 18:00
|
|
5
5
|
Desc: 问财-热门股票排名
|
|
6
6
|
https://www.iwencai.com/unifiedwap/home/index
|
|
7
7
|
"""
|
|
8
|
+
|
|
8
9
|
import pandas as pd
|
|
9
10
|
import requests
|
|
10
11
|
|
|
12
|
+
from akshare.utils.cons import headers
|
|
11
13
|
from akshare.utils.tqdm import get_tqdm
|
|
12
14
|
|
|
13
15
|
|
|
14
|
-
def stock_hot_rank_wc(date: str = "
|
|
16
|
+
def stock_hot_rank_wc(date: str = "20240920") -> pd.DataFrame:
|
|
15
17
|
"""
|
|
16
18
|
问财-热门股票排名
|
|
17
19
|
https://www.iwencai.com/unifiedwap/result?w=%E7%83%AD%E9%97%A85000%E8%82%A1%E7%A5%A8&querytype=stock&issugs&sign=1620126514335
|
|
@@ -28,7 +30,20 @@ def stock_hot_rank_wc(date: str = "20230815") -> pd.DataFrame:
|
|
|
28
30
|
"page": "1",
|
|
29
31
|
"perpage": "100",
|
|
30
32
|
"addheaderindexes": "",
|
|
31
|
-
"condition": '[{"chunkedResult":"热门5000股票","opName":"and","opProperty":"","uiText":
|
|
33
|
+
"condition": '[{"chunkedResult":"热门5000股票","opName":"and","opProperty":"","uiText":'
|
|
34
|
+
'"个股热度排名<=5000且个股热度从大到小排名","sonSize":3,"queryText":'
|
|
35
|
+
'"个股热度排名<=5000且个股热度从大到小排名","relatedSize":3},'
|
|
36
|
+
'{"reportType":"NATURAL_DAILY","dateType":"+区间","indexName":'
|
|
37
|
+
'"个股热度排名","indexProperties":["nodate 1","交易日期 20230817",'
|
|
38
|
+
'"<=5000"],"valueType":"_整型数值","domain":"abs_股票领域","sonSize"'
|
|
39
|
+
':0,"relatedSize":0,"source":"new_parser","tag":"个股热度排名","type"'
|
|
40
|
+
':"index","indexPropertiesMap":{"<=":"5000","交易日期":"20230817","nodate":"1"}},'
|
|
41
|
+
'{"opName":"sort","opProperty":"从大到小排名","sonSize":1,"relatedSize":0},'
|
|
42
|
+
'{"reportType":"NATURAL_DAILY","dateType":"+区间","indexName":"个股热度",'
|
|
43
|
+
'"indexProperties":["nodate 1","起始交易日期 20230817","截止交易日期 20230817"],'
|
|
44
|
+
'"valueType":"_浮点型数值","domain":"abs_股票领域","sonSize":0,"relatedSize":0,'
|
|
45
|
+
'"source":"new_parser","tag":"个股热度","type":"index","indexPropertiesMap":'
|
|
46
|
+
'{"起始交易日期":"20230817","截止交易日期":"20230817","nodate":"1"}}]'.replace(
|
|
32
47
|
"20230817", date
|
|
33
48
|
),
|
|
34
49
|
"codelist": "",
|
|
@@ -44,9 +59,6 @@ def stock_hot_rank_wc(date: str = "20230815") -> pd.DataFrame:
|
|
|
44
59
|
"business_cat": "soniu",
|
|
45
60
|
"uuid": "24087",
|
|
46
61
|
}
|
|
47
|
-
headers = {
|
|
48
|
-
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36"
|
|
49
|
-
}
|
|
50
62
|
big_df = pd.DataFrame()
|
|
51
63
|
tqdm = get_tqdm()
|
|
52
64
|
for page in tqdm(range(1, 51), leave=False):
|
|
@@ -64,10 +76,10 @@ def stock_hot_rank_wc(date: str = "20230815") -> pd.DataFrame:
|
|
|
64
76
|
big_df["index"] = range(1, len(big_df) + 1)
|
|
65
77
|
try:
|
|
66
78
|
rank_date_str = big_df.columns[1].split("[")[1].strip("]")
|
|
67
|
-
except:
|
|
79
|
+
except: # noqa: E722
|
|
68
80
|
try:
|
|
69
81
|
rank_date_str = big_df.columns[2].split("[")[1].strip("]")
|
|
70
|
-
except:
|
|
82
|
+
except: # noqa: E722
|
|
71
83
|
rank_date_str = date
|
|
72
84
|
big_df.rename(
|
|
73
85
|
columns={
|
|
@@ -100,5 +112,5 @@ def stock_hot_rank_wc(date: str = "20230815") -> pd.DataFrame:
|
|
|
100
112
|
|
|
101
113
|
|
|
102
114
|
if __name__ == "__main__":
|
|
103
|
-
stock_hot_rank_wc_df = stock_hot_rank_wc(date="
|
|
115
|
+
stock_hot_rank_wc_df = stock_hot_rank_wc(date="20240920")
|
|
104
116
|
print(stock_hot_rank_wc_df)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
akshare/__init__.py,sha256=
|
|
1
|
+
akshare/__init__.py,sha256=hJffLPp34sDasydnUaiXjAmvpQLUWySJHC-plk6slqc,181804
|
|
2
2
|
akshare/datasets.py,sha256=-qdwaQjgBlftX84uM74KJqCYJYkQ50PV416_neA4uls,995
|
|
3
3
|
akshare/air/__init__.py,sha256=RMTf1bT5EOE3ttWpn3hGu1LtUmsVxDoa0W7W0gXHOy8,81
|
|
4
4
|
akshare/air/air_hebei.py,sha256=xIXNGLK7IGYqrkteM9fxnHAwWqk6PCQs6D9-ggZ7byY,4442
|
|
@@ -333,7 +333,7 @@ akshare/stock_feature/stock_margin_szse.py,sha256=KUxJ4lsLKi_pp934RAKWgJskfkVk4n
|
|
|
333
333
|
akshare/stock_feature/stock_market_legu.py,sha256=_LeyGUGyZFeD-1fnJPc4eIQkeoWAmoc92aikwYW7EdU,1897
|
|
334
334
|
akshare/stock_feature/stock_pankou_em.py,sha256=HEQJAp9bx6i0SlERl_klp6Tp2PCPgR-J_fKU4i277Bc,5285
|
|
335
335
|
akshare/stock_feature/stock_qsjy_em.py,sha256=7EHroLZC3-X_3WNhb7GV9MPQHbxjtkfKI_YEbTvnSb0,3913
|
|
336
|
-
akshare/stock_feature/stock_report_em.py,sha256=
|
|
336
|
+
akshare/stock_feature/stock_report_em.py,sha256=jhePrTKGIYzdz8idiPoDs1vEajd73XRIFpZyWQggKa4,18075
|
|
337
337
|
akshare/stock_feature/stock_research_report_em.py,sha256=XFQadpUI2l0-Ik8BQWf-eCC4uFC1xxt9VNiZ9NU2zp0,4888
|
|
338
338
|
akshare/stock_feature/stock_sns_sseinfo.py,sha256=TGGLw5P77Hh-sSHgw_KKoK29d1m_V_2GDQXe9m_XFew,4556
|
|
339
339
|
akshare/stock_feature/stock_sy_em.py,sha256=GdqjWH8uVy_8st2sYENgzNlJRQxkTajDkaHBwX31pjc,17721
|
|
@@ -341,7 +341,7 @@ akshare/stock_feature/stock_technology_ths.py,sha256=Cf-QYVJ2aweFIlQAgqAom6bYyfn
|
|
|
341
341
|
akshare/stock_feature/stock_tfp_em.py,sha256=nN4gcK6hOe4tIA-nOoY_lMNC7qY7o9Ga35_-VvxS3fA,2474
|
|
342
342
|
akshare/stock_feature/stock_three_report_em.py,sha256=riIE9YwMKn279GAAdBFATTfK4_ui4X30Ew1LNcIwwsk,23675
|
|
343
343
|
akshare/stock_feature/stock_ttm_lyr.py,sha256=_UYGCAsZZqYrcnwdT3qVwM9kPxuOshWIUY4lVaO1rLw,1176
|
|
344
|
-
akshare/stock_feature/stock_wencai.py,sha256=
|
|
344
|
+
akshare/stock_feature/stock_wencai.py,sha256=KPwt72SOnK4dHh2vpWOHYynkj8Vrbv3AW-EXK7d3NZY,4343
|
|
345
345
|
akshare/stock_feature/stock_yjbb_em.py,sha256=J-JFnRy4M1DlM46J2ccJTdnkUrI3M2lTYj4CpzqgADo,4275
|
|
346
346
|
akshare/stock_feature/stock_yjyg_cninfo.py,sha256=DveTsc-DhLzRDBJZQ7yv8KogzG-vo3Pmr2oRgCzaH1E,2870
|
|
347
347
|
akshare/stock_feature/stock_yjyg_em.py,sha256=CnpSNyOUYVzoduFTVwsERtdp_uJimlHddw4uWV0iDmc,12184
|
|
@@ -380,8 +380,8 @@ akshare/utils/token_process.py,sha256=K4rGXjh_tgugbRcyOK2h2x0jP3PT65IIK7nxhUKhOe
|
|
|
380
380
|
akshare/utils/tqdm.py,sha256=MuPNwcswkOGjwWQOMWXi9ZvQ_RmW4obCWRj2i7HM7FE,847
|
|
381
381
|
tests/__init__.py,sha256=gNzhlO0UPjFq6Ieb38kaVIODXv4cTDByrdohAZnDYt4,82
|
|
382
382
|
tests/test_func.py,sha256=j1MGYbZI2if2j_LY1S4FLsf4qfq4NwVqD5wmRlv5Log,832
|
|
383
|
-
akshare-1.14.
|
|
384
|
-
akshare-1.14.
|
|
385
|
-
akshare-1.14.
|
|
386
|
-
akshare-1.14.
|
|
387
|
-
akshare-1.14.
|
|
383
|
+
akshare-1.14.80.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
|
|
384
|
+
akshare-1.14.80.dist-info/METADATA,sha256=4PKzIicP5KvR1Wh0tDYVKSnCgETraC5sZW3w0kkY09o,14112
|
|
385
|
+
akshare-1.14.80.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
|
386
|
+
akshare-1.14.80.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
|
|
387
|
+
akshare-1.14.80.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|