akshare 1.14.60__py3-none-any.whl → 1.14.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.

Potentially problematic release.


This version of akshare might be problematic. Click here for more details.

akshare/__init__.py CHANGED
@@ -2871,9 +2871,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
2871
2871
  1.14.58 add: add spot_mixed_feed_soozhu interface
2872
2872
  1.14.59 fix: fix macro_cnbs interface
2873
2873
  1.14.60 fix: fix bond_zh_cov_info_ths interface
2874
+ 1.14.61 fix: fix stock_fund_flow_individual interface
2875
+ 1.14.62 fix: fix stock_zt_pool_em interface
2874
2876
  """
2875
2877
 
2876
- __version__ = "1.14.60"
2878
+ __version__ = "1.14.62"
2877
2879
  __author__ = "AKFamily"
2878
2880
 
2879
2881
  import sys
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2024/2/21 11:00
4
+ Date: 2024/8/15 18:00
5
5
  Desc: 同花顺-数据中心-资金流向
6
6
  同花顺-数据中心-资金流向-个股资金流
7
7
  https://data.10jqka.com.cn/funds/ggzjl/#refCountId=data_55f13c2c_254
@@ -33,7 +33,7 @@ def _get_file_content_ths(file: str = "ths.js") -> str:
33
33
  :rtype: str
34
34
  """
35
35
  setting_file_path = get_ths_js(file)
36
- with open(setting_file_path) as f:
36
+ with open(setting_file_path, encoding="utf-8") as f:
37
37
  file_data = f.read()
38
38
  return file_data
39
39
 
@@ -61,13 +61,14 @@ def stock_fund_flow_individual(symbol: str = "即时") -> pd.DataFrame:
61
61
  "Host": "data.10jqka.com.cn",
62
62
  "Pragma": "no-cache",
63
63
  "Referer": "http://data.10jqka.com.cn/funds/hyzjl/",
64
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36",
64
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
65
+ "Chrome/90.0.4430.85 Safari/537.36",
65
66
  "X-Requested-With": "XMLHttpRequest",
66
67
  }
67
68
  url = "http://data.10jqka.com.cn/funds/ggzjl/field/code/order/desc/ajax/1/free/1/"
68
69
  r = requests.get(url, headers=headers)
69
- soup = BeautifulSoup(r.text, "lxml")
70
- raw_page = soup.find("span", attrs={"class": "page_info"}).text
70
+ soup = BeautifulSoup(r.text, features="lxml")
71
+ raw_page = soup.find(name="span", attrs={"class": "page_info"}).text
71
72
  page_num = raw_page.split("/")[1]
72
73
  if symbol == "3日排行":
73
74
  url = "http://data.10jqka.com.cn/funds/ggzjl/board/3/field/zdf/order/desc/page/{}/ajax/1/free/1/"
@@ -96,12 +97,13 @@ def stock_fund_flow_individual(symbol: str = "即时") -> pd.DataFrame:
96
97
  "Host": "data.10jqka.com.cn",
97
98
  "Pragma": "no-cache",
98
99
  "Referer": "http://data.10jqka.com.cn/funds/hyzjl/",
99
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36",
100
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
101
+ "Chrome/90.0.4430.85 Safari/537.36",
100
102
  "X-Requested-With": "XMLHttpRequest",
101
103
  }
102
104
  r = requests.get(url.format(page), headers=headers)
103
105
  temp_df = pd.read_html(StringIO(r.text))[0]
104
- big_df = pd.concat([big_df, temp_df], ignore_index=True)
106
+ big_df = pd.concat(objs=[big_df, temp_df], ignore_index=True)
105
107
 
106
108
  del big_df["序号"]
107
109
  big_df.reset_index(inplace=True)
@@ -155,15 +157,16 @@ def stock_fund_flow_concept(symbol: str = "即时") -> pd.DataFrame:
155
157
  "Host": "data.10jqka.com.cn",
156
158
  "Pragma": "no-cache",
157
159
  "Referer": "http://data.10jqka.com.cn/funds/gnzjl/",
158
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36",
160
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
161
+ "Chrome/90.0.4430.85 Safari/537.36",
159
162
  "X-Requested-With": "XMLHttpRequest",
160
163
  }
161
164
  url = (
162
165
  "http://data.10jqka.com.cn/funds/gnzjl/field/tradezdf/order/desc/ajax/1/free/1/"
163
166
  )
164
167
  r = requests.get(url, headers=headers)
165
- soup = BeautifulSoup(r.text, "lxml")
166
- raw_page = soup.find("span", attrs={"class": "page_info"}).text
168
+ soup = BeautifulSoup(r.text, features="lxml")
169
+ raw_page = soup.find(name="span", attrs={"class": "page_info"}).text
167
170
  page_num = raw_page.split("/")[1]
