akshare 1.14.49__py3-none-any.whl → 1.17.99__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.
Files changed (343) hide show
  1. akshare/__init__.py +595 -129
  2. akshare/air/air_hebei.py +77 -54
  3. akshare/air/air_zhenqi.py +0 -4
  4. akshare/air/cons.py +1 -0
  5. akshare/air/crypto.js +1 -1
  6. akshare/air/outcrypto.js +1 -1
  7. akshare/article/cons.py +1 -0
  8. akshare/article/epu_index.py +4 -3
  9. akshare/article/ff_factor.py +19 -8
  10. akshare/article/fred_md.py +4 -1
  11. akshare/article/risk_rv.py +3 -8
  12. akshare/bank/bank_cbirc_2020.py +11 -11
  13. akshare/bank/cons.py +7 -6
  14. akshare/bond/bond_buy_back_em.py +228 -0
  15. akshare/bond/bond_cb_sina.py +1 -0
  16. akshare/bond/bond_cb_ths.py +17 -9
  17. akshare/bond/bond_cbond.py +19 -14
  18. akshare/bond/bond_china.py +38 -39
  19. akshare/bond/bond_china_money.py +1 -1
  20. akshare/bond/bond_convert.py +10 -9
  21. akshare/bond/bond_em.py +37 -17
  22. akshare/bond/bond_summary.py +38 -37
  23. akshare/bond/bond_zh_cov.py +31 -40
  24. akshare/bond/bond_zh_sina.py +4 -0
  25. akshare/bond/cons.py +14 -11
  26. akshare/cal/__init__.py +0 -0
  27. akshare/cal/rv.py +170 -0
  28. akshare/cost/cost_living.py +7 -5
  29. akshare/crypto/__init__.py +1 -1
  30. akshare/crypto/crypto_bitcoin_cme.py +9 -7
  31. akshare/crypto/crypto_hold.py +4 -2
  32. akshare/currency/currency.py +1 -0
  33. akshare/currency/currency_china_bank_sina.py +11 -6
  34. akshare/data/__init__.py +1 -1
  35. akshare/data/cninfo.js +1 -1
  36. akshare/datasets.py +10 -21
  37. akshare/economic/cons.py +10 -3
  38. akshare/economic/macro_australia.py +74 -69
  39. akshare/economic/macro_bank.py +95 -653
  40. akshare/economic/macro_canada.py +92 -81
  41. akshare/economic/macro_china.py +97 -105
  42. akshare/economic/macro_china_hk.py +0 -1
  43. akshare/economic/macro_euro.py +103 -56
  44. akshare/economic/macro_finance_ths.py +7 -5
  45. akshare/economic/macro_germany.py +1 -1
  46. akshare/economic/macro_japan.py +0 -1
  47. akshare/economic/macro_other.py +1 -6
  48. akshare/economic/macro_swiss.py +2 -3
  49. akshare/economic/macro_uk.py +1 -1
  50. akshare/economic/macro_usa.py +7 -9
  51. akshare/economic/marco_cnbs.py +11 -6
  52. akshare/energy/energy_carbon.py +0 -1
  53. akshare/energy/energy_oil_em.py +1 -2
  54. akshare/event/cons.py +1 -0
  55. akshare/exceptions.py +43 -0
  56. akshare/file_fold/calendar.json +245 -2
  57. akshare/forex/__init__.py +0 -0
  58. akshare/forex/cons.py +192 -0
  59. akshare/forex/forex_em.py +149 -0
  60. akshare/fortune/fortune_500.py +1 -37
  61. akshare/fortune/fortune_bloomberg.py +6 -3
  62. akshare/fortune/fortune_forbes_500.py +3 -6
  63. akshare/fortune/fortune_hurun.py +2 -1
  64. akshare/fortune/fortune_xincaifu_500.py +17 -14
  65. akshare/fund/fund_announcement_em.py +145 -0
  66. akshare/fund/fund_aum_em.py +49 -35
  67. akshare/fund/fund_em.py +251 -220
  68. akshare/fund/fund_etf_em.py +44 -35
  69. akshare/fund/fund_etf_sina.py +75 -27
  70. akshare/fund/fund_etf_ths.py +2 -0
  71. akshare/fund/fund_fee_em.py +172 -0
  72. akshare/fund/fund_fhsp_em.py +42 -32
  73. akshare/fund/fund_init_em.py +8 -5
  74. akshare/fund/fund_lof_em.py +12 -19
  75. akshare/fund/fund_manager.py +25 -11
  76. akshare/fund/fund_overview_em.py +42 -0
  77. akshare/fund/fund_portfolio_em.py +23 -21
  78. akshare/fund/fund_position_lg.py +19 -8
  79. akshare/fund/fund_rank_em.py +2 -5
  80. akshare/fund/fund_rating.py +33 -12
  81. akshare/fund/fund_scale_em.py +24 -13
  82. akshare/fund/fund_scale_sina.py +20 -10
  83. akshare/fund/fund_xq.py +3 -2
  84. akshare/futures/cons.py +135 -39
  85. akshare/futures/cot.py +55 -56
  86. akshare/futures/futures_basis.py +49 -11
  87. akshare/futures/futures_comex_em.py +1 -0
  88. akshare/futures/futures_comm_ctp.py +1 -1
  89. akshare/futures/futures_contract_detail.py +59 -9
  90. akshare/futures/futures_daily_bar.py +66 -59
  91. akshare/futures/futures_foreign.py +14 -8
  92. akshare/futures/futures_hf_em.py +215 -61
  93. akshare/futures/futures_hist_em.py +191 -0
  94. akshare/futures/futures_hq_sina.py +5 -3
  95. akshare/futures/futures_index_ccidx.py +24 -82
  96. akshare/futures/futures_inventory_99.py +70 -272
  97. akshare/futures/futures_inventory_em.py +14 -11
  98. akshare/futures/futures_news_shmet.py +2 -2
  99. akshare/futures/futures_roll_yield.py +11 -24
  100. akshare/futures/futures_rule.py +7 -3
  101. akshare/futures/futures_rule_em.py +38 -0
  102. akshare/futures/futures_settlement_price_sgx.py +21 -6
  103. akshare/futures/futures_stock_js.py +0 -1
  104. akshare/futures/futures_to_spot.py +5 -6
  105. akshare/futures/futures_warehouse_receipt.py +48 -47
  106. akshare/futures/futures_zh_sina.py +3 -3
  107. akshare/futures/receipt.py +298 -165
  108. akshare/futures/requests_fun.py +16 -3
  109. akshare/futures/symbol_var.py +32 -13
  110. akshare/futures_derivative/cons.py +100 -103
  111. akshare/futures_derivative/futures_contract_info_cffex.py +55 -39
  112. akshare/futures_derivative/futures_contract_info_czce.py +2 -0
  113. akshare/futures_derivative/futures_contract_info_dce.py +43 -17
  114. akshare/futures_derivative/futures_contract_info_gfex.py +43 -31
  115. akshare/futures_derivative/futures_contract_info_ine.py +43 -34
  116. akshare/futures_derivative/futures_contract_info_shfe.py +3 -4
  117. akshare/futures_derivative/futures_cot_sina.py +8 -6
  118. akshare/futures_derivative/futures_index_sina.py +25 -13
  119. akshare/fx/cons.py +12 -7
  120. akshare/fx/fx_c_swap_cm.py +62 -0
  121. akshare/fx/fx_quote.py +3 -2
  122. akshare/fx/fx_quote_baidu.py +2 -1
  123. akshare/hf/__init__.py +1 -1
  124. akshare/hf/hf_sp500.py +8 -7
  125. akshare/index/cons.py +132 -28
  126. akshare/index/index_cni.py +7 -7
  127. akshare/index/index_cons.py +2 -2
  128. akshare/index/index_csindex.py +68 -0
  129. akshare/index/index_cx.py +20 -20
  130. akshare/index/index_drewry.py +17 -16
  131. akshare/index/index_eri.py +1 -0
  132. akshare/index/index_global_em.py +167 -0
  133. akshare/index/index_global_sina.py +82 -0
  134. akshare/index/index_kq_fz.py +17 -14
  135. akshare/index/index_kq_ss.py +1 -0
  136. akshare/index/index_option_qvix.py +351 -16
  137. akshare/index/index_research_sw.py +21 -21
  138. akshare/index/index_spot.py +9 -5
  139. akshare/index/index_stock_hk.py +5 -9
  140. akshare/index/index_stock_zh.py +111 -24
  141. akshare/index/index_stock_zh_csindex.py +3 -367
  142. akshare/index/index_sugar.py +18 -4
  143. akshare/index/index_sw.py +10 -2
  144. akshare/index/index_yw.py +53 -75
  145. akshare/index/index_zh_em.py +15 -82
  146. akshare/interest_rate/interbank_rate_em.py +0 -1
  147. akshare/movie/jm.js +0 -1
  148. akshare/news/__init__.py +1 -1
  149. akshare/news/news_baidu.py +395 -222
  150. akshare/news/news_stock.py +49 -16
  151. akshare/option/cons.py +2 -2
  152. akshare/option/option_commodity.py +341 -220
  153. akshare/option/option_commodity_sina.py +22 -26
  154. akshare/option/option_contract_info_ctp.py +63 -0
  155. akshare/option/option_current_sse.py +61 -0
  156. akshare/option/option_current_szse.py +84 -0
  157. akshare/option/option_czce.py +37 -9
  158. akshare/option/option_daily_stats_sse_szse.py +0 -1
  159. akshare/option/option_em.py +4 -8
  160. akshare/option/option_finance.py +60 -12
  161. akshare/option/option_finance_sina.py +7 -7
  162. akshare/option/option_lhb_em.py +0 -1
  163. akshare/option/option_margin.py +62 -0
  164. akshare/option/option_premium_analysis_em.py +58 -53
  165. akshare/option/option_risk_analysis_em.py +11 -8
  166. akshare/option/option_risk_indicator_sse.py +3 -4
  167. akshare/option/option_value_analysis_em.py +62 -55
  168. akshare/other/__init__.py +1 -1
  169. akshare/pro/__init__.py +0 -1
  170. akshare/pro/client.py +6 -4
  171. akshare/pro/cons.py +3 -2
  172. akshare/pro/data_pro.py +6 -5
  173. akshare/qdii/__init__.py +0 -0
  174. akshare/qdii/qdii_jsl.py +233 -0
  175. akshare/qhkc/__init__.py +1 -6
  176. akshare/qhkc/qhkc_api.py +64 -22
  177. akshare/qhkc_web/__init__.py +1 -6
  178. akshare/qhkc_web/qhkc_fund.py +10 -6
  179. akshare/qhkc_web/qhkc_index.py +28 -14
  180. akshare/qhkc_web/qhkc_tool.py +62 -59
  181. akshare/rate/__init__.py +1 -1
  182. akshare/rate/repo_rate.py +36 -32
  183. akshare/reits/__init__.py +1 -1
  184. akshare/reits/reits_basic.py +149 -13
  185. akshare/request.py +117 -0
  186. akshare/spot/__init__.py +1 -1
  187. akshare/spot/spot_hog_soozhu.py +165 -3
  188. akshare/spot/spot_sge.py +70 -9
  189. akshare/stock/cons.py +60 -23
  190. akshare/stock/stock_allotment_cninfo.py +8 -8
  191. akshare/stock/stock_ask_bid_em.py +3 -78
  192. akshare/stock/stock_board_concept_em.py +160 -35
  193. akshare/stock/stock_board_industry_em.py +163 -70
  194. akshare/stock/stock_dividend_cninfo.py +31 -17
  195. akshare/stock/stock_dzjy_em.py +347 -260
  196. akshare/stock/stock_fund_em.py +72 -64
  197. akshare/stock/stock_fund_hold.py +1 -2
  198. akshare/stock/stock_gsrl_em.py +1 -0
  199. akshare/stock/stock_hk_comparison_em.py +175 -0
  200. akshare/stock/stock_hk_famous.py +4 -5
  201. akshare/stock/stock_hk_fhpx_ths.py +2 -1
  202. akshare/stock/stock_hk_hot_rank_em.py +1 -0
  203. akshare/stock/stock_hk_sina.py +84 -36
  204. akshare/stock/stock_hold_control_cninfo.py +82 -0
  205. akshare/stock/stock_hold_control_em.py +0 -2
  206. akshare/stock/stock_hot_rank_em.py +4 -1
  207. akshare/stock/stock_hot_search_baidu.py +32 -19
  208. akshare/stock/stock_hot_up_em.py +4 -1
  209. akshare/stock/stock_hsgt_em.py +155 -0
  210. akshare/stock/stock_industry.py +1 -0
  211. akshare/stock/stock_industry_cninfo.py +1 -2
  212. akshare/stock/stock_info.py +6 -4
  213. akshare/stock/stock_info_em.py +17 -11
  214. akshare/stock/stock_intraday_em.py +4 -78
  215. akshare/stock/stock_intraday_sina.py +2 -2
  216. akshare/stock/stock_news_cx.py +39 -0
  217. akshare/stock/stock_profile_cninfo.py +7 -7
  218. akshare/stock/stock_profile_em.py +302 -0
  219. akshare/stock/stock_rank_forecast.py +6 -5
  220. akshare/stock/stock_repurchase_em.py +7 -2
  221. akshare/stock/stock_share_changes_cninfo.py +7 -5
  222. akshare/stock/stock_share_hold.py +24 -20
  223. akshare/stock/stock_stop.py +6 -6
  224. akshare/stock/stock_summary.py +153 -417
  225. akshare/stock/stock_us_famous.py +5 -6
  226. akshare/stock/stock_us_js.py +3 -2
  227. akshare/stock/stock_us_pink.py +38 -27
  228. akshare/stock/stock_us_sina.py +7 -3
  229. akshare/stock/stock_weibo_nlp.py +18 -20
  230. akshare/stock/stock_xq.py +24 -22
  231. akshare/stock/stock_zh_a_sina.py +8 -5
  232. akshare/stock/stock_zh_a_special.py +240 -243
  233. akshare/stock/stock_zh_a_tick_tx.py +11 -3
  234. akshare/stock/stock_zh_ah_tx.py +23 -26
  235. akshare/stock/stock_zh_b_sina.py +2 -2
  236. akshare/stock/stock_zh_comparison_em.py +250 -0
  237. akshare/stock/stock_zh_kcb_sina.py +67 -64
  238. akshare/stock_a/__init__.py +0 -0
  239. akshare/stock_a/stock_board_concept_name_em.py +170 -0
  240. akshare/stock_a/stock_individual_fund_flow_rank.py +258 -0
  241. akshare/stock_a/stock_zh_a_spot.py +212 -0
  242. akshare/stock_feature/cons.py +1 -0
  243. akshare/stock_feature/stock_a_indicator.py +9 -54
  244. akshare/stock_feature/stock_a_pe_and_pb.py +23 -5
  245. akshare/stock_feature/stock_account_em.py +0 -1
  246. akshare/stock_feature/stock_all_pb.py +2 -1
  247. akshare/stock_feature/stock_analyst_em.py +36 -30
  248. akshare/stock_feature/stock_board_concept_ths.py +328 -0
  249. akshare/stock_feature/stock_board_industry_ths.py +57 -2
  250. akshare/stock_feature/stock_buffett_index_lg.py +10 -8
  251. akshare/stock_feature/stock_classify_sina.py +3 -6
  252. akshare/stock_feature/stock_comment_em.py +81 -144
  253. akshare/stock_feature/stock_congestion_lg.py +2 -1
  254. akshare/stock_feature/stock_cyq_em.py +5 -11
  255. akshare/stock_feature/stock_disclosure_cninfo.py +6 -6
  256. akshare/stock_feature/stock_dxsyl_em.py +121 -74
  257. akshare/stock_feature/stock_ebs_lg.py +5 -4
  258. akshare/stock_feature/stock_esg_sina.py +29 -7
  259. akshare/stock_feature/stock_fhps_em.py +2 -1
  260. akshare/stock_feature/stock_fhps_ths.py +15 -7
  261. akshare/stock_feature/stock_fund_flow.py +30 -22
  262. akshare/stock_feature/stock_gddh_em.py +19 -11
  263. akshare/stock_feature/stock_gdfx_em.py +226 -113
  264. akshare/stock_feature/stock_gdhs.py +75 -50
  265. akshare/stock_feature/stock_gdzjc_em.py +21 -10
  266. akshare/stock_feature/stock_gpzy_em.py +78 -46
  267. akshare/stock_feature/stock_gxl_lg.py +3 -2
  268. akshare/stock_feature/stock_hist_em.py +137 -234
  269. akshare/stock_feature/stock_hist_tx.py +13 -10
  270. akshare/stock_feature/stock_hk_valuation_baidu.py +20 -8
  271. akshare/stock_feature/stock_hot_xq.py +4 -6
  272. akshare/stock_feature/stock_hsgt_em.py +269 -97
  273. akshare/stock_feature/stock_hsgt_exchange_rate.py +115 -87
  274. akshare/stock_feature/stock_hsgt_min_em.py +13 -16
  275. akshare/stock_feature/stock_info.py +7 -80
  276. akshare/stock_feature/stock_inner_trade_xq.py +38 -31
  277. akshare/stock_feature/stock_jgdy_em.py +43 -40
  278. akshare/stock_feature/stock_lhb_em.py +119 -3
  279. akshare/stock_feature/stock_margin_em.py +0 -1
  280. akshare/stock_feature/stock_margin_sse.py +0 -2
  281. akshare/stock_feature/stock_pankou_em.py +71 -35
  282. akshare/stock_feature/stock_qsjy_em.py +13 -4
  283. akshare/stock_feature/stock_report_em.py +151 -7
  284. akshare/stock_feature/stock_research_report_em.py +55 -20
  285. akshare/stock_feature/stock_sy_em.py +20 -15
  286. akshare/stock_feature/stock_technology_ths.py +122 -77
  287. akshare/stock_feature/stock_tfp_em.py +2 -1
  288. akshare/stock_feature/stock_three_report_em.py +21 -5
  289. akshare/stock_feature/stock_ttm_lyr.py +18 -9
  290. akshare/stock_feature/stock_value_em.py +83 -0
  291. akshare/stock_feature/stock_yjbb_em.py +58 -32
  292. akshare/stock_feature/stock_yjyg_cninfo.py +6 -2
  293. akshare/stock_feature/stock_yjyg_em.py +1 -1
  294. akshare/stock_feature/stock_yzxdr_em.py +24 -22
  295. akshare/stock_feature/stock_zdhtmx_em.py +20 -6
  296. akshare/stock_feature/stock_zh_vote_baidu.py +4 -1
  297. akshare/stock_feature/stock_ztb_em.py +39 -24
  298. akshare/stock_fundamental/__init__.py +1 -1
  299. akshare/stock_fundamental/stock_basic_info_xq.py +119 -0
  300. akshare/stock_fundamental/{stock_finance_hk.py → stock_finance_hk_em.py} +23 -16
  301. akshare/stock_fundamental/{stock_finance.py → stock_finance_sina.py} +60 -7
  302. akshare/stock_fundamental/stock_finance_ths.py +524 -57
  303. akshare/stock_fundamental/stock_finance_us_em.py +268 -0
  304. akshare/stock_fundamental/stock_gbjg_em.py +80 -0
  305. akshare/stock_fundamental/stock_hold.py +26 -17
  306. akshare/stock_fundamental/stock_ipo_declare.py +1 -0
  307. akshare/stock_fundamental/stock_kcb_detail_sse.py +10 -10
  308. akshare/stock_fundamental/stock_kcb_sse.py +26 -25
  309. akshare/stock_fundamental/stock_notice.py +12 -3
  310. akshare/stock_fundamental/stock_profit_forecast_em.py +31 -13
  311. akshare/stock_fundamental/stock_profit_forecast_hk_etnet.py +64 -41
  312. akshare/stock_fundamental/stock_profit_forecast_ths.py +86 -35
  313. akshare/stock_fundamental/stock_recommend.py +20 -4
  314. akshare/stock_fundamental/stock_zygc.py +5 -62
  315. akshare/utils/context.py +43 -0
  316. akshare/utils/demjson.py +2009 -1338
  317. akshare/utils/func.py +49 -2
  318. akshare/utils/multi_decrypt.py +53 -0
  319. akshare/utils/token_process.py +6 -5
  320. {akshare-1.14.49.dist-info → akshare-1.17.99.dist-info}/METADATA +54 -80
  321. akshare-1.17.99.dist-info/RECORD +409 -0
  322. {akshare-1.14.49.dist-info → akshare-1.17.99.dist-info}/WHEEL +1 -1
  323. {akshare-1.14.49.dist-info → akshare-1.17.99.dist-info/licenses}/LICENSE +1 -1
  324. tests/test_func.py +3 -5
  325. akshare/bond/bond_futures.py +0 -50
  326. akshare/bond/bond_investing.py +0 -139
  327. akshare/crypto/crypto_hist_investing.py +0 -249
  328. akshare/fund/fund_announcement.py +0 -56
  329. akshare/futures/futures_international.py +0 -170
  330. akshare/futures/futures_news_baidu.py +0 -54
  331. akshare/futures/inventory_data.py +0 -100
  332. akshare/futures_derivative/futures_index_price_nh.py +0 -61
  333. akshare/futures_derivative/futures_index_return_nh.py +0 -47
  334. akshare/futures_derivative/futures_index_volatility_nh.py +0 -53
  335. akshare/futures_derivative/futures_other_index_nh.py +0 -145
  336. akshare/index/index_fear_greed_funddb.py +0 -78
  337. akshare/index/index_investing.py +0 -232
  338. akshare/sport/__init__.py +0 -6
  339. akshare/sport/sport_olympic.py +0 -27
  340. akshare/stock_feature/stock_wencai.py +0 -104
  341. akshare/stock_fundamental/stock_mda_ym.py +0 -40
  342. akshare-1.14.49.dist-info/RECORD +0 -387
  343. {akshare-1.14.49.dist-info → akshare-1.17.99.dist-info}/top_level.txt +0 -0
