akshare 1.16.50__py3-none-any.whl → 1.16.51__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/stock_zh_a_special.py +243 -243
- akshare/stock_feature/stock_ebs_lg.py +5 -4
- akshare/stock_fundamental/stock_basic_info_xq.py +4 -4
- {akshare-1.16.50.dist-info → akshare-1.16.51.dist-info}/METADATA +1 -1
- {akshare-1.16.50.dist-info → akshare-1.16.51.dist-info}/RECORD +9 -9
- {akshare-1.16.50.dist-info → akshare-1.16.51.dist-info}/LICENSE +0 -0
- {akshare-1.16.50.dist-info → akshare-1.16.51.dist-info}/WHEEL +0 -0
- {akshare-1.16.50.dist-info → akshare-1.16.51.dist-info}/top_level.txt +0 -0
akshare/__init__.py
CHANGED
@@ -3059,9 +3059,10 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
|
|
3059
3059
|
1.16.48 fix: fix stock_individual_basic_info_xq interface
|
3060
3060
|
1.16.49 fix: fix index_zh_a_hist_min_em interface
|
3061
3061
|
1.16.50 fix: fix futures_inventory_99 interface
|
3062
|
+
1.16.51 fix: fix stock_individual_basic_info_xq interface
|
3062
3063
|
"""
|
3063
3064
|
|
3064
|
-
__version__ = "1.16.
|
3065
|
+
__version__ = "1.16.51"
|
3065
3066
|
__author__ = "AKFamily"
|
3066
3067
|
|
3067
3068
|
import sys
|
@@ -1,18 +1,21 @@
|
|
1
1
|
# -*- coding:utf-8 -*-
|
2
2
|
# !/usr/bin/env python
|
3
3
|
"""
|
4
|
-
Date:
|
4
|
+
Date: 2025/3/19 15:30
|
5
5
|
Desc: 新股和风险警示股
|
6
6
|
新浪-行情中心-沪深股市-次新股
|
7
|
-
|
7
|
+
https://vip.stock.finance.sina.com.cn/mkt/#new_stock
|
8
8
|
东方财富网-行情中心-沪深个股-风险警示板
|
9
9
|
https://quote.eastmoney.com/center/gridlist.html#st_board
|
10
10
|
"""
|
11
|
+
|
11
12
|
import math
|
12
13
|
|
13
14
|
import pandas as pd
|
14
15
|
import requests
|
15
16
|
|
17
|
+
from akshare.utils.func import fetch_paginated_data
|
18
|
+
|
16
19
|
|
17
20
|
def stock_zh_a_st_em() -> pd.DataFrame:
|
18
21
|
"""
|
@@ -21,88 +24,87 @@ def stock_zh_a_st_em() -> pd.DataFrame:
|
|
21
24
|
:return: 风险警示板
|
22
25
|
:rtype: pandas.DataFrame
|
23
26
|
"""
|
24
|
-
url =
|
27
|
+
url = "https://40.push2.eastmoney.com/api/qt/clist/get"
|
25
28
|
params = {
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
29
|
+
"pn": "1",
|
30
|
+
"pz": "100",
|
31
|
+
"po": "1",
|
32
|
+
"np": "1",
|
33
|
+
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
34
|
+
"fltt": "2",
|
35
|
+
"invt": "2",
|
36
|
+
"fid": "f3",
|
37
|
+
"fs": "m:0 f:4,m:1 f:4",
|
38
|
+
"fields": "f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,"
|
39
|
+
"f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152",
|
40
|
+
"_": "1631107510188",
|
37
41
|
}
|
38
|
-
|
39
|
-
data_json = r.json()
|
40
|
-
temp_df = pd.DataFrame(data_json['data']['diff'])
|
41
|
-
temp_df.reset_index(inplace=True)
|
42
|
-
temp_df['index'] = range(1, len(temp_df)+1)
|
42
|
+
temp_df = fetch_paginated_data(url, params)
|
43
43
|
temp_df.columns = [
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
44
|
+
"序号",
|
45
|
+
"最新价",
|
46
|
+
"涨跌幅",
|
47
|
+
"涨跌额",
|
48
|
+
"成交量",
|
49
|
+
"成交额",
|
50
|
+
"振幅",
|
51
|
+
"换手率",
|
52
|
+
"市盈率-动态",
|
53
|
+
"量比",
|
54
|
+
"_",
|
55
|
+
"代码",
|
56
|
+
"_",
|
57
|
+
"名称",
|
58
|
+
"最高",
|
59
|
+
"最低",
|
60
|
+
"今开",
|
61
|
+
"昨收",
|
62
|
+
"_",
|
63
|
+
"_",
|
64
|
+
"_",
|
65
|
+
"市净率",
|
66
|
+
"_",
|
67
|
+
"_",
|
68
|
+
"_",
|
69
|
+
"_",
|
70
|
+
"_",
|
71
|
+
"_",
|
72
|
+
"_",
|
73
|
+
"_",
|
74
|
+
"_",
|
75
75
|
]
|
76
|
-
temp_df = temp_df[
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
temp_df[
|
98
|
-
temp_df[
|
99
|
-
temp_df[
|
100
|
-
temp_df[
|
101
|
-
temp_df[
|
102
|
-
temp_df[
|
103
|
-
temp_df[
|
104
|
-
temp_df[
|
105
|
-
temp_df[
|
76
|
+
temp_df = temp_df[
|
77
|
+
[
|
78
|
+
"序号",
|
79
|
+
"代码",
|
80
|
+
"名称",
|
81
|
+
"最新价",
|
82
|
+
"涨跌幅",
|
83
|
+
"涨跌额",
|
84
|
+
"成交量",
|
85
|
+
"成交额",
|
86
|
+
"振幅",
|
87
|
+
"最高",
|
88
|
+
"最低",
|
89
|
+
"今开",
|
90
|
+
"昨收",
|
91
|
+
"量比",
|
92
|
+
"换手率",
|
93
|
+
"市盈率-动态",
|
94
|
+
"市净率",
|
95
|
+
]
|
96
|
+
]
|
97
|
+
temp_df["最新价"] = pd.to_numeric(temp_df["最新价"], errors="coerce")
|
98
|
+
temp_df["涨跌幅"] = pd.to_numeric(temp_df["涨跌幅"], errors="coerce")
|
99
|
+
temp_df["涨跌额"] = pd.to_numeric(temp_df["涨跌额"], errors="coerce")
|
100
|
+
temp_df["成交量"] = pd.to_numeric(temp_df["成交量"], errors="coerce")
|
101
|
+
temp_df["成交额"] = pd.to_numeric(temp_df["成交额"], errors="coerce")
|
102
|
+
temp_df["振幅"] = pd.to_numeric(temp_df["振幅"], errors="coerce")
|
103
|
+
temp_df["最高"] = pd.to_numeric(temp_df["最高"], errors="coerce")
|
104
|
+
temp_df["最低"] = pd.to_numeric(temp_df["最低"], errors="coerce")
|
105
|
+
temp_df["今开"] = pd.to_numeric(temp_df["今开"], errors="coerce")
|
106
|
+
temp_df["量比"] = pd.to_numeric(temp_df["量比"], errors="coerce")
|
107
|
+
temp_df["换手率"] = pd.to_numeric(temp_df["换手率"], errors="coerce")
|
106
108
|
return temp_df
|
107
109
|
|
108
110
|
|
@@ -113,195 +115,193 @@ def stock_zh_a_new_em() -> pd.DataFrame:
|
|
113
115
|
:return: 新股
|
114
116
|
:rtype: pandas.DataFrame
|
115
117
|
"""
|
116
|
-
url =
|
118
|
+
url = "https://40.push2.eastmoney.com/api/qt/clist/get"
|
117
119
|
params = {
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
120
|
+
"pn": "1",
|
121
|
+
"pz": "100",
|
122
|
+
"po": "1",
|
123
|
+
"np": "1",
|
124
|
+
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
125
|
+
"fltt": "2",
|
126
|
+
"invt": "2",
|
127
|
+
"fid": "f26",
|
128
|
+
"fs": "m:0 f:8,m:1 f:8",
|
129
|
+
"fields": "f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,"
|
130
|
+
"f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152",
|
131
|
+
"_": "1631107510188",
|
129
132
|
}
|
130
|
-
|
131
|
-
data_json = r.json()
|
132
|
-
temp_df = pd.DataFrame(data_json['data']['diff'])
|
133
|
-
temp_df.reset_index(inplace=True)
|
134
|
-
temp_df['index'] = range(1, len(temp_df)+1)
|
133
|
+
temp_df = fetch_paginated_data(url, params)
|
135
134
|
temp_df.columns = [
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
135
|
+
"序号",
|
136
|
+
"最新价",
|
137
|
+
"涨跌幅",
|
138
|
+
"涨跌额",
|
139
|
+
"成交量",
|
140
|
+
"成交额",
|
141
|
+
"振幅",
|
142
|
+
"换手率",
|
143
|
+
"市盈率-动态",
|
144
|
+
"量比",
|
145
|
+
"_",
|
146
|
+
"代码",
|
147
|
+
"_",
|
148
|
+
"名称",
|
149
|
+
"最高",
|
150
|
+
"最低",
|
151
|
+
"今开",
|
152
|
+
"昨收",
|
153
|
+
"_",
|
154
|
+
"_",
|
155
|
+
"_",
|
156
|
+
"市净率",
|
157
|
+
"_",
|
158
|
+
"_",
|
159
|
+
"_",
|
160
|
+
"_",
|
161
|
+
"_",
|
162
|
+
"_",
|
163
|
+
"_",
|
164
|
+
"_",
|
165
|
+
"_",
|
167
166
|
]
|
168
|
-
temp_df = temp_df[
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
temp_df[
|
190
|
-
temp_df[
|
191
|
-
temp_df[
|
192
|
-
temp_df[
|
193
|
-
temp_df[
|
194
|
-
temp_df[
|
195
|
-
temp_df[
|
196
|
-
temp_df[
|
197
|
-
temp_df[
|
167
|
+
temp_df = temp_df[
|
168
|
+
[
|
169
|
+
"序号",
|
170
|
+
"代码",
|
171
|
+
"名称",
|
172
|
+
"最新价",
|
173
|
+
"涨跌幅",
|
174
|
+
"涨跌额",
|
175
|
+
"成交量",
|
176
|
+
"成交额",
|
177
|
+
"振幅",
|
178
|
+
"最高",
|
179
|
+
"最低",
|
180
|
+
"今开",
|
181
|
+
"昨收",
|
182
|
+
"量比",
|
183
|
+
"换手率",
|
184
|
+
"市盈率-动态",
|
185
|
+
"市净率",
|
186
|
+
]
|
187
|
+
]
|
188
|
+
temp_df["最新价"] = pd.to_numeric(temp_df["最新价"], errors="coerce")
|
189
|
+
temp_df["涨跌幅"] = pd.to_numeric(temp_df["涨跌幅"], errors="coerce")
|
190
|
+
temp_df["涨跌额"] = pd.to_numeric(temp_df["涨跌额"], errors="coerce")
|
191
|
+
temp_df["成交量"] = pd.to_numeric(temp_df["成交量"], errors="coerce")
|
192
|
+
temp_df["成交额"] = pd.to_numeric(temp_df["成交额"], errors="coerce")
|
193
|
+
temp_df["振幅"] = pd.to_numeric(temp_df["振幅"], errors="coerce")
|
194
|
+
temp_df["最高"] = pd.to_numeric(temp_df["最高"], errors="coerce")
|
195
|
+
temp_df["最低"] = pd.to_numeric(temp_df["最低"], errors="coerce")
|
196
|
+
temp_df["今开"] = pd.to_numeric(temp_df["今开"], errors="coerce")
|
197
|
+
temp_df["量比"] = pd.to_numeric(temp_df["量比"], errors="coerce")
|
198
|
+
temp_df["换手率"] = pd.to_numeric(temp_df["换手率"], errors="coerce")
|
198
199
|
return temp_df
|
199
200
|
|
200
201
|
|
201
202
|
def stock_zh_a_stop_em() -> pd.DataFrame:
|
202
203
|
"""
|
203
204
|
东方财富网-行情中心-沪深个股-两网及退市
|
204
|
-
|
205
|
+
https://quote.eastmoney.com/center/gridlist.html#staq_net_board
|
205
206
|
:return: 两网及退市
|
206
207
|
:rtype: pandas.DataFrame
|
207
208
|
"""
|
208
|
-
url =
|
209
|
+
url = "https://40.push2.eastmoney.com/api/qt/clist/get"
|
209
210
|
params = {
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
211
|
+
"pn": "1",
|
212
|
+
"pz": "100",
|
213
|
+
"po": "1",
|
214
|
+
"np": "1",
|
215
|
+
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
216
|
+
"fltt": "2",
|
217
|
+
"invt": "2",
|
218
|
+
"fid": "f3",
|
219
|
+
"fs": "m:0 s:3",
|
220
|
+
"fields": "f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,"
|
221
|
+
"f18,f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152",
|
222
|
+
"_": "1631107510188",
|
221
223
|
}
|
222
|
-
|
223
|
-
data_json = r.json()
|
224
|
-
temp_df = pd.DataFrame(data_json['data']['diff'])
|
225
|
-
temp_df.reset_index(inplace=True)
|
226
|
-
temp_df['index'] = range(1, len(temp_df)+1)
|
224
|
+
temp_df = fetch_paginated_data(url, params)
|
227
225
|
temp_df.columns = [
|
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
|
-
|
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
|
+
temp_df = temp_df[
|
259
|
+
[
|
260
|
+
"序号",
|
261
|
+
"代码",
|
262
|
+
"名称",
|
263
|
+
"最新价",
|
264
|
+
"涨跌幅",
|
265
|
+
"涨跌额",
|
266
|
+
"成交量",
|
267
|
+
"成交额",
|
268
|
+
"振幅",
|
269
|
+
"最高",
|
270
|
+
"最低",
|
271
|
+
"今开",
|
272
|
+
"昨收",
|
273
|
+
"量比",
|
274
|
+
"换手率",
|
275
|
+
"市盈率-动态",
|
276
|
+
"市净率",
|
277
|
+
]
|
259
278
|
]
|
260
|
-
temp_df = temp_df[
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
'最低',
|
272
|
-
'今开',
|
273
|
-
'昨收',
|
274
|
-
'量比',
|
275
|
-
'换手率',
|
276
|
-
'市盈率-动态',
|
277
|
-
'市净率',
|
278
|
-
]]
|
279
|
-
temp_df['最新价'] = pd.to_numeric(temp_df['最新价'], errors="coerce")
|
280
|
-
temp_df['涨跌幅'] = pd.to_numeric(temp_df['涨跌幅'], errors="coerce")
|
281
|
-
temp_df['涨跌额'] = pd.to_numeric(temp_df['涨跌额'], errors="coerce")
|
282
|
-
temp_df['成交量'] = pd.to_numeric(temp_df['成交量'], errors="coerce")
|
283
|
-
temp_df['成交额'] = pd.to_numeric(temp_df['成交额'], errors="coerce")
|
284
|
-
temp_df['振幅'] = pd.to_numeric(temp_df['振幅'], errors="coerce")
|
285
|
-
temp_df['最高'] = pd.to_numeric(temp_df['最高'], errors="coerce")
|
286
|
-
temp_df['最低'] = pd.to_numeric(temp_df['最低'], errors="coerce")
|
287
|
-
temp_df['今开'] = pd.to_numeric(temp_df['今开'], errors="coerce")
|
288
|
-
temp_df['量比'] = pd.to_numeric(temp_df['量比'], errors="coerce")
|
289
|
-
temp_df['换手率'] = pd.to_numeric(temp_df['换手率'], errors="coerce")
|
279
|
+
temp_df["最新价"] = pd.to_numeric(temp_df["最新价"], errors="coerce")
|
280
|
+
temp_df["涨跌幅"] = pd.to_numeric(temp_df["涨跌幅"], errors="coerce")
|
281
|
+
temp_df["涨跌额"] = pd.to_numeric(temp_df["涨跌额"], errors="coerce")
|
282
|
+
temp_df["成交量"] = pd.to_numeric(temp_df["成交量"], errors="coerce")
|
283
|
+
temp_df["成交额"] = pd.to_numeric(temp_df["成交额"], errors="coerce")
|
284
|
+
temp_df["振幅"] = pd.to_numeric(temp_df["振幅"], errors="coerce")
|
285
|
+
temp_df["最高"] = pd.to_numeric(temp_df["最高"], errors="coerce")
|
286
|
+
temp_df["最低"] = pd.to_numeric(temp_df["最低"], errors="coerce")
|
287
|
+
temp_df["今开"] = pd.to_numeric(temp_df["今开"], errors="coerce")
|
288
|
+
temp_df["量比"] = pd.to_numeric(temp_df["量比"], errors="coerce")
|
289
|
+
temp_df["换手率"] = pd.to_numeric(temp_df["换手率"], errors="coerce")
|
290
290
|
return temp_df
|
291
291
|
|
292
292
|
|
293
293
|
def stock_zh_a_new() -> pd.DataFrame:
|
294
294
|
"""
|
295
295
|
新浪财经-行情中心-沪深股市-次新股
|
296
|
-
|
296
|
+
https://vip.stock.finance.sina.com.cn/mkt/#new_stock
|
297
297
|
:return: 次新股行情数据
|
298
298
|
:rtype: pandas.DataFrame
|
299
299
|
"""
|
300
|
-
url = "
|
300
|
+
url = "https://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/Market_Center.getHQNodeStockCount"
|
301
301
|
params = {"node": "new_stock"}
|
302
302
|
r = requests.get(url, params=params)
|
303
303
|
total_page = math.ceil(int(r.json()) / 80)
|
304
|
-
url = "
|
304
|
+
url = "https://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/Market_Center.getHQNodeData"
|
305
305
|
big_df = pd.DataFrame()
|
306
306
|
for page in range(1, total_page + 1):
|
307
307
|
params = {
|
@@ -332,9 +332,9 @@ def stock_zh_a_new() -> pd.DataFrame:
|
|
332
332
|
"turnoverratio",
|
333
333
|
]
|
334
334
|
]
|
335
|
-
big_df[
|
336
|
-
big_df[
|
337
|
-
big_df[
|
335
|
+
big_df["open"] = pd.to_numeric(big_df["open"])
|
336
|
+
big_df["high"] = pd.to_numeric(big_df["high"])
|
337
|
+
big_df["low"] = pd.to_numeric(big_df["low"])
|
338
338
|
return big_df
|
339
339
|
|
340
340
|
|
@@ -1,10 +1,11 @@
|
|
1
1
|
#!/usr/bin/env python
|
2
2
|
# -*- coding:utf-8 -*-
|
3
3
|
"""
|
4
|
-
Date:
|
4
|
+
Date: 2025/3/19 15:30
|
5
5
|
Desc: 乐咕乐股-股债利差
|
6
6
|
https://legulegu.com/stockdata/equity-bond-spread
|
7
7
|
"""
|
8
|
+
|
8
9
|
import pandas as pd
|
9
10
|
import requests
|
10
11
|
|
@@ -24,11 +25,11 @@ def stock_ebs_lg() -> pd.DataFrame:
|
|
24
25
|
r = requests.get(
|
25
26
|
url,
|
26
27
|
params=params,
|
27
|
-
**get_cookie_csrf(url="https://legulegu.com/stockdata/equity-bond-spread")
|
28
|
+
**get_cookie_csrf(url="https://legulegu.com/stockdata/equity-bond-spread"),
|
28
29
|
)
|
29
30
|
data_json = r.json()
|
30
31
|
temp_df = pd.DataFrame(data_json["data"])
|
31
|
-
temp_df["date"] = pd.to_datetime(temp_df["date"]).dt.date
|
32
|
+
temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
|
32
33
|
temp_df.rename(
|
33
34
|
columns={
|
34
35
|
"date": "日期",
|
@@ -46,7 +47,7 @@ def stock_ebs_lg() -> pd.DataFrame:
|
|
46
47
|
"股债利差均线",
|
47
48
|
]
|
48
49
|
]
|
49
|
-
temp_df[
|
50
|
+
temp_df["日期"] = pd.to_datetime(temp_df["日期"], errors="coerce").dt.date
|
50
51
|
temp_df["沪深300指数"] = pd.to_numeric(temp_df["沪深300指数"], errors="coerce")
|
51
52
|
temp_df["股债利差"] = pd.to_numeric(temp_df["股债利差"], errors="coerce")
|
52
53
|
temp_df["股债利差均线"] = pd.to_numeric(temp_df["股债利差均线"], errors="coerce")
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# !/usr/bin/env python
|
2
2
|
# -*- coding:utf-8 -*-
|
3
3
|
"""
|
4
|
-
Date: 2025/3/
|
4
|
+
Date: 2025/3/19 15:00
|
5
5
|
Desc: 雪球-个股-公司概况-公司简介
|
6
6
|
https://xueqiu.com/snowman/S/SH601127/detail#/GSJJ
|
7
7
|
"""
|
@@ -27,7 +27,7 @@ def stock_individual_basic_info_xq(
|
|
27
27
|
:return: 公司简介
|
28
28
|
:rtype: pandas.DataFrame
|
29
29
|
"""
|
30
|
-
xq_a_token = token or "
|
30
|
+
xq_a_token = token or "cc9943aa6d41f0ae420f49b428f2f90a472b070a"
|
31
31
|
url = "https://stock.xueqiu.com/v5/stock/f10/cn/company.json"
|
32
32
|
params = {
|
33
33
|
"symbol": symbol,
|
@@ -56,7 +56,7 @@ def stock_individual_basic_info_us_xq(
|
|
56
56
|
:return: 公司简介
|
57
57
|
:rtype: pandas.DataFrame
|
58
58
|
"""
|
59
|
-
xq_a_token = token or "
|
59
|
+
xq_a_token = token or "cc9943aa6d41f0ae420f49b428f2f90a472b070a"
|
60
60
|
url = "https://stock.xueqiu.com/v5/stock/f10/us/company.json"
|
61
61
|
params = {
|
62
62
|
"symbol": symbol,
|
@@ -85,7 +85,7 @@ def stock_individual_basic_info_hk_xq(
|
|
85
85
|
:return: 公司简介
|
86
86
|
:rtype: pandas.DataFrame
|
87
87
|
"""
|
88
|
-
xq_a_token = token or "
|
88
|
+
xq_a_token = token or "cc9943aa6d41f0ae420f49b428f2f90a472b070a"
|
89
89
|
url = "https://stock.xueqiu.com/v5/stock/f10/hk/company.json"
|
90
90
|
params = {
|
91
91
|
"symbol": symbol,
|
@@ -1,4 +1,4 @@
|
|
1
|
-
akshare/__init__.py,sha256=
|
1
|
+
akshare/__init__.py,sha256=TqJTpZCmzhcqCCvs2w3WiJq0itrK3kEbmkDuTgW1mig,191496
|
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
|
@@ -282,7 +282,7 @@ akshare/stock/stock_us_sina.py,sha256=D4fhJgpmvnlVoeSV2wQQ7H6lig8h6vaJp71o88dZhD
|
|
282
282
|
akshare/stock/stock_weibo_nlp.py,sha256=eM7ofsNSrKiYeS0g38Qj9CxT6dkJZrn_pmziIiTqp4U,3286
|
283
283
|
akshare/stock/stock_xq.py,sha256=mPBVg2zA4XkTVAUXeZx8c3nzchm4D1AaMBbC-g87yLQ,4641
|
284
284
|
akshare/stock/stock_zh_a_sina.py,sha256=ZobGnFMIR67ENk05ocqIkeiItLlgK67dW8ZjLdDss3s,18862
|
285
|
-
akshare/stock/stock_zh_a_special.py,sha256=
|
285
|
+
akshare/stock/stock_zh_a_special.py,sha256=VInvKbA6u_hJjjUKj7I5pG9rqt3kSZzJrZNfVs2Fqas,10169
|
286
286
|
akshare/stock/stock_zh_a_tick_tx.py,sha256=TJUAWLKAeoLEaVVJQlj0t-1smZGoAO0X0rPsUPVhZZ4,2131
|
287
287
|
akshare/stock/stock_zh_ah_tx.py,sha256=1DfvP1xF9G4jDnqlacZiYIMWZBujxW9Kycre3yr6MhM,9212
|
288
288
|
akshare/stock/stock_zh_b_sina.py,sha256=-sd0wG4zETsgrJSXivww4YieXfnVMNSfh3phsX_XBBc,16058
|
@@ -309,7 +309,7 @@ akshare/stock_feature/stock_congestion_lg.py,sha256=iTEcmL0HoSqWGfxv_gSM-qA4O23a
|
|
309
309
|
akshare/stock_feature/stock_cyq_em.py,sha256=bLy01IqlPDbaqcLdAf3ClVQQHF0YB_NxQ-p-Y9Oc0Z8,10961
|
310
310
|
akshare/stock_feature/stock_disclosure_cninfo.py,sha256=1Eje6abqk6HNOlpCueGnaR_r1-aqTv2f51h4QAHCQzo,10661
|
311
311
|
akshare/stock_feature/stock_dxsyl_em.py,sha256=9d5tfHCB9Ls1FQdyOCElZt8YF5ltKwPa4AvnXL8u48o,18789
|
312
|
-
akshare/stock_feature/stock_ebs_lg.py,sha256=
|
312
|
+
akshare/stock_feature/stock_ebs_lg.py,sha256=ZjAIBc-HWOwpGkjGeDYT05o3lkCs6Vk6jdoMOHDpT88,1787
|
313
313
|
akshare/stock_feature/stock_esg_sina.py,sha256=NKHbyYtuSgYubko1jDWgW0qQFTTcEVEtKA0kasHsahc,11544
|
314
314
|
akshare/stock_feature/stock_fhps_em.py,sha256=Ex355qj1j_EfuM7ImObuFJoUUqpXO73a-zXaDJMKVuU,9471
|
315
315
|
akshare/stock_feature/stock_fhps_ths.py,sha256=NosH1xyT1Pif4T9tchdtJTBEpe6g1Wq2kjvxJDsZD_Y,1805
|
@@ -361,7 +361,7 @@ akshare/stock_feature/stock_zh_vote_baidu.py,sha256=SsSNnCq7PDFMzWFcPFcC_MSc9rua
|
|
361
361
|
akshare/stock_feature/stock_ztb_em.py,sha256=hMi0NSlBs-qEid3oXKOAempZSItNApPDQKvcsdtF8j8,18141
|
362
362
|
akshare/stock_feature/ths.js,sha256=AWPkHf3L2Il1UUL0F5qDqNn1dfU0OlZBNUbMf8AmI3Y,39664
|
363
363
|
akshare/stock_fundamental/__init__.py,sha256=jiXoO9OXiMxB0wHaPQkuxNckYuoFKtzuhZL1ytnE2nQ,82
|
364
|
-
akshare/stock_fundamental/stock_basic_info_xq.py,sha256=
|
364
|
+
akshare/stock_fundamental/stock_basic_info_xq.py,sha256=PJveGTe3NG5F5owYdLFbpC6e0HhNil00G5OhDYlz06A,3602
|
365
365
|
akshare/stock_fundamental/stock_finance_hk_em.py,sha256=cCiaWX6ZyKe4W2H9qe-ttpMeVMWp6tHdvnjhRuYQhl8,7017
|
366
366
|
akshare/stock_fundamental/stock_finance_sina.py,sha256=432EjGHWFtG0L32PNSC_HWpVLDntabNt9koyUtNG77E,30718
|
367
367
|
akshare/stock_fundamental/stock_finance_ths.py,sha256=nS9bt_hzklzh7pBTCH1PjOa69OUcNZ41Z_zSHiz9Y1U,11527
|
@@ -391,8 +391,8 @@ akshare/utils/token_process.py,sha256=K4rGXjh_tgugbRcyOK2h2x0jP3PT65IIK7nxhUKhOe
|
|
391
391
|
akshare/utils/tqdm.py,sha256=MuPNwcswkOGjwWQOMWXi9ZvQ_RmW4obCWRj2i7HM7FE,847
|
392
392
|
tests/__init__.py,sha256=gNzhlO0UPjFq6Ieb38kaVIODXv4cTDByrdohAZnDYt4,82
|
393
393
|
tests/test_func.py,sha256=j1MGYbZI2if2j_LY1S4FLsf4qfq4NwVqD5wmRlv5Log,832
|
394
|
-
akshare-1.16.
|
395
|
-
akshare-1.16.
|
396
|
-
akshare-1.16.
|
397
|
-
akshare-1.16.
|
398
|
-
akshare-1.16.
|
394
|
+
akshare-1.16.51.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
|
395
|
+
akshare-1.16.51.dist-info/METADATA,sha256=W5hocZgQqKqqqNs4d-s-2S4bJWSdVBnMwOX_TEgA9I4,13685
|
396
|
+
akshare-1.16.51.dist-info/WHEEL,sha256=beeZ86-EfXScwlR_HKu4SllMC9wUEj_8Z_4FJ3egI2w,91
|
397
|
+
akshare-1.16.51.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
|
398
|
+
akshare-1.16.51.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|