168
171
  if symbol == "3日排行":
169
172
  url = "http://data.10jqka.com.cn/funds/gnzjl/board/3/field/tradezdf/order/desc/page/{}/ajax/1/free/1/"
@@ -192,12 +195,13 @@ def stock_fund_flow_concept(symbol: str = "即时") -> pd.DataFrame:
192
195
  "Host": "data.10jqka.com.cn",
193
196
  "Pragma": "no-cache",
194
197
  "Referer": "http://data.10jqka.com.cn/funds/gnzjl/",
195
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36",
198
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
199
+ "Chrome/90.0.4430.85 Safari/537.36",
196
200
  "X-Requested-With": "XMLHttpRequest",
197
201
  }
198
202
  r = requests.get(url.format(page), headers=headers)
199
203
  temp_df = pd.read_html(StringIO(r.text))[0]
200
- big_df = pd.concat([big_df, temp_df], ignore_index=True)
204
+ big_df = pd.concat(objs=[big_df, temp_df], ignore_index=True)
201
205
 
202
206
  del big_df["序号"]
203
207
  big_df.reset_index(inplace=True)
@@ -259,15 +263,16 @@ def stock_fund_flow_industry(symbol: str = "即时") -> pd.DataFrame:
259
263
  "Host": "data.10jqka.com.cn",
260
264
  "Pragma": "no-cache",
261
265
  "Referer": "http://data.10jqka.com.cn/funds/hyzjl/",
262
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36",
266
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
267
+ "Chrome/90.0.4430.85 Safari/537.36",
263
268
  "X-Requested-With": "XMLHttpRequest",
264
269
  }
265
270
  url = (
266
271
  "http://data.10jqka.com.cn/funds/hyzjl/field/tradezdf/order/desc/ajax/1/free/1/"
267
272
  )
268
273
  r = requests.get(url, headers=headers)
269
- soup = BeautifulSoup(r.text, "lxml")
270
- raw_page = soup.find("span", attrs={"class": "page_info"}).text
274
+ soup = BeautifulSoup(r.text, features="lxml")
275
+ raw_page = soup.find(name="span", attrs={"class": "page_info"}).text
271
276
  page_num = raw_page.split("/")[1]
272
277
  if symbol == "3日排行":
273
278
  url = "http://data.10jqka.com.cn/funds/hyzjl/board/3/field/tradezdf/order/desc/page/{}/ajax/1/free/1/"
@@ -296,12 +301,13 @@ def stock_fund_flow_industry(symbol: str = "即时") -> pd.DataFrame:
296
301
  "Host": "data.10jqka.com.cn",
297
302
  "Pragma": "no-cache",
298
303
  "Referer": "http://data.10jqka.com.cn/funds/hyzjl/",
299
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36",
304
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
305
+ "Chrome/90.0.4430.85 Safari/537.36",
300
306
  "X-Requested-With": "XMLHttpRequest",
301
307
  }
302
308
  r = requests.get(url.format(page), headers=headers)
303
309
  temp_df = pd.read_html(StringIO(r.text))[0]
304
- big_df = pd.concat([big_df, temp_df], ignore_index=True)
310
+ big_df = pd.concat(objs=[big_df, temp_df], ignore_index=True)
305
311
 
306
312
  del big_df["序号"]
307
313
  big_df.reset_index(inplace=True)
@@ -361,13 +367,14 @@ def stock_fund_flow_big_deal() -> pd.DataFrame:
361
367
  "Host": "data.10jqka.com.cn",
362
368
  "Pragma": "no-cache",
363
369
  "Referer": "http://data.10jqka.com.cn/funds/hyzjl/",
364
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36",
370
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
371
+ "Chrome/90.0.4430.85 Safari/537.36",
365
372
  "X-Requested-With": "XMLHttpRequest",
366
373
  }
367
374
  url = "http://data.10jqka.com.cn/funds/ddzz/order/desc/ajax/1/free/1/"
368
375
  r = requests.get(url, headers=headers)
369
- soup = BeautifulSoup(r.text, "lxml")
370
- raw_page = soup.find("span", attrs={"class": "page_info"}).text
376
+ soup = BeautifulSoup(r.text, features="lxml")
377
+ raw_page = soup.find(name="span", attrs={"class": "page_info"}).text
371
378
  page_num = raw_page.split("/")[1]
372
379
  url = "http://data.10jqka.com.cn/funds/ddzz/order/asc/page/{}/ajax/1/free/1/"
373
380
  big_df = pd.DataFrame()