@@ -1,69 +1,115 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2023/9/2 19:00
4
+ Date: 2025/2/18 16:00
5
5
  Desc: 新浪财经-港股-实时行情数据和历史行情数据(包含前复权和后复权因子)
6
- http://stock.finance.sina.com.cn/hkstock/quotes/00700.html
6
+ https://stock.finance.sina.com.cn/hkstock/quotes/00700.html
7
7
  """
8
8
 
9
9
  import pandas as pd
10
- import requests
11
10
  import py_mini_racer
11
+ import requests
12
12
 
13
13
  from akshare.stock.cons import (
14
14
  hk_js_decode,
15
- hk_sina_stock_dict_payload,
16
- hk_sina_stock_list_url,
17
15
  hk_sina_stock_hist_url,
18
16
  hk_sina_stock_hist_hfq_url,
19
17
  hk_sina_stock_hist_qfq_url,
20
18
  )
21
- from akshare.utils import demjson
22
19
 
23
20
 
24
21
  def stock_hk_spot() -> pd.DataFrame:
25
22
  """
26
23
  新浪财经-港股的所有港股的实时行情数据
27
- http://vip.stock.finance.sina.com.cn/mkt/#qbgg_hk
24
+ https://vip.stock.finance.sina.com.cn/mkt/#qbgg_hk
28
25
  :return: 实时行情数据
