akshare 1.17.71__py3-none-any.whl → 1.17.73__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
@@ -3178,9 +3178,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
3178
3178
  1.17.69 fix: fix fund_etf_hist_sina interface
3179
3179
  1.17.70 fix: fix macro_stock_finance interface
3180
3180
  1.17.71 fix: fix futures_inventory_99 interface
3181
+ 1.17.72 fix: fix futures_warehouse_receipt_dce interface
3182
+ 1.17.73 fix: fix get_receipt interface
3181
3183
  """
3182
3184
 
3183
- __version__ = "1.17.71"
3185
+ __version__ = "1.17.73"
3184
3186
  __author__ = "AKFamily"
3185
3187
 
3186
3188
  import sys
@@ -4868,7 +4870,7 @@ futures-warehouse-receipt
4868
4870
  """
4869
4871
  from akshare.futures.futures_warehouse_receipt import (
4870
4872
  futures_czce_warehouse_receipt,
4871
- futures_dce_warehouse_receipt,
4873
+ futures_warehouse_receipt_dce,
4872
4874
  futures_shfe_warehouse_receipt,
4873
4875
  futures_gfex_warehouse_receipt,
4874
4876
  )
@@ -524,7 +524,7 @@ def get_shfe_daily(date: str = "20220415") -> pd.DataFrame:
524
524
  return df
525
525
 
526
526
 
527
- def get_dce_daily(date: str = "20220308") -> pd.DataFrame:
527
+ def get_dce_daily(date: str = "20251027") -> pd.DataFrame:
528
528
  """
529
529
  大连商品交易所日交易数据
530
530
  http://www.dce.com.cn/dalianshangpin/xqsj/tjsj26/rtj/rxq/index.html
@@ -537,41 +537,42 @@ def get_dce_daily(date: str = "20220308") -> pd.DataFrame:
537
537
  if day.strftime("%Y%m%d") not in calendar:
538
538
  # warnings.warn("%s非交易日" % day.strftime("%Y%m%d"))
539
539
  return pd.DataFrame()
540
- url = "http://portal.dce.com.cn/publicweb/quotesdata/exportDayQuotesChData.html"
541
- headers = {
542
- "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,"
543
- "application/signed-exchange;v=b3;q=0.9",
544
- "Accept-Encoding": "gzip, deflate",
545
- "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8",
546
- "Cache-Control": "no-cache",
547
- "Connection": "keep-alive",
548
- "Content-Length": "86",
549
- "Content-Type": "application/x-www-form-urlencoded",
550
- "Host": "www.dce.com.cn",
551
- "Origin": "http://portal.dce.com.cn",
552
- "Pragma": "no-cache",
553
- "Referer": "http://portal.dce.com.cn/publicweb/quotesdata/dayQuotesCh.html",
554
- "Upgrade-Insecure-Requests": "1",
555
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
556
- "Chrome/84.0.4147.105 Safari/537.36",
540
+ url = "http://www.dce.com.cn/dcereport/publicweb/dailystat/dayQuotes"
541
+ payload = {
542
+ "contractId": "",
543
+ "lang": "zh",
544
+ "optionSeries": "",
545
+ "statisticsType": "0",
546
+ "tradeDate": date,
547
+ "tradeType": "1",
548
+ "varietyId": "all",
557
549
  }
558
- params = {
559
- "dayQuotes.variety": "all",
560
- "dayQuotes.trade_type": "0",
561
- "year": date[:4],
562
- "month": str(int(date[4:6]) - 1),
563
- "day": date[6:],
564
- "exportFlag": "excel",
565
- }
566
- r = requests.post(url, data=params, headers=headers)
567
- data_df = pd.read_excel(BytesIO(r.content), header=1)
568
- data_df = data_df[~data_df["商品名称"].str.contains("小计")]
569
- data_df = data_df[~data_df["商品名称"].str.contains("总计")]
570
- data_df["variety"] = data_df["商品名称"].map(lambda x: cons.DCE_MAP[x])
571
- data_df["symbol"] = data_df["合约名称"]
572
- del data_df["商品名称"]
573
- del data_df["合约名称"]
574
- data_df.columns = [
550
+ r = requests.post(url, json=payload)
551
+ data_json = r.json()
552
+ temp_df = pd.DataFrame(data_json['data'])
553
+ temp_df.rename(columns={
554
+ "variety": "品种名称",
555
+ "contractId": "合约",
556
+ "open": "开盘价",
557
+ "high": "最高价",
558
+ "low": "最低价",
559
+ "close": "收盘价",
560
+ "lastClear": "前结算价",
561
+ "clearPrice": "结算价",
562
+ "diff": "涨跌",
563
+ "diff1": "涨跌1",
564
+ "volumn": "成交量",
565
+ "openInterest": "持仓量",
566
+ "diffI": "持仓量变化",
567
+ "turnover": "成交额",
568
+ }, inplace=True)
569
+ temp_df = temp_df[~temp_df["品种名称"].str.contains("小计")]
570
+ temp_df = temp_df[~temp_df["品种名称"].str.contains("总计")]
571
+ temp_df["variety"] = temp_df["品种名称"].map(lambda x: cons.DCE_MAP[x])
572
+ temp_df["symbol"] = temp_df["合约"]
573
+ del temp_df["品种名称"]
574
+ del temp_df["合约"]
575
+ temp_df.columns = [
575
576
  "open",
576
577
  "high",
577
578
  "low",
@@ -580,15 +581,24 @@ def get_dce_daily(date: str = "20220308") -> pd.DataFrame:
580
581
  "settle",
581
582
  "_",
582
583
  "_",
584
+ "_",
583
585
  "volume",
584
586
  "open_interest",
585
587
  "_",
586
588
  "turnover",
589
+ "_",
590
+ "_",
591
+ "_",
592
+ "_",
593
+ "_",
594
+ "_",
595
+ "_",
596
+ "_",
587
597
  "variety",
588
598
  "symbol",
589
599
  ]
590
- data_df["date"] = date
591
- data_df = data_df[
600
+ temp_df["date"] = date
601
+ temp_df = temp_df[
592
602
  [
593
603
  "symbol",
594
604
  "date",
@@ -604,8 +614,7 @@ def get_dce_daily(date: str = "20220308") -> pd.DataFrame:
604
614
  "variety",
605
615
  ]
606
616
  ]
607
- data_df = data_df.map(lambda x: x.replace(",", ""))
608
- data_df = data_df.astype(
617
+ temp_df = temp_df.astype(
609
618
  {
610
619
  "open": "float",
611
620
  "high": "float",
@@ -618,8 +627,8 @@ def get_dce_daily(date: str = "20220308") -> pd.DataFrame:
618
627
  "pre_settle": "float",
619
628
  }
620
629
  )
621
- data_df.reset_index(inplace=True, drop=True)
622
- return data_df
630
+ temp_df.reset_index(inplace=True, drop=True)
631
+ return temp_df
623
632
 
624
633
 
625
634
  def get_futures_daily(
@@ -29,10 +29,12 @@ def futures_czce_warehouse_receipt(date: str = "20200702") -> dict:
29
29
  :return: 指定日期的仓单日报数据
30
30
  :rtype: dict
31
31
  """