@@ -387,12 +394,13 @@ def stock_fund_flow_big_deal() -> pd.DataFrame:
387
394
  "Host": "data.10jqka.com.cn",
388
395
  "Pragma": "no-cache",
389
396
  "Referer": "http://data.10jqka.com.cn/funds/hyzjl/",
390
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36",
397
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
398
+ "Chrome/90.0.4430.85 Safari/537.36",
391
399
  "X-Requested-With": "XMLHttpRequest",
392
400
  }
393
401
  r = requests.get(url.format(page), headers=headers)
394
402
  temp_df = pd.read_html(StringIO(r.text))[0]
395
- big_df = pd.concat([big_df, temp_df], ignore_index=True)
403
+ big_df = pd.concat(objs=[big_df, temp_df], ignore_index=True)
396
404
 
397
405
  big_df.columns = [
398
406
  "成交时间",
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2024/4/25 20:00
4
+ Date: 2024/8/18 17:30
5
5
  Desc: 首页-行情中心-涨停板行情-涨停股池
6
6
  https://quote.eastmoney.com/ztb/detail#type=ztgc
7
7
 
@@ -44,6 +44,8 @@ def stock_zt_pool_em(date: str = "20231129") -> pd.DataFrame:
44
44
  data_json = r.json()
45
45
  if data_json["data"] is None:
46
46
  return pd.DataFrame()
47
+ if len(data_json["data"]["pool"]) == 0:
48
+ return pd.DataFrame()
47
49
  temp_df = pd.DataFrame(data_json["data"]["pool"])
48
50
  temp_df.reset_index(inplace=True)
49
51
  temp_df["index"] = range(1, len(temp_df) + 1)
@@ -129,6 +131,8 @@ def stock_zt_pool_previous_em(date: str = "20240415") -> pd.DataFrame:
129
131
  data_json = r.json()
130
132
  if data_json["data"] is None:
131
133
  return pd.DataFrame()
134
+ if len(data_json["data"]["pool"]) == 0:
135
+ return pd.DataFrame()
132
136
  temp_df = pd.DataFrame(data_json["data"]["pool"])
133
137
  temp_df.reset_index(inplace=True)
134
138
  temp_df["index"] = range(1, len(temp_df) + 1)
@@ -205,6 +209,8 @@ def stock_zt_pool_strong_em(date: str = "20231129") -> pd.DataFrame:
205
209
  data_json = r.json()
206
210
  if data_json["data"] is None:
207
211
  return pd.DataFrame()
212
+ if len(data_json["data"]["pool"]) == 0:
213
+ return pd.DataFrame()
208
214
  temp_df = pd.DataFrame(data_json["data"]["pool"])
209
215
  temp_df.reset_index(inplace=True)
210
216
  temp_df["index"] = range(1, len(temp_df) + 1)
@@ -279,7 +285,7 @@ def stock_zt_pool_sub_new_em(date: str = "20231129") -> pd.DataFrame:
279
285
  }
280
286
  r = requests.get(url, params=params)
281
287
  data_json = r.json()
282
- if data_json["data"]["pool"] == 0:
288
+ if len(data_json["data"]["pool"]) == 0:
283
289
  return pd.DataFrame()
284
290
  temp_df = pd.DataFrame(data_json["data"]["pool"])
285
291
  temp_df.reset_index(inplace=True)
@@ -367,6 +373,8 @@ def stock_zt_pool_zbgc_em(date: str = "20231129") -> pd.DataFrame:
367
373
  data_json = r.json()
368
374
  if data_json["data"] is None:
369
375
  return pd.DataFrame()
376
+ if len(data_json["data"]["pool"]) == 0:
377
+ return pd.DataFrame()
370
378
  temp_df = pd.DataFrame(data_json["data"]["pool"])
371
379
  temp_df.reset_index(inplace=True)
372
380
  temp_df["index"] = range(1, len(temp_df) + 1)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: akshare
3
- Version: 1.14.60
3
+ Version: 1.14.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
@@ -1,4 +1,4 @@
1
- akshare/__init__.py,sha256=Q2uPUPnCAUPUl3b-TOWALpID1d8sL3WwxV8e6YgTaco,180828
1
+ akshare/__init__.py,sha256=zKOCfXdNcu0_EpBNiD9EkyTeJ9kVUwps-TxmARnjLGQ,180926
2
2
  akshare/datasets.py,sha256=oIu1zC7o_LMHY22lQmdM7vCnryHibKrJLBqJwQiitlI,1167
3
3
  akshare/air/__init__.py,sha256=RMTf1bT5EOE3ttWpn3hGu1LtUmsVxDoa0W7W0gXHOy8,81