29
26
  :rtype: pandas.DataFrame
30
27
  """
31
- res = requests.get(hk_sina_stock_list_url, params=hk_sina_stock_dict_payload)
32
- data_json = [
33
- demjson.decode(tt)
34
- for tt in [
35
- item + "}" for item in res.text[1:-1].split("},") if not item.endswith("}")
36
- ]
37
- ]
38
- data_df = pd.DataFrame(data_json)
39
- data_df = data_df[
40
- [
41
- "symbol",
42
- "name",
43
- "engname",
44
- "tradetype",
45
- "lasttrade",
46
- "prevclose",
47
- "open",
48
- "high",
49
- "low",
50
- "volume",
51
- "amount",
52
- "ticktime",
53
- "buy",
54
- "sell",
55
- "pricechange",
56
- "changepercent",
57
- ]
28
+ url = "https://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/Market_Center.getHKStockData"
29
+ params = {
30
+ "page": "1",
31
+ "num": "60",
32
+ "sort": "symbol",
33
+ "asc": "1",
34
+ "node": "qbgg_hk",
35
+ "_s_r_a": "init",
36
+ }
37
+ big_df = pd.DataFrame()
38
+ from akshare.utils.tqdm import get_tqdm
39
+ tqdm = get_tqdm()
40
+ for page in tqdm(range(1, 100), leave=False):
41
+ params["page"] = str(page)
42
+ r = requests.get(url, params=params)
43
+ data_json = r.json()
44
+ if not data_json:
45
+ break
46
+ temp_df = pd.DataFrame(data_json)
47
+ big_df = pd.concat(objs=[big_df, temp_df], ignore_index=True)
48
+
49
+
50
+ big_df.columns = [
51
+ "代码",
52
+ "中文名称",
53
+ "英文名称",
54
+ "交易类型",
55
+ "最新价",
56
+ "昨收",
57
+ "今开",
58
+ "最高",
59
+ "最低",
60
+ "成交量",
61
+ "-",
62
+ "成交额",
63
+ "日期时间",
64
+ "买一",
65
+ "卖一",
66
+ "-",
67
+ "-",
68
+ "-",
69
+ "-",
70
+ "-",
71
+ "涨跌额",
72
+ "涨跌幅",
73
+ "-",
74
+ "-",
58
75
  ]
59
- return data_df
76
+ big_df = big_df[[
77
+ "日期时间",
78
+ "代码",
79
+ "中文名称",
80
+ "英文名称",
81
+ "交易类型",
82
+ "最新价",
83
+ "涨跌额",
84
+ "涨跌幅",
85
+ "昨收",
86
+ "今开",
87
+ "最高",
88
+ "最低",
89
+ "成交量",
90
+ "成交额",
91
+ "买一",
92
+ "卖一",
93
+ ]]
94
+ big_df["最新价"] = pd.to_numeric(big_df["最新价"], errors="coerce")
95
+ big_df["涨跌额"] = pd.to_numeric(big_df["涨跌额"], errors="coerce")
96
+ big_df["涨跌幅"] = pd.to_numeric(big_df["涨跌幅"], errors="coerce")
97
+ big_df["昨收"] = pd.to_numeric(big_df["昨收"], errors="coerce")
98
+ big_df["今开"] = pd.to_numeric(big_df["今开"], errors="coerce")
99
+ big_df["最高"] = pd.to_numeric(big_df["最高"], errors="coerce")
100
+ big_df["最低"] = pd.to_numeric(big_df["最低"], errors="coerce")
101
+ big_df["成交量"] = pd.to_numeric(big_df["成交量"], errors="coerce")
102
+ big_df["成交额"] = pd.to_numeric(big_df["成交额"], errors="coerce")
103
+ big_df["买一"] = pd.to_numeric(big_df["买一"], errors="coerce")
104
+ big_df["卖一"] = pd.to_numeric(big_df["卖一"], errors="coerce")
105
+ return big_df
60
106
 
61
107
 
62
108
  def stock_hk_daily(symbol: str = "00981", adjust: str = "") -> pd.DataFrame:
63
109
  """