32
+ import urllib3
33
+ urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
32
34
  url = f"http://www.czce.com.cn/cn/DFSStaticFiles/Future/{date[:4]}/{date}/FutureDataWhsheet.xls"
33
35
  headers = {
34
36
  "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
35
- "Chrome/83.0.4103.116 Safari/537.36"
37
+ "Chrome/83.0.4103.116 Safari/537.36"
36
38
  }
37
39
  r = requests.get(url, verify=False, headers=headers)
38
40
  temp_df = pd.read_excel(BytesIO(r.content))
@@ -40,7 +42,7 @@ def futures_czce_warehouse_receipt(date: str = "20200702") -> dict:
40
42
  index_list.append(len(temp_df))
41
43
  big_dict = {}
42
44
  for inner_index in range(len(index_list) - 1):
43
- inner_df = temp_df[index_list[inner_index] : index_list[inner_index + 1]]
45
+ inner_df = temp_df[index_list[inner_index]: index_list[inner_index + 1]]
44
46
  inner_key = re.findall(r"[a-zA-Z]+", inner_df.iloc[0, 0])[0]
45
47
  inner_df = inner_df.iloc[1:, :]
46
48
  inner_df.dropna(axis=0, how="all", inplace=True)
@@ -52,7 +54,7 @@ def futures_czce_warehouse_receipt(date: str = "20200702") -> dict:
52
54
  return big_dict
53
55
 
54
56
 