4
4
  akshare/air/air_hebei.py,sha256=xIXNGLK7IGYqrkteM9fxnHAwWqk6PCQs6D9-ggZ7byY,4442
@@ -306,7 +306,7 @@ akshare/stock_feature/stock_ebs_lg.py,sha256=rnFbOHnZPZUJ3K7-QdTZXqbIFazL1wSkTvn
306
306
  akshare/stock_feature/stock_esg_sina.py,sha256=RJmeYi2YDns3Do-vydtKgJEQsLVgmmV1GVZtTXlxKqk,11029
307
307
  akshare/stock_feature/stock_fhps_em.py,sha256=85gfdMP3OtA3wsEGlB2RkdHiOEZjFff1ls5x1oWSQPQ,9469
308
308
  akshare/stock_feature/stock_fhps_ths.py,sha256=NosH1xyT1Pif4T9tchdtJTBEpe6g1Wq2kjvxJDsZD_Y,1805
309
- akshare/stock_feature/stock_fund_flow.py,sha256=Skc5xFICwU7dwU_oWfrFNUQkuwgRFOXlSd6tBjRdds0,18471
309
+ akshare/stock_feature/stock_fund_flow.py,sha256=cqBqsFrzwmuLP3k3wYQzvW085QUUfHZ4nBW8Zx7egkQ,18669
310
310
  akshare/stock_feature/stock_gddh_em.py,sha256=I_MUJhyy0mwjNG46ZsQINEQvHR42EmS7gJBQujXr5Bw,3467
311
311
  akshare/stock_feature/stock_gdfx_em.py,sha256=vrzyMdcNw8wZabXYH89wjzIAokAVfHDVcpNfC0MHsl4,37825
312
312
  akshare/stock_feature/stock_gdhs.py,sha256=Fkrcs1HEOFNEXdQL4fO2-bMDvKV-Shu-fGECk4h7it0,8801
@@ -350,7 +350,7 @@ akshare/stock_feature/stock_zdhtmx_em.py,sha256=2BpJQntGgUlEIOmDlepOiOkw-e-tKLRa
350
350
  akshare/stock_feature/stock_zf_pg.py,sha256=nYJ1uLOBdzM_PDyq4MNeWoCTripFMAPoAiaPfhDqkcg,6343
351
351
  akshare/stock_feature/stock_zh_valuation_baidu.py,sha256=oxYIHP68pFvAYyqjCvZp3a9tpczTFiWhSxZ0w4eyo7I,1904
352
352
  akshare/stock_feature/stock_zh_vote_baidu.py,sha256=SsSNnCq7PDFMzWFcPFcC_MSc9rua412P14vHc923gmo,1761
353
- akshare/stock_feature/stock_ztb_em.py,sha256=-g4FeUypgf_K0B41udpBAdqa43o27KHDx8mXoyzCOfo,16718
353
+ akshare/stock_feature/stock_ztb_em.py,sha256=VaA1Hj0ExzTR7wi5mj_Ruhgvl5bZNyKINiKR2p9n73Y,17019
354
354
  akshare/stock_feature/ths.js,sha256=AWPkHf3L2Il1UUL0F5qDqNn1dfU0OlZBNUbMf8AmI3Y,39664
355
355
  akshare/stock_fundamental/__init__.py,sha256=jiXoO9OXiMxB0wHaPQkuxNckYuoFKtzuhZL1ytnE2nQ,82
356
356
  akshare/stock_fundamental/stock_finance.py,sha256=d10iE6BPMsEEPDk7-Xd5_3EnHWlUv5Y_7t7ibniW0A4,30687
@@ -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=tfvy_YnYmDra2dkKZ5JvprU1gNW5X9T634PszdSdH1A,944
383
- akshare-1.14.60.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
384
- akshare-1.14.60.dist-info/METADATA,sha256=lGbL_OJXhXOkfCTSDaCpBJh2Yv54WuK2grHPTx-1svY,13961
385
- akshare-1.14.60.dist-info/WHEEL,sha256=HiCZjzuy6Dw0hdX5R3LCFPDmFS4BWl8H-8W39XfmgX4,91
386
- akshare-1.14.60.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
387
- akshare-1.14.60.dist-info/RECORD,,
383
+ akshare-1.14.62.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
384
+ akshare-1.14.62.dist-info/METADATA,sha256=NCzoVF8-6-HtUvyEQ89rRONV_-GhO9UxAIYp7YYek94,13961
385
+ akshare-1.14.62.dist-info/WHEEL,sha256=HiCZjzuy6Dw0hdX5R3LCFPDmFS4BWl8H-8W39XfmgX4,91
386
+ akshare-1.14.62.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
387
+ akshare-1.14.62.dist-info/RECORD,,