64
110
  新浪财经-港股-个股的历史行情数据
65
111
  https://stock.finance.sina.com.cn/hkstock/quotes/02912.html
66
- :param symbol: 可以使用 stock_hk_spot 获取
112
+ :param symbol: 可以使用 ak.stock_hk_spot() 获取
67
113
  :type symbol: str
68
114
  :param adjust: "": 返回未复权的数据 ; qfq: 返回前复权后的数据; qfq-factor: 返回前复权因子和调整;
69
115
  :type adjust: str
@@ -234,6 +280,8 @@ def stock_hk_daily(symbol: str = "00981", adjust: str = "") -> pd.DataFrame:
234
280
  qfq_factor_df.reset_index(inplace=True)
235
281
  qfq_factor_df["date"] = pd.to_datetime(qfq_factor_df["date"]).dt.date
236
282
  return qfq_factor_df
283
+ else:
284
+ return pd.DataFrame()
237
285
 
238
286
 
239
287
  if __name__ == "__main__":
@@ -195,6 +195,85 @@ def stock_hold_management_detail_cninfo(symbol: str = "增持") -> pd.DataFrame:
195
195
  return temp_df
196
196
 
197
197
 
198
+ def stock_hold_change_cninfo(symbol: str = "全部") -> pd.DataFrame:
199
+ """
200
+ 巨潮资讯-数据中心-专题统计-股东股本-股本变动
201
+ https://webapi.cninfo.com.cn/#/thematicStatistics
202
+ :param symbol: choice of {"深市主板", "沪市", "创业板", "科创板", "北交所", "全部"}
203
+ :type symbol: str
204
+ :return: 股本变动
205
+ :rtype: pandas.DataFrame
206
+ """
207
+ symbol_map = {
208
+ "深市主板": "012002",
209
+ "沪市": "012001",
210
+ "创业板": "012015",
211
+ "科创板": "012029",
212
+ "北交所": "012046",
213
+ "全部": "",
214
+ }
215
+ url = "https://webapi.cninfo.com.cn/api/sysapi/p_sysapi1029"
216
+ js_code = py_mini_racer.MiniRacer()
217
+ js_content = _get_file_content_cninfo("cninfo.js")
218
+ js_code.eval(js_content)
219
+ mcode = js_code.call("getResCode1")
220
+ headers = {
221
+ "Accept": "/",
222
+ "Accept-Enckey": mcode,
223
+ "Accept-Encoding": "gzip, deflate",
224
+ "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8",
225
+ "Cache-Control": "no-cache",
226
+ "Content-Length": "0",
227
+ "Host": "webapi.cninfo.com.cn",
228
+ "Origin": "https://webapi.cninfo.com.cn",
229
+ "Pragma": "no-cache",
230
+ "Proxy-Connection": "keep-alive",
231
+ "Referer": "https://webapi.cninfo.com.cn/",
232
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
233
+ "Chrome/93.0.4577.63 Safari/537.36",
234
+ "X-Requested-With": "XMLHttpRequest",
235
+ }
236
+ params = {
237
+ "market": symbol_map[symbol],
238
+ }
239
+ r = requests.get(url, headers=headers, params=params)
240
+ data_json = r.json()
241
+ temp_df = pd.DataFrame(data_json["records"])
242
+ temp_df.columns = [
243
+ "已流通股份",
244
+ "总股本",
245
+ "交易市场",
246
+ "证券简称",
247
+ "公告日期",
248
+ "变动原因",
249
+ "证券代码",
250
+ "变动日期",
251
+ "流通受限股份",
252
+ "已流通比例",
253
+ ]
254
+ temp_df = temp_df[
255
+ [
256
+ "证券代码",
257
+ "证券简称",
258
+ "交易市场",
259
+ "公告日期",
260
+ "变动日期",
261
+ "变动原因",
262
+ "总股本",
263
+ "已流通股份",
264
+ "已流通比例",
265
+ "流通受限股份",
266
+ ]
267
+ ]
268
+ temp_df["变动日期"] = pd.to_datetime(temp_df["变动日期"], errors="coerce").dt.date
269
+ temp_df["公告日期"] = pd.to_datetime(temp_df["公告日期"], errors="coerce").dt.date
270
+ temp_df["总股本"] = pd.to_numeric(temp_df["总股本"], errors="coerce")
271
+ temp_df["已流通股份"] = pd.to_numeric(temp_df["已流通股份"], errors="coerce")
272
+ temp_df["已流通比例"] = pd.to_numeric(temp_df["已流通比例"], errors="coerce")
273
+ temp_df["流通受限股份"] = pd.to_numeric(temp_df["流通受限股份"], errors="coerce")
274
+ return temp_df
275
+
276
+
198
277
  if __name__ == "__main__":