55
- def futures_dce_warehouse_receipt(date: str = "20250929") -> dict:
57
+ def futures_warehouse_receipt_dce(date: str = "20251027") -> pd.DataFrame:
56
58
  """
57
59
  大连商品交易所-行情数据-统计数据-日统计-仓单日报
58
60
  http://www.dce.com.cn/dce/channel/list/187.html
@@ -61,35 +63,33 @@ def futures_dce_warehouse_receipt(date: str = "20250929") -> dict:
61
63
  :return: 指定日期的仓单日报数据
62
64
  :rtype: dict
63
65
  """
64
- url = "http://portal.dce.com.cn/publicweb/quotesdata/wbillWeeklyQuotes.html"
65
- headers = {
66
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
67
- "Chrome/83.0.4103.116 Safari/537.36"
68
- }
69
- params = {
66
+ url = "http://www.dce.com.cn/dcereport/publicweb/dailystat/wbillWeeklyQuotes"
67
+ payload = {
70
68
  "tradeDate": date,
71
69
  "varietyId": "all",
72
70
  }
73
- r = requests.post(url, params=params, headers=headers)
74
- temp_df = pd.read_html(StringIO(r.text))[0]
75
- index_list = temp_df[temp_df.iloc[:, 0].str.contains("小计") == 1].index.to_list()
76
- index_list.insert(0, 0)
77
- big_dict = {}
78
- for inner_index in range(len(index_list) - 1):
79
- if inner_index == 0:
80
- temp_index = 0
81
- else:
82
- temp_index = index_list[inner_index] + 1
83
- inner_df = temp_df[temp_index : index_list[inner_index + 1] + 1].copy()
84
- inner_key = inner_df.iloc[0, 0]
85
- inner_df.reset_index(inplace=True, drop=True)
86
- inner_df.ffill(inplace=True)
87
- # 填补 20240401 中开头没有品种的情况
88
- if date == "20240401":
89
- inner_df["品种"] = inner_df["品种"].fillna("玉米")
90
- inner_key = inner_df.iloc[0, 0]
91
- big_dict[inner_key] = inner_df
92
- return big_dict
71
+ r = requests.post(url, json=payload)
72
+ data_json = r.json()
73
+ temp_df = pd.DataFrame(data_json['data']['entityList'])
74
+ temp_df.rename(columns={
75
+ "variety": "品种名称",
76
+ "whAbbr": "仓库/分库",
77
+ "deliveryAbbr": "可选提货地点/分库-数量",
78
+ "lastWbillQty": "昨日仓单量(手)",
79
+ "wbillQty": "今日仓单量(手)",
80
+ "diff": "增减(手)",
81
+ "varietyOrder": "品种代码",
82
+ }, inplace=True)
83
+ temp_df = temp_df[[
84
+ "品种代码",
85
+ "品种名称",
86
+ "仓库/分库",
87
+ "可选提货地点/分库-数量",
88
+ "昨日仓单量(手)",
89
+ "今日仓单量(手)",
90
+ "增减(手)",
91
+ ]]
92
+ return temp_df
93
93
 
94
94
 
95
95
  def futures_shfe_warehouse_receipt(date: str = "20200702") -> dict:
@@ -103,7 +103,7 @@ def futures_shfe_warehouse_receipt(date: str = "20200702") -> dict:
103
103
  """
104
104
  headers = {
105
105
  "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
106
- "Chrome/83.0.4103.116 Safari/537.36"
106
+ "Chrome/83.0.4103.116 Safari/537.36"
107
107
  }
108
108
  url = f"https://www.shfe.com.cn/data/tradedata/future/dailydata/{date}dailystock.dat"
109
109
  if date >= "20140519":
@@ -124,7 +124,7 @@ def futures_shfe_warehouse_receipt(date: str = "20200702") -> dict:
124
124
  temp_df = pd.read_html(StringIO(r.text))[0]
125
125
  index_list = temp_df[
126
126
  temp_df.iloc[:, 3].str.contains("单位:") == 1
127
- ].index.to_list()
127
+ ].index.to_list()
128
128
  big_dict = {}
129
129
  for inner_index in range(len(index_list)):
130
130
  temp_index_start = index_list[inner_index]
@@ -157,7 +157,7 @@ def futures_gfex_warehouse_receipt(date: str = "20240122") -> dict:
157
157
  url = "http://www.gfex.com.cn/u/interfacesWebTdWbillWeeklyQuotes/loadList"
158
158
  headers = {
159
159
  "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
160
- "Chrome/83.0.4103.116 Safari/537.36"
160
+ "Chrome/83.0.4103.116 Safari/537.36"
161
161
  }
162
162
  payload = {"gen_date": date}
163
163
  r = requests.post(url=url, data=payload, headers=headers)
@@ -220,8 +220,8 @@ if __name__ == "__main__":
220
220
  czce_warehouse_receipt_df = futures_czce_warehouse_receipt(date="20151019")
221
221
  print(czce_warehouse_receipt_df)
222
222
 
223
- futures_dce_warehouse_receipt_df = futures_dce_warehouse_receipt(date="20251014")
224
- print(futures_dce_warehouse_receipt_df)
223
+ futures_warehouse_receipt_dce_df = futures_warehouse_receipt_dce(date="20251014")
224
+ print(futures_warehouse_receipt_dce_df)
225
225
 
226
226
  futures_shfe_warehouse_receipt_df = futures_shfe_warehouse_receipt(date="20200702")
227
227
  print(futures_shfe_warehouse_receipt_df)
@@ -37,7 +37,7 @@ shfe_20101029 = pd.DataFrame(
37
37
  def get_dce_receipt(date: str = None, vars_list: List = cons.contract_symbols):
38
38
  """
39
39
  大连商品交易所-注册仓单数据
40
-
40
+ http://www.dce.com.cn/dce/channel/list/187.html
41
41
  :param date: 开始日期: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象, 为空时为当天
42
42
  :type date: str
43
43
  :param vars_list: 合约品种如 RB, AL等列表, 为空时为所有商品数据从 20060106开始,每周五更新仓单数据。直到20090407起,每交易日都更新仓单数据
@@ -51,24 +51,23 @@ def get_dce_receipt(date: str = None, vars_list: List = cons.contract_symbols):
51
51
  if date.strftime("%Y%m%d") not in calendar:
52
52
  warnings.warn(f"{date.strftime('%Y%m%d')}非交易日")
53
53
  return None
54
+ url = "http://www.dce.com.cn/dcereport/publicweb/dailystat/wbillWeeklyQuotes"
54
55
  payload = {
55
- "weekQuotes.variety": "all",
56
- "year": date.year,
57
- "month": date.month - 1, # 网站月份描述少 1 个月, 属于网站问题
58
- "day": date.day,
56
+ "tradeDate": date.strftime("%Y%m%d"),
57
+ "varietyId": "all",
59
58
  }
60
- data = pandas_read_html_link(
61
- cons.DCE_RECEIPT_URL, method="post", data=payload, headers=cons.dce_headers
62
- )[0]
59
+ r = requests.post(url, json=payload)
60
+ data_json = r.json()
61
+ temp_df = pd.DataFrame(data_json['data']['entityList'])
63
62
  records = pd.DataFrame()
64
- for x in data.to_dict(orient="records"):
65
- if isinstance(x["品种"], str):
66
- if x["品种"][-2:] == "小计":
67
- var = x["品种"][:-2]
63
+ for x in temp_df.to_dict(orient="records"):
64
+ if isinstance(x["variety"], str):
65
+ if x["variety"][-2:] == "小计":
66
+ var = x["variety"][:-2]
68
67
  temp_data = {
69
68
  "var": chinese_to_english(var),
70
- "receipt": int(x["今日仓单量"]),
71
- "receipt_chg": int(x["增减"]),
69
+ "receipt": int(x["wbillQty"]),
70
+ "receipt_chg": int(x["diff"]),
72
71
  "date": date.strftime("%Y%m%d"),
73
72
  }
74
73
  records = pd.concat([records, pd.DataFrame(temp_data, index=[0])])
@@ -110,7 +109,8 @@ def get_shfe_receipt_1(
110
109
  shfe_20101029["date"] = date
111
110
  return shfe_20101029
112
111
  elif date in ["20100416", "20130821"]:
113
- return warnings.warn("20100416、20130821交易所数据丢失")
112
+ print("20100416、20130821交易所数据丢失")
113
+ return pd.DataFrame()
114
114
  else:
115
115
  var_list = [
116
116
  "天然橡胶",
@@ -245,10 +245,10 @@ def get_czce_receipt_1(date: str = None, vars_list: List = cons.contract_symbols
245
245
  ends = [x for x in data.index if "总计" in str(data[0].tolist()[x])]
246
246
  for i in list(range(len(indexes))):
247
247
  if i != len(indexes) - 1:
248
- data_cut = data.loc[indexes[i] : ends[i], :]
248
+ data_cut = data.loc[indexes[i]: ends[i], :]
249
249
  data_cut = data_cut.fillna(method="pad")
250
250
  else:
251
- data_cut = data.loc[indexes[i] :, :]
251
+ data_cut = data.loc[indexes[i]:, :]
252
252
  data_cut = data_cut.fillna(method="pad")
253
253
  if "PTA" in data_cut[0].tolist()[0]:
254
254
  var = "TA"
@@ -347,7 +347,8 @@ def get_czce_receipt_3(
347
347
  :rtype: pandas.DataFrame
348
348
  """
349
349
  if not isinstance(vars_list, list):
350
- return warnings.warn("vars_list: 必须是列表")
350
+ print("vars_list: 必须是列表")
351
+ return pd.DataFrame()
351
352
  date = (
352
353
  cons.convert_date(date).strftime("%Y%m%d")
353
354
  if date is not None
@@ -355,7 +356,7 @@ def get_czce_receipt_3(
355
356
  )
356
357
  if date not in calendar:
357
358
  warnings.warn("%s非交易日" % date.strftime("%Y%m%d"))
358
- return None
359
+ return pd.DataFrame()
359
360
  url = f"http://www.czce.com.cn/cn/DFSStaticFiles/Future/{date[:4]}/{date}/FutureDataWhsheet.xls"
360
361
  r = requests_link(url, encoding="utf-8", headers=cons.shfe_headers)
361
362
  temp_df = pd.read_excel(BytesIO(r.content))
@@ -389,6 +390,7 @@ def get_czce_receipt_3(
389
390
  symbol_list = []
390
391
  receipt_list = []
391
392
  receipt_chg_list = []
393
+ records = pd.DataFrame()
392
394
  for page in range(len(range_list_one)):
393
395
  inner_df = temp_df[range_list_one[page] : range_list_two[page]]
394
396
  reg = re.compile(r"[A-Z]+")
@@ -600,5 +602,5 @@ def get_receipt(
600
602
 
601
603
 
602
604
  if __name__ == "__main__":
603
- get_receipt_df = get_receipt(start_date="20250805", end_date="20250806")
605
+ get_receipt_df = get_receipt(start_date="20251027", end_date="20251027")
604
606
  print(get_receipt_df)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: akshare
3
- Version: 1.17.71
3
+ Version: 1.17.73
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=TVaTAi74ngc9bFz8f9sshS2fvHdLnrMI2VduS6TtC78,199531
1
+ akshare/__init__.py,sha256=Y6T2ZDSfaqiIHkeaIQy1W51JmGFqXljvKebvlCUUM3k,199627
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
@@ -115,7 +115,7 @@ akshare/futures/futures_comex_em.py,sha256=NPwOCD6lZUDL4wlGxvbmmJIFkQlW427ERO0vT
115
115
  akshare/futures/futures_comm_ctp.py,sha256=IyVRCUvhLTFzmcUVvlIaYZ1e38ll7AF8ExhgtXKuzrI,1003
116
116
  akshare/futures/futures_comm_qihuo.py,sha256=uQfabZ63qME8sTaxUbIUVQBVi8yTaPPDhD7voR9PEx0,10504
117
117
  akshare/futures/futures_contract_detail.py,sha256=Glm1x72WBwF4G-f_ZYzHsbNhlQ6Ti1HeF0Rzhx-pfFg,1190
118
- akshare/futures/futures_daily_bar.py,sha256=QWeHNxFMtwY2IGEK6ZlPJ9wax4Jl8pcGinqtkIVj0KQ,25366
118
+ akshare/futures/futures_daily_bar.py,sha256=gbBW9SphkOrDMzrnetiXA-224ahqOrgc0jVmk8Ay4aA,25057
119
119
  akshare/futures/futures_foreign.py,sha256=2cbMA-eug_jriDFwKZWmA_TbPW2GQAjscpZHBrs287E,2131
120
120
  akshare/futures/futures_hf_em.py,sha256=juiJauO7T6YTHXIS--ZDW-Idk73KMOrXgRBi1xEiBqA,8195
121
121
  akshare/futures/futures_hist_em.py,sha256=TuHdpcfVxdqoHzg5-JwppLUQgwuaz_LG2UZBlgf73i4,6509
@@ -131,9 +131,9 @@ akshare/futures/futures_settlement_price_sgx.py,sha256=SJxAGNuNxNEGDk7EF2odRPrWK
131
131
  akshare/futures/futures_spot_stock_em.py,sha256=43CPkAouDu691M6aCMdO1SGKglTak2aba2Np7ftkAdg,3523
132
132
  akshare/futures/futures_stock_js.py,sha256=sAao7ZcqBovdEo4wrVt2K6kXK2rf1_kT_StQdzhm9og,1635
133
133
  akshare/futures/futures_to_spot.py,sha256=fDsnmwUDUWQSF11MBvGEKn_c69fJmaGnRigWzvQMaZc,12898
134
- akshare/futures/futures_warehouse_receipt.py,sha256=koiyOO6HmpgwPapyVyFHHK_yJeU7oAzfJArVmo19_hk,9047
134
+ akshare/futures/futures_warehouse_receipt.py,sha256=yY_6feZN3V3kAa-3b_G-Twmxc1BnHGukJ4MvpHhH8Nc,8880
135
135
  akshare/futures/futures_zh_sina.py,sha256=wFFiPdud7a6HUHxohlQmN0FsnrvsadTYhbq0cZT4dpo,26191
136
- akshare/futures/receipt.py,sha256=6KFgO6BJcQ0S5ZlRIQfPwXOuMLuncn7pcFCPOp1QJGI,23588
136
+ akshare/futures/receipt.py,sha256=Yi8zpEQUcrgbOLcz5S3uT5hnOMwwcdyf8c-iUjJ4064,23682
137
137
  akshare/futures/requests_fun.py,sha256=w4inzqYjrAiRx_E3oszbcJwrRJR3MKpm5Rkropdusoo,2893
138
138
  akshare/futures/symbol_var.py,sha256=dlDxz6K6_sn1B1xalCGR9Inc_apbQP-F3tJ_ZuKH1rQ,5857
139
139
  akshare/futures_derivative/__init__.py,sha256=COFyP01gIUhWs4EBr6hwL73B7IWePIzg7vP7oEY3G3I,82
@@ -399,10 +399,10 @@ akshare/utils/func.py,sha256=4cwmXFztU86yJNONJ40KJLvsIEQHBbct4iMm3zT2v30,2315
399
399
  akshare/utils/multi_decrypt.py,sha256=aWoL2iEPeuXHJg8-n7OtMKixLnIhfzepACgxfrfmQB4,1657
400
400
  akshare/utils/token_process.py,sha256=nGtgnZGRprXJkhLXH8mcUH4TgIFwzsTOb0EaEPa0Euo,667
401
401
  akshare/utils/tqdm.py,sha256=MuPNwcswkOGjwWQOMWXi9ZvQ_RmW4obCWRj2i7HM7FE,847
402
- akshare-1.17.71.dist-info/licenses/LICENSE,sha256=s18q7gS2g1F9-Cnk5eqrJG4OGWSwSxVEMzIuT6HyYNY,1073
402
+ akshare-1.17.73.dist-info/licenses/LICENSE,sha256=s18q7gS2g1F9-Cnk5eqrJG4OGWSwSxVEMzIuT6HyYNY,1073
403
403
  tests/__init__.py,sha256=gNzhlO0UPjFq6Ieb38kaVIODXv4cTDByrdohAZnDYt4,82
404
404
  tests/test_func.py,sha256=j1MGYbZI2if2j_LY1S4FLsf4qfq4NwVqD5wmRlv5Log,832
405
- akshare-1.17.71.dist-info/METADATA,sha256=gvVGTjrecSSbxLsshOClDTWEyA-K3I07RIdwADEVH0U,12593
406
- akshare-1.17.71.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
407
- akshare-1.17.71.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
408
- akshare-1.17.71.dist-info/RECORD,,
405
+ akshare-1.17.73.dist-info/METADATA,sha256=Qaf3nrlRI59pX7V69c8T83DiFCxSi5o9YeNZNvwbD5E,12593
406
+ akshare-1.17.73.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
407
+ akshare-1.17.73.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
408
+ akshare-1.17.73.dist-info/RECORD,,