199
278
  stock_hold_control_cninfo_df = stock_hold_control_cninfo(symbol="全部")
200
279
  print(stock_hold_control_cninfo_df)
@@ -203,3 +282,6 @@ if __name__ == "__main__":
203
282
  symbol="增持"
204
283
  )
205
284
  print(stock_hold_management_detail_cninfo_df)
285
+
286
+ stock_hold_change_cninfo_df = stock_hold_change_cninfo(symbol="全部")
287
+ print(stock_hold_change_cninfo_df)
@@ -33,7 +33,6 @@ def stock_hold_management_detail_em() -> pd.DataFrame:
33
33
  "p": "1",
34
34
  "pageNo": "1",
35
35
  "pageNum": "1",
36
- "_": "1691501763413",
37
36
  }
38
37
  r = requests.get(url, params=params)
39
38
  data_json = r.json()
@@ -134,7 +133,6 @@ def stock_hold_management_person_em(
134
133
  "sortColumns": "CHANGE_DATE,SECURITY_CODE,PERSON_NAME",
135
134
  "source": "WEB",
136
135
  "client": "WEB",
137
- "_": "1691503078611",
138
136
  }
139
137
  r = requests.get(url, params=params)
140
138
  data_json = r.json()
@@ -5,6 +5,7 @@ Date: 2023/7/8 17:15
5
5
  Desc: 东方财富个股人气榜
6
6
  https://guba.eastmoney.com/rank/
7
7
  """
8
+
8
9
  import pandas as pd
9
10
  import requests
10
11
 
@@ -79,6 +80,7 @@ def stock_hot_rank_detail_em(symbol: str = "SZ000665") -> pd.DataFrame:
79
80
  "globalId": "786e4c21-70dc-435a-93bb-38",
80
81
  "marketType": "",
81
82
  "srcSecurityCode": symbol,
83
+ "yearType": "5",
82
84
  }
83
85
  r = requests.post(url_rank, json=payload)
84
86
  data_json = r.json()
@@ -96,6 +98,7 @@ def stock_hot_rank_detail_em(symbol: str = "SZ000665") -> pd.DataFrame:
96
98
  temp_df["铁杆粉丝"] = (
97
99
  pd.DataFrame(data_json["data"])["oldUidRate"].str.strip("%").astype(float) / 100
98
100
  )
101
+ temp_df.sort_values(['时间'], inplace=True)
99
102
  return temp_df
100
103
 
101
104
 
@@ -190,7 +193,7 @@ def stock_hot_rank_relate_em(symbol: str = "SZ000665") -> pd.DataFrame:
190
193
  temp_df.columns = ["时间", "-", "股票代码", "-", "相关股票代码", "涨跌幅", "-"]
191
194
  temp_df = temp_df[["时间", "股票代码", "相关股票代码", "涨跌幅"]]
192
195
  temp_df["涨跌幅"] = temp_df["涨跌幅"].str.strip("%")
193
- temp_df["涨跌幅"] = pd.to_numeric(temp_df["涨跌幅"])
196
+ temp_df["涨跌幅"] = pd.to_numeric(temp_df["涨跌幅"], errors="coerce")
194
197
  return temp_df
195
198
 
196
199
 
@@ -1,60 +1,73 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2023/4/21 14:19
4
+ Date: 2025/6/16 18:19
5
5
  Desc: 百度股市通-热搜股票
6
- https://gushitong.baidu.com/expressnews
6
+ https://gushitong.baidu.com/hotlist?mainTab=hotSearch&market=all
7
7
  """
8
+
9
+ from datetime import datetime
10
+
8
11
  import pandas as pd
9
12
  import requests
10
- from datetime import datetime
11
13
 
12
14
 
13
- def stock_hot_search_baidu(symbol: str = "A股", date: str = "20230428", time: str = "今日"):
15
+ def stock_hot_search_baidu(
16
+ symbol: str = "A股", date: str = "20250616", time: str = "今日"
17
+ ):
14
18
  """
15
19
  百度股市通-热搜股票
16
- https://gushitong.baidu.com/expressnews
20
+ https://gushitong.baidu.com/hotlist?mainTab=hotSearch&market=all
17
21
  :param symbol: choice of {"全部", "A股", "港股", "美股"}
18
22
  :type symbol: str
19
23
  :param date: 日期
20
24
  :type date: str
21
25
  :param time: time="今日";choice of {"今日", "1小时"}
22
26
  :type time: str
23
- :return: 股东人数及持股集中度
27
+ :return: 热搜股票
24
28
  :rtype: pandas.DataFrame
25
29
  """
26
30
  hour_str = datetime.now().hour
27
31
  symbol_map = {
28
- "全部": "all",
32
+ "全市场": "all",
29
33
  "A股": "ab",
30
34
  "港股": "hk",
31
35
  "美股": "us",
32
36
  }
33
- url = "https://finance.pae.baidu.com/vapi/v1/hotrank"
37
+ url = "https://finance.pae.baidu.com/selfselect/listsugrecomm"
34
38
  params = {
35
- "tn": "wisexmlnew",
39
+ "bizType": "wisexmlnew",
36
40
  "dsp": "iphone",
37
- "product": "stock",
41
+ "product": "search",
42
+ "style": "tablelist",
43
+ "market": symbol_map[symbol],
44
+ "type": time,
38
45
  "day": date,
39
46
  "hour": hour_str,
40
47
  "pn": "0",
41
- "rn": "1000",
42
- "market": symbol_map[symbol],
43
- "type": "day" if time == "今日" else "hour",
48
+ "rn": "12",
44
49
  "finClientType": "pc",
45
50
  }
46
51
  r = requests.get(url, params=params)
47
52
  data_json = r.json()
48
- temp_df = pd.DataFrame(
49
- data_json["Result"]["body"], columns=data_json["Result"]["header"]
50
- )
51
- temp_df["现价"] = pd.to_numeric(temp_df["现价"], errors="coerce")
52
- temp_df["排名变化"] = pd.to_numeric(temp_df["排名变化"], errors="coerce")
53
+ temp_df = pd.DataFrame(data_json["Result"]['list']["body"])
54
+ temp_df.rename(columns={
55
+ 'name': "名称/代码",
56
+ 'pxChangeRate': "涨跌幅",
57
+ 'heat': "综合热度",
58
+
59
+ }, inplace=True)
60
+ temp_df = temp_df[[
61
+ "名称/代码",
62
+ "涨跌幅",
63
+ "综合热度",
64
+ ]]
65
+ temp_df['综合热度'] = pd.to_numeric(temp_df['综合热度'], errors='coerce')
53
66
  return temp_df
54
67
 
55
68
 
56
69
  if __name__ == "__main__":
57
70
  stock_hot_search_baidu_df = stock_hot_search_baidu(
58
- symbol="A股", date="20230428", time="今日"
71
+ symbol="A股", date="20250616", time="今日"
59
72
  )
60
73
  print(stock_hot_search_baidu_df)
@@ -5,6 +5,7 @@ Date: 2023/6/15 15:15
5
5
  Desc: 东方财富个股人气榜
6
6
  https://guba.eastmoney.com/rank/
7
7
  """
8
+
8
9
  import pandas as pd
9
10
  import requests
10
11
 
@@ -62,7 +63,9 @@ def stock_hot_up_em() -> pd.DataFrame:
62
63
  "涨跌幅",
63
64
  ]
64
65
  ]
65
- temp_df["排名较昨日变动"] = pd.to_numeric(temp_df["排名较昨日变动"], errors="coerce")
66
+ temp_df["排名较昨日变动"] = pd.to_numeric(
67
+ temp_df["排名较昨日变动"], errors="coerce"
68
+ )
66
69
  temp_df["当前排名"] = pd.to_numeric(temp_df["当前排名"], errors="coerce")
67
70
  temp_df["最新价"] = pd.to_numeric(temp_df["最新价"], errors="coerce")
68
71
  temp_df["涨跌幅"] = pd.to_numeric(temp_df["涨跌幅"], errors="coerce")
@@ -0,0 +1,155 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding:utf-8 -*-
3
+ """
4
+ Date: 2025/3/9 23:00
5
+ Desc: 东方财富网-行情中心-沪深港通
6
+ https://quote.eastmoney.com/center/gridlist.html#ah_comparison
7
+ """
8
+
9
+ import math
10
+
11
+ import pandas as pd
12
+ import requests
13
+
14
+ from akshare.utils.tqdm import get_tqdm
15
+ from akshare.utils.func import fetch_paginated_data
16
+
17
+
18
+ def stock_zh_ah_spot_em() -> pd.DataFrame:
19
+ """
20
+ 东方财富网-行情中心-沪深港通-AH股比价-实时行情
21
+ https://quote.eastmoney.com/center/gridlist.html#ah_comparison
22
+ :return: 东方财富网-行情中心-沪深港通-AH股比价-实时行情
23
+ :rtype: pandas.DataFrame
24
+ """
25
+ url = "https://push2.eastmoney.com/api/qt/clist/get"
26
+ params = {
27
+ "np": "1",
28
+ "fltt": "1",
29
+ "invt": "2",
30
+ "fs": "b:DLMK0101",
31
+ "fields": "f193,f191,f192,f12,f13,f14,f1,f2,f4,f3,f152,f186,f190,f187,f189,f188",
32
+ "fid": "f3",
33
+ "pn": "1",
34
+ "pz": "100",
35
+ "po": "1",
36
+ "dect": "1",
37
+ "wbp2u": "|0|0|0|web",
38
+ }
39
+ temp_df = fetch_paginated_data(url, params)
40
+ temp_df.reset_index(inplace=True)
41
+ temp_df["index"] = temp_df["index"].astype(int) + 1
42
+ temp_df.rename(
43
+ columns={
44
+ "index": "序号",
45
+ "f193": "名称",
46
+ "f12": "H股代码",
47
+ "f2": "最新价-HKD",
48
+ "f3": "H股-涨跌幅",
49
+ "f191": "A股代码",
50
+ "f186": "最新价-RMB",
51
+ "f187": "A股-涨跌幅",
52
+ "f189": "比价",
53
+ "f188": "溢价",
54
+ },
55
+ inplace=True,
56
+ )
57
+ temp_df = temp_df[
58
+ [
59
+ "序号",
60
+ "名称",
61
+ "H股代码",
62
+ "最新价-HKD",
63
+ "H股-涨跌幅",
64
+ "A股代码",
65
+ "最新价-RMB",
66
+ "A股-涨跌幅",
67
+ "比价",
68
+ "溢价",
69
+ ]
70
+ ]
71
+ temp_df["最新价-HKD"] = pd.to_numeric(temp_df["最新价-HKD"], errors="coerce") / 1000
72
+ temp_df["H股-涨跌幅"] = pd.to_numeric(temp_df["H股-涨跌幅"], errors="coerce") / 100
73
+ temp_df["最新价-RMB"] = pd.to_numeric(temp_df["最新价-RMB"], errors="coerce") / 100
74
+ temp_df["A股-涨跌幅"] = pd.to_numeric(temp_df["A股-涨跌幅"], errors="coerce") / 100
75
+ temp_df["比价"] = pd.to_numeric(temp_df["比价"], errors="coerce") / 100
76
+ temp_df["溢价"] = pd.to_numeric(temp_df["溢价"], errors="coerce") / 100
77
+ return temp_df
78
+
79
+
80
+ def stock_hsgt_sh_hk_spot_em() -> pd.DataFrame:
81
+ """
82
+ 东方财富网-行情中心-沪深港通-港股通(沪>港)-股票
83
+ https://quote.eastmoney.com/center/gridlist.html#hk_sh_stocks
84
+ :return: 东方财富网-行情中心-沪深港通-港股通(沪>港)-股票
85
+ :rtype: pandas.DataFrame
86
+ """
87
+ url = "https://push2.eastmoney.com/api/qt/clist/get"
88
+ params = {
89
+ "np": "1",
90
+ "fltt": "1",
91
+ "invt": "2",
92
+ "fs": "b:DLMK0144",
93
+ "fields": "f12,f13,f14,f19,f1,f2,f4,f3,f152,f17,f18,f15,f16,f5,f6",
94
+ "fid": "f12",
95
+ "pn": "1",
96
+ "pz": "100",
97
+ "po": "1",
98
+ "dect": "1",
99
+ "wbp2u": "|0|0|0|web",
100
+ }
101
+ temp_df = fetch_paginated_data(url, params)
102
+ temp_df.rename(
103
+ columns={
104
+ "f12": "代码",
105
+ "f14": "名称",
106
+ "f2": "最新价",
107
+ "f4": "涨跌额",
108
+ "f3": "涨跌幅",
109
+ "f17": "今开",
110
+ "f15": "最高",
111
+ "f16": "最低",
112
+ "f18": "昨收",
113
+ "f5": "成交量",
114
+ "f6": "成交额",
115
+ },
116
+ inplace=True,
117
+ )
118
+
119
+ temp_df = temp_df[
120
+ [
121
+ "代码",
122
+ "名称",
123
+ "最新价",
124
+ "涨跌额",
125
+ "涨跌幅",
126
+ "今开",
127
+ "最高",
128
+ "最低",
129
+ "昨收",
130
+ "成交量",
131
+ "成交额",
132
+ ]
133
+ ]
134
+ temp_df["最新价"] = pd.to_numeric(temp_df["最新价"], errors="coerce") / 1000
135
+ temp_df["涨跌额"] = pd.to_numeric(temp_df["涨跌额"], errors="coerce") / 1000
136
+ temp_df["涨跌幅"] = pd.to_numeric(temp_df["涨跌幅"], errors="coerce") / 100
137
+ temp_df["今开"] = pd.to_numeric(temp_df["今开"], errors="coerce") / 1000
138
+ temp_df["最高"] = pd.to_numeric(temp_df["最高"], errors="coerce") / 1000
139
+ temp_df["最低"] = pd.to_numeric(temp_df["最低"], errors="coerce") / 1000
140
+ temp_df["昨收"] = pd.to_numeric(temp_df["昨收"], errors="coerce") / 1000
141
+ temp_df["成交量"] = pd.to_numeric(temp_df["成交量"], errors="coerce") / 100000000
142
+ temp_df["成交额"] = pd.to_numeric(temp_df["成交额"], errors="coerce") / 100000000
143
+ temp_df.sort_values(["代码"], ignore_index=True, inplace=True)
144
+ temp_df.reset_index(inplace=True)
145
+ temp_df["index"] = temp_df["index"].astype(int) + 1
146
+ temp_df.rename(columns={"index": "序号"}, inplace=True)
147
+ return temp_df
148
+
149
+
150
+ if __name__ == "__main__":
151
+ stock_zh_ah_spot_em_df = stock_zh_ah_spot_em()
152
+ print(stock_zh_ah_spot_em_df)
153
+
154
+ stock_hsgt_sh_hk_spot_em_df = stock_hsgt_sh_hk_spot_em()
155
+ print(stock_hsgt_sh_hk_spot_em_df)
@@ -5,6 +5,7 @@ Date: 2023/5/9 17:06
5
5
  Desc: 新浪行业-板块行情
6
6
  http://finance.sina.com.cn/stock/sl/
7
7
  """
8
+
8
9
  import json
9
10
  import math
10
11
 
@@ -126,7 +126,6 @@ def stock_industry_change_cninfo(
126
126
  "sdate": "-".join([start_date[:4], start_date[4:6], start_date[6:]]),
127
127
  "edate": "-".join([end_date[:4], end_date[4:6], end_date[6:]]),
128
128
  }
129
-
130
129
  js_code = py_mini_racer.MiniRacer()
131
130
  js_content = _get_file_content_ths("cninfo.js")
132
131
  js_code.eval(js_content)
@@ -167,7 +166,7 @@ def stock_industry_change_cninfo(
167
166
  ignore_cols = ["最新记录标识"]
168
167
  temp_df.rename(columns=cols_map, inplace=True)
169
168
  temp_df.fillna(np.nan, inplace=True)
170
- temp_df["变更日期"] = pd.to_datetime(temp_df["变更日期"]).dt.date
169
+ temp_df["变更日期"] = pd.to_datetime(temp_df["变更日期"], errors="coerce").dt.date
171
170
  data_df = temp_df[[c for c in temp_df.columns if c not in ignore_cols]]
172
171
  return data_df
173
172
 
@@ -151,7 +151,6 @@ def stock_info_sh_name_code(symbol: str = "主板A股") -> pd.DataFrame:
151
151
  "pageHelp.pageSize": "10000",
152
152
  "pageHelp.pageNo": "1",
153
153
  "pageHelp.endPage": "1",
154
- "_": "1653291270045",
155
154
  }
156
155
  r = requests.get(url, params=params, headers=headers)
157
156
  data_json = r.json()
@@ -160,7 +159,9 @@ def stock_info_sh_name_code(symbol: str = "主板A股") -> pd.DataFrame:
160
159
  temp_df.rename(
161
160
  columns={
162
161
  col_stock_code: "证券代码",
163
- "COMPANY_ABBR": "证券简称",
162
+ "SEC_NAME_CN": "证券简称",
163
+ "SEC_NAME_FULL": "证券全称",
164
+ "COMPANY_ABBR": "公司简称",
164
165
  "FULL_NAME": "公司全称",
165
166
  "LIST_DATE": "上市日期",
166
167
  },
@@ -170,6 +171,8 @@ def stock_info_sh_name_code(symbol: str = "主板A股") -> pd.DataFrame:
170
171
  [
171
172
  "证券代码",
172
173
  "证券简称",
174
+ "证券全称",
175
+ "公司简称",
173
176
  "公司全称",
174
177
  "上市日期",
175
178
  ]
@@ -321,7 +324,6 @@ def stock_info_sh_delist(symbol: str = "全部") -> pd.DataFrame:
321
324
  "pageHelp.pageSize": "500",
322
325
  "pageHelp.pageNo": "1",
323
326
  "pageHelp.endPage": "1",
324
- "_": "1643035608183",
325
327
  }
326
328
  r = requests.get(url, params=params, headers=headers)
327
329
  data_json = r.json()
@@ -350,7 +352,7 @@ def stock_info_sh_delist(symbol: str = "全部") -> pd.DataFrame:
350
352
  return temp_df
351
353
 
352
354
 
353
- def stock_info_sz_delist(symbol: str = "暂停上市公司") -> pd.DataFrame:
355
+ def stock_info_sz_delist(symbol: str = "终止上市公司") -> pd.DataFrame:
354
356
  """
355
357
  深证证券交易所-暂停上市公司-终止上市公司
356
358
  https://www.szse.cn/market/stock/suspend/index.html