akshare 1.14.36__tar.gz → 1.14.38__tar.gz

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.

Files changed (394) hide show
  1. {akshare-1.14.36 → akshare-1.14.38}/PKG-INFO +2 -3
  2. {akshare-1.14.36 → akshare-1.14.38}/akshare/__init__.py +3 -1
  3. {akshare-1.14.36 → akshare-1.14.38}/akshare/air/air_zhenqi.py +3 -3
  4. {akshare-1.14.36 → akshare-1.14.38}/akshare/bond/bond_issue_cninfo.py +1 -1
  5. {akshare-1.14.36 → akshare-1.14.38}/akshare/bond/bond_zh_cov.py +1 -1
  6. {akshare-1.14.36 → akshare-1.14.38}/akshare/bond/bond_zh_sina.py +1 -1
  7. {akshare-1.14.36 → akshare-1.14.38}/akshare/fund/fund_etf_sina.py +2 -1
  8. {akshare-1.14.36 → akshare-1.14.38}/akshare/fund/fund_report_cninfo.py +41 -30
  9. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/futures_zh_sina.py +1 -1
  10. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/index_fear_greed_funddb.py +1 -1
  11. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/index_stock_hk.py +1 -1
  12. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/index_stock_us_sina.py +1 -1
  13. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/index_stock_zh.py +1 -1
  14. {akshare-1.14.36 → akshare-1.14.38}/akshare/movie/artist_yien.py +32 -5
  15. {akshare-1.14.36 → akshare-1.14.38}/akshare/movie/movie_yien.py +1 -1
  16. {akshare-1.14.36 → akshare-1.14.38}/akshare/movie/video_yien.py +28 -5
  17. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_allotment_cninfo.py +1 -1
  18. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_cg_equity_mortgage.py +5 -2
  19. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_cg_guarantee.py +1 -1
  20. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_cg_lawsuit.py +36 -35
  21. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_dividend_cninfo.py +1 -1
  22. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_hk_sina.py +8 -7
  23. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_hold_control_cninfo.py +2 -1
  24. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_hold_num_cninfo.py +8 -3
  25. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_industry_cninfo.py +1 -1
  26. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_industry_pe_cninfo.py +1 -1
  27. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_industry_sw.py +3 -5
  28. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_ipo_summary_cninfo.py +1 -1
  29. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_new_cninfo.py +17 -6
  30. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_profile_cninfo.py +1 -1
  31. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_rank_forecast.py +2 -1
  32. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_share_changes_cninfo.py +1 -1
  33. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_us_sina.py +8 -9
  34. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_zh_a_sina.py +1 -1
  35. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_zh_b_sina.py +10 -9
  36. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_zh_kcb_report.py +11 -9
  37. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_a_pe_and_pb.py +1 -1
  38. akshare-1.14.38/akshare/stock_feature/stock_board_industry_ths.py +354 -0
  39. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_cyq_em.py +1 -1
  40. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_fund_flow.py +8 -3
  41. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_technology_ths.py +44 -57
  42. {akshare-1.14.36 → akshare-1.14.38}/akshare/tool/trade_date_hist.py +1 -1
  43. {akshare-1.14.36 → akshare-1.14.38}/akshare.egg-info/PKG-INFO +2 -3
  44. {akshare-1.14.36 → akshare-1.14.38}/akshare.egg-info/requires.txt +1 -2
  45. {akshare-1.14.36 → akshare-1.14.38}/setup.py +2 -3
  46. akshare-1.14.36/akshare/stock_feature/stock_board_industry_ths.py +0 -626
  47. {akshare-1.14.36 → akshare-1.14.38}/LICENSE +0 -0
  48. {akshare-1.14.36 → akshare-1.14.38}/README.md +0 -0
  49. {akshare-1.14.36 → akshare-1.14.38}/akshare/air/__init__.py +0 -0
  50. {akshare-1.14.36 → akshare-1.14.38}/akshare/air/air_hebei.py +0 -0
  51. {akshare-1.14.36 → akshare-1.14.38}/akshare/air/cons.py +0 -0
  52. {akshare-1.14.36 → akshare-1.14.38}/akshare/air/crypto.js +0 -0
  53. {akshare-1.14.36 → akshare-1.14.38}/akshare/air/outcrypto.js +0 -0
  54. {akshare-1.14.36 → akshare-1.14.38}/akshare/air/sunrise_tad.py +0 -0
  55. {akshare-1.14.36 → akshare-1.14.38}/akshare/article/__init__.py +0 -0
  56. {akshare-1.14.36 → akshare-1.14.38}/akshare/article/cons.py +0 -0
  57. {akshare-1.14.36 → akshare-1.14.38}/akshare/article/epu_index.py +0 -0
  58. {akshare-1.14.36 → akshare-1.14.38}/akshare/article/ff_factor.py +0 -0
  59. {akshare-1.14.36 → akshare-1.14.38}/akshare/article/fred_md.py +0 -0
  60. {akshare-1.14.36 → akshare-1.14.38}/akshare/article/risk_rv.py +0 -0
  61. {akshare-1.14.36 → akshare-1.14.38}/akshare/bank/__init__.py +0 -0
  62. {akshare-1.14.36 → akshare-1.14.38}/akshare/bank/bank_cbirc_2020.py +0 -0
  63. {akshare-1.14.36 → akshare-1.14.38}/akshare/bank/cons.py +0 -0
  64. {akshare-1.14.36 → akshare-1.14.38}/akshare/bond/__init__.py +0 -0
  65. {akshare-1.14.36 → akshare-1.14.38}/akshare/bond/bond_cb_sina.py +0 -0
  66. {akshare-1.14.36 → akshare-1.14.38}/akshare/bond/bond_cb_ths.py +0 -0
  67. {akshare-1.14.36 → akshare-1.14.38}/akshare/bond/bond_cbond.py +0 -0
  68. {akshare-1.14.36 → akshare-1.14.38}/akshare/bond/bond_china.py +0 -0
  69. {akshare-1.14.36 → akshare-1.14.38}/akshare/bond/bond_china_money.py +0 -0
  70. {akshare-1.14.36 → akshare-1.14.38}/akshare/bond/bond_convert.py +0 -0
  71. {akshare-1.14.36 → akshare-1.14.38}/akshare/bond/bond_em.py +0 -0
  72. {akshare-1.14.36 → akshare-1.14.38}/akshare/bond/bond_futures.py +0 -0
  73. {akshare-1.14.36 → akshare-1.14.38}/akshare/bond/bond_info_cm.py +0 -0
  74. {akshare-1.14.36 → akshare-1.14.38}/akshare/bond/bond_investing.py +0 -0
  75. {akshare-1.14.36 → akshare-1.14.38}/akshare/bond/bond_nafmii.py +0 -0
  76. {akshare-1.14.36 → akshare-1.14.38}/akshare/bond/bond_summary.py +0 -0
  77. {akshare-1.14.36 → akshare-1.14.38}/akshare/bond/cons.py +0 -0
  78. {akshare-1.14.36 → akshare-1.14.38}/akshare/cost/__init__.py +0 -0
  79. {akshare-1.14.36 → akshare-1.14.38}/akshare/cost/cost_living.py +0 -0
  80. {akshare-1.14.36 → akshare-1.14.38}/akshare/crypto/__init__.py +0 -0
  81. {akshare-1.14.36 → akshare-1.14.38}/akshare/crypto/crypto_bitcoin_cme.py +0 -0
  82. {akshare-1.14.36 → akshare-1.14.38}/akshare/crypto/crypto_hist_investing.py +0 -0
  83. {akshare-1.14.36 → akshare-1.14.38}/akshare/crypto/crypto_hold.py +0 -0
  84. {akshare-1.14.36 → akshare-1.14.38}/akshare/currency/__init__.py +0 -0
  85. {akshare-1.14.36 → akshare-1.14.38}/akshare/currency/currency.py +0 -0
  86. {akshare-1.14.36 → akshare-1.14.38}/akshare/currency/currency_china_bank_sina.py +0 -0
  87. {akshare-1.14.36 → akshare-1.14.38}/akshare/currency/currency_safe.py +0 -0
  88. {akshare-1.14.36 → akshare-1.14.38}/akshare/data/__init__.py +0 -0
  89. {akshare-1.14.36 → akshare-1.14.38}/akshare/data/cninfo.js +0 -0
  90. {akshare-1.14.36 → akshare-1.14.38}/akshare/data/crypto_info.zip +0 -0
  91. {akshare-1.14.36 → akshare-1.14.38}/akshare/data/ths.js +0 -0
  92. {akshare-1.14.36 → akshare-1.14.38}/akshare/datasets.py +0 -0
  93. {akshare-1.14.36 → akshare-1.14.38}/akshare/economic/__init__.py +0 -0
  94. {akshare-1.14.36 → akshare-1.14.38}/akshare/economic/cons.py +0 -0
  95. {akshare-1.14.36 → akshare-1.14.38}/akshare/economic/macro_australia.py +0 -0
  96. {akshare-1.14.36 → akshare-1.14.38}/akshare/economic/macro_bank.py +0 -0
  97. {akshare-1.14.36 → akshare-1.14.38}/akshare/economic/macro_canada.py +0 -0
  98. {akshare-1.14.36 → akshare-1.14.38}/akshare/economic/macro_china.py +0 -0
  99. {akshare-1.14.36 → akshare-1.14.38}/akshare/economic/macro_china_hk.py +0 -0
  100. {akshare-1.14.36 → akshare-1.14.38}/akshare/economic/macro_china_nbs.py +0 -0
  101. {akshare-1.14.36 → akshare-1.14.38}/akshare/economic/macro_constitute.py +0 -0
  102. {akshare-1.14.36 → akshare-1.14.38}/akshare/economic/macro_euro.py +0 -0
  103. {akshare-1.14.36 → akshare-1.14.38}/akshare/economic/macro_finance_ths.py +0 -0
  104. {akshare-1.14.36 → akshare-1.14.38}/akshare/economic/macro_germany.py +0 -0
  105. {akshare-1.14.36 → akshare-1.14.38}/akshare/economic/macro_info_ws.py +0 -0
  106. {akshare-1.14.36 → akshare-1.14.38}/akshare/economic/macro_japan.py +0 -0
  107. {akshare-1.14.36 → akshare-1.14.38}/akshare/economic/macro_other.py +0 -0
  108. {akshare-1.14.36 → akshare-1.14.38}/akshare/economic/macro_swiss.py +0 -0
  109. {akshare-1.14.36 → akshare-1.14.38}/akshare/economic/macro_uk.py +0 -0
  110. {akshare-1.14.36 → akshare-1.14.38}/akshare/economic/macro_usa.py +0 -0
  111. {akshare-1.14.36 → akshare-1.14.38}/akshare/economic/marco_cnbs.py +0 -0
  112. {akshare-1.14.36 → akshare-1.14.38}/akshare/energy/__init__.py +0 -0
  113. {akshare-1.14.36 → akshare-1.14.38}/akshare/energy/energy_carbon.py +0 -0
  114. {akshare-1.14.36 → akshare-1.14.38}/akshare/energy/energy_oil_em.py +0 -0
  115. {akshare-1.14.36 → akshare-1.14.38}/akshare/event/__init__.py +0 -0
  116. {akshare-1.14.36 → akshare-1.14.38}/akshare/event/cons.py +0 -0
  117. {akshare-1.14.36 → akshare-1.14.38}/akshare/event/migration.py +0 -0
  118. {akshare-1.14.36 → akshare-1.14.38}/akshare/file_fold/__init__.py +0 -0
  119. {akshare-1.14.36 → akshare-1.14.38}/akshare/file_fold/calendar.json +0 -0
  120. {akshare-1.14.36 → akshare-1.14.38}/akshare/fortune/__init__.py +0 -0
  121. {akshare-1.14.36 → akshare-1.14.38}/akshare/fortune/fortune_500.py +0 -0
  122. {akshare-1.14.36 → akshare-1.14.38}/akshare/fortune/fortune_bloomberg.py +0 -0
  123. {akshare-1.14.36 → akshare-1.14.38}/akshare/fortune/fortune_forbes_500.py +0 -0
  124. {akshare-1.14.36 → akshare-1.14.38}/akshare/fortune/fortune_hurun.py +0 -0
  125. {akshare-1.14.36 → akshare-1.14.38}/akshare/fortune/fortune_it_juzi.py +0 -0
  126. {akshare-1.14.36 → akshare-1.14.38}/akshare/fortune/fortune_xincaifu_500.py +0 -0
  127. {akshare-1.14.36 → akshare-1.14.38}/akshare/fund/__init__.py +0 -0
  128. {akshare-1.14.36 → akshare-1.14.38}/akshare/fund/fund_amac.py +0 -0
  129. {akshare-1.14.36 → akshare-1.14.38}/akshare/fund/fund_announcement.py +0 -0
  130. {akshare-1.14.36 → akshare-1.14.38}/akshare/fund/fund_aum_em.py +0 -0
  131. {akshare-1.14.36 → akshare-1.14.38}/akshare/fund/fund_em.py +0 -0
  132. {akshare-1.14.36 → akshare-1.14.38}/akshare/fund/fund_etf_em.py +0 -0
  133. {akshare-1.14.36 → akshare-1.14.38}/akshare/fund/fund_etf_ths.py +0 -0
  134. {akshare-1.14.36 → akshare-1.14.38}/akshare/fund/fund_fhsp_em.py +0 -0
  135. {akshare-1.14.36 → akshare-1.14.38}/akshare/fund/fund_init_em.py +0 -0
  136. {akshare-1.14.36 → akshare-1.14.38}/akshare/fund/fund_lof_em.py +0 -0
  137. {akshare-1.14.36 → akshare-1.14.38}/akshare/fund/fund_manager.py +0 -0
  138. {akshare-1.14.36 → akshare-1.14.38}/akshare/fund/fund_portfolio_em.py +0 -0
  139. {akshare-1.14.36 → akshare-1.14.38}/akshare/fund/fund_position_lg.py +0 -0
  140. {akshare-1.14.36 → akshare-1.14.38}/akshare/fund/fund_rank_em.py +0 -0
  141. {akshare-1.14.36 → akshare-1.14.38}/akshare/fund/fund_rating.py +0 -0
  142. {akshare-1.14.36 → akshare-1.14.38}/akshare/fund/fund_scale_em.py +0 -0
  143. {akshare-1.14.36 → akshare-1.14.38}/akshare/fund/fund_scale_sina.py +0 -0
  144. {akshare-1.14.36 → akshare-1.14.38}/akshare/fund/fund_xq.py +0 -0
  145. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/__init__.py +0 -0
  146. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/cons.py +0 -0
  147. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/cot.py +0 -0
  148. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/futures_basis.py +0 -0
  149. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/futures_comex_em.py +0 -0
  150. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/futures_comm_ctp.py +0 -0
  151. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/futures_comm_qihuo.py +0 -0
  152. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/futures_contract_detail.py +0 -0
  153. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/futures_daily_bar.py +0 -0
  154. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/futures_foreign.py +0 -0
  155. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/futures_hf_em.py +0 -0
  156. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/futures_hq_sina.py +0 -0
  157. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/futures_index_ccidx.py +0 -0
  158. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/futures_international.py +0 -0
  159. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/futures_inventory_99.py +0 -0
  160. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/futures_inventory_em.py +0 -0
  161. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/futures_news_baidu.py +0 -0
  162. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/futures_news_shmet.py +0 -0
  163. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/futures_roll_yield.py +0 -0
  164. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/futures_rule.py +0 -0
  165. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/futures_settlement_price_sgx.py +0 -0
  166. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/futures_spot_stock_em.py +0 -0
  167. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/futures_stock_js.py +0 -0
  168. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/futures_to_spot.py +0 -0
  169. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/futures_warehouse_receipt.py +0 -0
  170. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/inventory_data.py +0 -0
  171. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/receipt.py +0 -0
  172. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/requests_fun.py +0 -0
  173. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures/symbol_var.py +0 -0
  174. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures_derivative/__init__.py +0 -0
  175. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures_derivative/cons.py +0 -0
  176. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures_derivative/futures_contract_info_cffex.py +0 -0
  177. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures_derivative/futures_contract_info_czce.py +0 -0
  178. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures_derivative/futures_contract_info_dce.py +0 -0
  179. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures_derivative/futures_contract_info_gfex.py +0 -0
  180. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures_derivative/futures_contract_info_ine.py +0 -0
  181. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures_derivative/futures_contract_info_shfe.py +0 -0
  182. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures_derivative/futures_cot_sina.py +0 -0
  183. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures_derivative/futures_hog.py +0 -0
  184. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures_derivative/futures_index_price_nh.py +0 -0
  185. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures_derivative/futures_index_return_nh.py +0 -0
  186. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures_derivative/futures_index_sina.py +0 -0
  187. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures_derivative/futures_index_volatility_nh.py +0 -0
  188. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures_derivative/futures_other_index_nh.py +0 -0
  189. {akshare-1.14.36 → akshare-1.14.38}/akshare/futures_derivative/futures_spot_sys.py +0 -0
  190. {akshare-1.14.36 → akshare-1.14.38}/akshare/fx/__init__.py +0 -0
  191. {akshare-1.14.36 → akshare-1.14.38}/akshare/fx/cons.py +0 -0
  192. {akshare-1.14.36 → akshare-1.14.38}/akshare/fx/currency_investing.py +0 -0
  193. {akshare-1.14.36 → akshare-1.14.38}/akshare/fx/fx_quote.py +0 -0
  194. {akshare-1.14.36 → akshare-1.14.38}/akshare/fx/fx_quote_baidu.py +0 -0
  195. {akshare-1.14.36 → akshare-1.14.38}/akshare/hf/__init__.py +0 -0
  196. {akshare-1.14.36 → akshare-1.14.38}/akshare/hf/hf_sp500.py +0 -0
  197. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/__init__.py +0 -0
  198. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/cons.py +0 -0
  199. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/index_cflp.py +0 -0
  200. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/index_cni.py +0 -0
  201. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/index_cons.py +0 -0
  202. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/index_cx.py +0 -0
  203. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/index_drewry.py +0 -0
  204. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/index_eri.py +0 -0
  205. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/index_hog.py +0 -0
  206. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/index_investing.py +0 -0
  207. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/index_kq_fz.py +0 -0
  208. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/index_kq_ss.py +0 -0
  209. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/index_option_qvix.py +0 -0
  210. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/index_research_fund_sw.py +0 -0
  211. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/index_research_sw.py +0 -0
  212. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/index_spot.py +0 -0
  213. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/index_stock_zh_csindex.py +0 -0
  214. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/index_sugar.py +0 -0
  215. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/index_sw.py +0 -0
  216. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/index_yw.py +0 -0
  217. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/index_zh_a_scope.py +0 -0
  218. {akshare-1.14.36 → akshare-1.14.38}/akshare/index/index_zh_em.py +0 -0
  219. {akshare-1.14.36 → akshare-1.14.38}/akshare/interest_rate/__init__.py +0 -0
  220. {akshare-1.14.36 → akshare-1.14.38}/akshare/interest_rate/interbank_rate_em.py +0 -0
  221. {akshare-1.14.36 → akshare-1.14.38}/akshare/movie/__init__.py +0 -0
  222. {akshare-1.14.36 → akshare-1.14.38}/akshare/movie/jm.js +0 -0
  223. {akshare-1.14.36 → akshare-1.14.38}/akshare/news/__init__.py +0 -0
  224. {akshare-1.14.36 → akshare-1.14.38}/akshare/news/news_baidu.py +0 -0
  225. {akshare-1.14.36 → akshare-1.14.38}/akshare/news/news_cctv.py +0 -0
  226. {akshare-1.14.36 → akshare-1.14.38}/akshare/news/news_stock.py +0 -0
  227. {akshare-1.14.36 → akshare-1.14.38}/akshare/nlp/__init__.py +0 -0
  228. {akshare-1.14.36 → akshare-1.14.38}/akshare/nlp/nlp_interface.py +0 -0
  229. {akshare-1.14.36 → akshare-1.14.38}/akshare/option/__init__.py +0 -0
  230. {akshare-1.14.36 → akshare-1.14.38}/akshare/option/cons.py +0 -0
  231. {akshare-1.14.36 → akshare-1.14.38}/akshare/option/option_comm_qihuo.py +0 -0
  232. {akshare-1.14.36 → akshare-1.14.38}/akshare/option/option_commodity.py +0 -0
  233. {akshare-1.14.36 → akshare-1.14.38}/akshare/option/option_commodity_sina.py +0 -0
  234. {akshare-1.14.36 → akshare-1.14.38}/akshare/option/option_czce.py +0 -0
  235. {akshare-1.14.36 → akshare-1.14.38}/akshare/option/option_daily_stats_sse_szse.py +0 -0
  236. {akshare-1.14.36 → akshare-1.14.38}/akshare/option/option_em.py +0 -0
  237. {akshare-1.14.36 → akshare-1.14.38}/akshare/option/option_finance.py +0 -0
  238. {akshare-1.14.36 → akshare-1.14.38}/akshare/option/option_finance_sina.py +0 -0
  239. {akshare-1.14.36 → akshare-1.14.38}/akshare/option/option_lhb_em.py +0 -0
  240. {akshare-1.14.36 → akshare-1.14.38}/akshare/option/option_premium_analysis_em.py +0 -0
  241. {akshare-1.14.36 → akshare-1.14.38}/akshare/option/option_risk_analysis_em.py +0 -0
  242. {akshare-1.14.36 → akshare-1.14.38}/akshare/option/option_risk_indicator_sse.py +0 -0
  243. {akshare-1.14.36 → akshare-1.14.38}/akshare/option/option_value_analysis_em.py +0 -0
  244. {akshare-1.14.36 → akshare-1.14.38}/akshare/other/__init__.py +0 -0
  245. {akshare-1.14.36 → akshare-1.14.38}/akshare/other/other_car_cpca.py +0 -0
  246. {akshare-1.14.36 → akshare-1.14.38}/akshare/other/other_car_gasgoo.py +0 -0
  247. {akshare-1.14.36 → akshare-1.14.38}/akshare/pro/__init__.py +0 -0
  248. {akshare-1.14.36 → akshare-1.14.38}/akshare/pro/client.py +0 -0
  249. {akshare-1.14.36 → akshare-1.14.38}/akshare/pro/cons.py +0 -0
  250. {akshare-1.14.36 → akshare-1.14.38}/akshare/pro/data_pro.py +0 -0
  251. {akshare-1.14.36 → akshare-1.14.38}/akshare/qhkc/__init__.py +0 -0
  252. {akshare-1.14.36 → akshare-1.14.38}/akshare/qhkc/qhkc_api.py +0 -0
  253. {akshare-1.14.36 → akshare-1.14.38}/akshare/qhkc_web/__init__.py +0 -0
  254. {akshare-1.14.36 → akshare-1.14.38}/akshare/qhkc_web/qhkc_fund.py +0 -0
  255. {akshare-1.14.36 → akshare-1.14.38}/akshare/qhkc_web/qhkc_index.py +0 -0
  256. {akshare-1.14.36 → akshare-1.14.38}/akshare/qhkc_web/qhkc_tool.py +0 -0
  257. {akshare-1.14.36 → akshare-1.14.38}/akshare/rate/__init__.py +0 -0
  258. {akshare-1.14.36 → akshare-1.14.38}/akshare/rate/repo_rate.py +0 -0
  259. {akshare-1.14.36 → akshare-1.14.38}/akshare/reits/__init__.py +0 -0
  260. {akshare-1.14.36 → akshare-1.14.38}/akshare/reits/reits_basic.py +0 -0
  261. {akshare-1.14.36 → akshare-1.14.38}/akshare/sport/__init__.py +0 -0
  262. {akshare-1.14.36 → akshare-1.14.38}/akshare/sport/sport_olympic.py +0 -0
  263. {akshare-1.14.36 → akshare-1.14.38}/akshare/sport/sport_olympic_winter.py +0 -0
  264. {akshare-1.14.36 → akshare-1.14.38}/akshare/spot/__init__.py +0 -0
  265. {akshare-1.14.36 → akshare-1.14.38}/akshare/spot/spot_price_qh.py +0 -0
  266. {akshare-1.14.36 → akshare-1.14.38}/akshare/spot/spot_sge.py +0 -0
  267. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/__init__.py +0 -0
  268. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/cons.py +0 -0
  269. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_ask_bid_em.py +0 -0
  270. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_board_concept_em.py +0 -0
  271. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_board_industry_em.py +0 -0
  272. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_dzjy_em.py +0 -0
  273. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_fund_em.py +0 -0
  274. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_fund_hold.py +0 -0
  275. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_gsrl_em.py +0 -0
  276. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_hk_fhpx_ths.py +0 -0
  277. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_hk_hot_rank_em.py +0 -0
  278. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_hold_control_em.py +0 -0
  279. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_hot_rank_em.py +0 -0
  280. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_hot_search_baidu.py +0 -0
  281. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_hot_up_em.py +0 -0
  282. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_industry.py +0 -0
  283. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_info.py +0 -0
  284. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_info_em.py +0 -0
  285. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_intraday_em.py +0 -0
  286. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_intraday_sina.py +0 -0
  287. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_repurchase_em.py +0 -0
  288. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_share_hold.py +0 -0
  289. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_stop.py +0 -0
  290. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_summary.py +0 -0
  291. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_us_famous.py +0 -0
  292. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_us_js.py +0 -0
  293. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_us_pink.py +0 -0
  294. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_weibo_nlp.py +0 -0
  295. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_xq.py +0 -0
  296. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_zh_a_special.py +0 -0
  297. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_zh_a_tick_tx.py +0 -0
  298. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_zh_ah_tx.py +0 -0
  299. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock/stock_zh_kcb_sina.py +0 -0
  300. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/__init__.py +0 -0
  301. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/cons.py +0 -0
  302. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_a_below_net_asset_statistics.py +0 -0
  303. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_a_high_low.py +0 -0
  304. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_a_indicator.py +0 -0
  305. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_account_em.py +0 -0
  306. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_all_pb.py +0 -0
  307. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_analyst_em.py +0 -0
  308. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_buffett_index_lg.py +0 -0
  309. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_classify_sina.py +0 -0
  310. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_comment_em.py +0 -0
  311. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_concept_futu.py +0 -0
  312. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_congestion_lg.py +0 -0
  313. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_disclosure_cninfo.py +0 -0
  314. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_dxsyl_em.py +0 -0
  315. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_ebs_lg.py +0 -0
  316. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_esg_sina.py +0 -0
  317. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_fhps_em.py +0 -0
  318. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_fhps_ths.py +0 -0
  319. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_gddh_em.py +0 -0
  320. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_gdfx_em.py +0 -0
  321. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_gdhs.py +0 -0
  322. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_gdzjc_em.py +0 -0
  323. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_gpzy_em.py +0 -0
  324. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_gxl_lg.py +0 -0
  325. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_hist_em.py +0 -0
  326. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_hist_tx.py +0 -0
  327. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_hk_valuation_baidu.py +0 -0
  328. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_hot_xq.py +0 -0
  329. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_hsgt_em.py +0 -0
  330. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_hsgt_exchange_rate.py +0 -0
  331. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_hsgt_min_em.py +0 -0
  332. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_info.py +0 -0
  333. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_inner_trade_xq.py +0 -0
  334. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_irm_cninfo.py +0 -0
  335. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_jgdy_em.py +0 -0
  336. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_lh_yybpm.py +0 -0
  337. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_lhb_em.py +0 -0
  338. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_lhb_sina.py +0 -0
  339. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_margin_em.py +0 -0
  340. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_margin_sse.py +0 -0
  341. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_margin_szse.py +0 -0
  342. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_market_legu.py +0 -0
  343. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_pankou_em.py +0 -0
  344. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_qsjy_em.py +0 -0
  345. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_report_em.py +0 -0
  346. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_research_report_em.py +0 -0
  347. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_sns_sseinfo.py +0 -0
  348. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_sy_em.py +0 -0
  349. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_tfp_em.py +0 -0
  350. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_three_report_em.py +0 -0
  351. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_ttm_lyr.py +0 -0
  352. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_wencai.py +0 -0
  353. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_yjbb_em.py +0 -0
  354. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_yjyg_cninfo.py +0 -0
  355. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_yjyg_em.py +0 -0
  356. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_yzxdr_em.py +0 -0
  357. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_zdhtmx_em.py +0 -0
  358. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_zf_pg.py +0 -0
  359. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_zh_valuation_baidu.py +0 -0
  360. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_zh_vote_baidu.py +0 -0
  361. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/stock_ztb_em.py +0 -0
  362. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_feature/ths.js +0 -0
  363. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_fundamental/__init__.py +0 -0
  364. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_fundamental/stock_finance.py +0 -0
  365. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_fundamental/stock_finance_hk.py +0 -0
  366. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_fundamental/stock_finance_ths.py +0 -0
  367. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_fundamental/stock_hold.py +0 -0
  368. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_fundamental/stock_ipo_declare.py +0 -0
  369. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_fundamental/stock_kcb_detail_sse.py +0 -0
  370. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_fundamental/stock_kcb_sse.py +0 -0
  371. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_fundamental/stock_mda_ym.py +0 -0
  372. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_fundamental/stock_notice.py +0 -0
  373. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_fundamental/stock_profit_forecast_em.py +0 -0
  374. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_fundamental/stock_profit_forecast_hk_etnet.py +0 -0
  375. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_fundamental/stock_profit_forecast_ths.py +0 -0
  376. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_fundamental/stock_recommend.py +0 -0
  377. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_fundamental/stock_register_em.py +0 -0
  378. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_fundamental/stock_restricted_em.py +0 -0
  379. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_fundamental/stock_zygc.py +0 -0
  380. {akshare-1.14.36 → akshare-1.14.38}/akshare/stock_fundamental/stock_zyjs_ths.py +0 -0
  381. {akshare-1.14.36 → akshare-1.14.38}/akshare/tool/__init__.py +0 -0
  382. {akshare-1.14.36 → akshare-1.14.38}/akshare/utils/__init__.py +0 -0
  383. {akshare-1.14.36 → akshare-1.14.38}/akshare/utils/cons.py +0 -0
  384. {akshare-1.14.36 → akshare-1.14.38}/akshare/utils/demjson.py +0 -0
  385. {akshare-1.14.36 → akshare-1.14.38}/akshare/utils/func.py +0 -0
  386. {akshare-1.14.36 → akshare-1.14.38}/akshare/utils/token_process.py +0 -0
  387. {akshare-1.14.36 → akshare-1.14.38}/akshare/utils/tqdm.py +0 -0
  388. {akshare-1.14.36 → akshare-1.14.38}/akshare.egg-info/SOURCES.txt +0 -0
  389. {akshare-1.14.36 → akshare-1.14.38}/akshare.egg-info/dependency_links.txt +0 -0
  390. {akshare-1.14.36 → akshare-1.14.38}/akshare.egg-info/top_level.txt +0 -0
  391. {akshare-1.14.36 → akshare-1.14.38}/pyproject.toml +0 -0
  392. {akshare-1.14.36 → akshare-1.14.38}/setup.cfg +0 -0
  393. {akshare-1.14.36 → akshare-1.14.38}/tests/__init__.py +0 -0
  394. {akshare-1.14.36 → akshare-1.14.38}/tests/test_func.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: akshare
3
- Version: 1.14.36
3
+ Version: 1.14.38
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
@@ -29,8 +29,7 @@ Requires-Dist: openpyxl>=3.0.3
29
29
  Requires-Dist: jsonpath>=0.82
30
30
  Requires-Dist: tabulate>=0.8.6
31
31
  Requires-Dist: decorator>=4.4.2
32
- Requires-Dist: py-mini-racer>=0.6.0
33
- Requires-Dist: akracer>=0.0.11
32
+ Requires-Dist: mini-racer>=0.12.4
34
33
  Provides-Extra: full
35
34
  Requires-Dist: akqmt; extra == "full"
36
35
  Provides-Extra: qmt
@@ -2847,9 +2847,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
2847
2847
  1.14.34 add: add macro_rmb_loan interface
2848
2848
  1.14.35 add: add macro_rmb_deposit interface
2849
2849
  1.14.36 fix: fix option_czce_daily interface
2850
+ 1.14.37 fix: fix stock_zh_kcb_report_em interface
2851
+ 1.14.38 fix: fix stock_industry_clf_hist_sw interface
2850
2852
  """
2851
2853
 
2852
- __version__ = "1.14.36"
2854
+ __version__ = "1.14.38"
2853
2855
  __author__ = "AKFamily"
2854
2856
 
2855
2857
  import sys
@@ -15,7 +15,7 @@ from io import StringIO
15
15
 
16
16
  import pandas as pd
17
17
  import requests
18
- from py_mini_racer import py_mini_racer
18
+ from py_mini_racer import MiniRacer
19
19
 
20
20
  from akshare.utils import demjson
21
21
 
@@ -116,7 +116,7 @@ def air_quality_watch_point(
116
116
  end_date = "-".join([end_date[:4], end_date[4:6], end_date[6:]])
117
117
  url = "https://www.zq12369.com/api/zhenqiapi.php"
118
118
  file_data = _get_file_content(file_name="crypto.js")
119
- ctx = py_mini_racer.MiniRacer()
119
+ ctx = MiniRacer()
120
120
  ctx.eval(file_data)
121
121
  method = "GETCITYPOINTAVG"
122
122
  ctx.call("encode_param", method)
@@ -167,7 +167,7 @@ def air_quality_hist(
167
167
  end_date = "-".join([end_date[:4], end_date[4:6], end_date[6:]])
168
168
  url = "https://www.zq12369.com/api/newzhenqiapi.php"
169
169
  file_data = _get_file_content(file_name="outcrypto.js")
170
- ctx = py_mini_racer.MiniRacer()
170
+ ctx = MiniRacer()
171
171
  ctx.eval(file_data)
172
172
  app_id = "4f0e3a273d547ce6b7147bfa7ceb4b6e"
173
173
  method = "CETCITYPERIOD"
@@ -8,7 +8,7 @@ http://webapi.cninfo.com.cn/#/thematicStatistics
8
8
 
9
9
  import pandas as pd
10
10
  import requests
11
- from py_mini_racer import py_mini_racer
11
+ import py_mini_racer
12
12
 
13
13
  from akshare.datasets import get_ths_js
14
14
 
@@ -11,7 +11,7 @@ import re
11
11
 
12
12
  import pandas as pd
13
13
  import requests
14
- from py_mini_racer import py_mini_racer
14
+ import py_mini_racer
15
15
 
16
16
  from akshare.bond.cons import (
17
17
  zh_sina_bond_hs_cov_count_url,
@@ -11,7 +11,7 @@ import re
11
11
 
12
12
  import pandas as pd
13
13
  import requests
14
- from py_mini_racer import py_mini_racer
14
+ import py_mini_racer
15
15
 
16
16
  from akshare.bond.cons import (
17
17
  zh_sina_bond_hs_count_url,
@@ -5,9 +5,10 @@ Date: 2022/2/15 17:33
5
5
  Desc: 新浪财经-基金行情
6
6
  http://vip.stock.finance.sina.com.cn/fund_center/index.html#jjhqetf
7
7
  """
8
+
8
9
  import pandas as pd
9
10
  import requests
10
- from py_mini_racer import py_mini_racer
11
+ import py_mini_racer
11
12
 
12
13
  from akshare.stock.cons import hk_js_decode
13
14
  from akshare.utils import demjson
@@ -5,9 +5,10 @@ Date: 2023/6/13 16:12
5
5
  Desc: 巨潮资讯-数据中心-专题统计-基金报表
6
6
  http://webapi.cninfo.com.cn/#/thematicStatistics
7
7
  """
8
+
8
9
  import pandas as pd
9
10
  import requests
10
- from py_mini_racer import py_mini_racer
11
+ import py_mini_racer
11
12
 
12
13
  from akshare.datasets import get_ths_js
13
14
 
@@ -128,23 +129,23 @@ def fund_report_industry_allocation_cninfo(date: str = "20210630") -> pd.DataFra
128
129
  temp_df = pd.DataFrame(data_json["records"])
129
130
  temp_df.rename(
130
131
  columns={
131
- 'F004N': '行业规模',
132
- 'F003N': '基金覆盖家数',
133
- 'F002V': '证监会行业名称',
134
- 'F001V': '行业编码',
135
- 'ENDDATE': '报告期',
136
- 'F005N': '占净资产比例'
132
+ "F004N": "行业规模",
133
+ "F003N": "基金覆盖家数",
134
+ "F002V": "证监会行业名称",
135
+ "F001V": "行业编码",
136
+ "ENDDATE": "报告期",
137
+ "F005N": "占净资产比例",
137
138
  },
138
139
  inplace=True,
139
140
  )
140
141
  temp_df = temp_df[
141
142
  [
142
- '行业编码',
143
- '证监会行业名称',
144
- '报告期',
145
- '基金覆盖家数',
146
- '行业规模',
147
- '占净资产比例',
143
+ "行业编码",
144
+ "证监会行业名称",
145
+ "报告期",
146
+ "基金覆盖家数",
147
+ "行业规模",
148
+ "占净资产比例",
148
149
  ]
149
150
  ]
150
151
  temp_df["报告期"] = pd.to_datetime(temp_df["报告期"], errors="coerce").dt.date
@@ -186,31 +187,39 @@ def fund_report_asset_allocation_cninfo() -> pd.DataFrame:
186
187
  temp_df = pd.DataFrame(data_json["records"])
187
188
  temp_df.rename(
188
189
  columns={
189
- 'F001N': '基金覆盖家数',
190
- 'F008N': '现金货币类占净资产比例',
191
- 'F007N': '债券固定收益类占净资产比例',
192
- 'F006N': '股票权益类占净资产比例',
193
- 'ENDDATE': '报告期',
194
- 'F005N': '基金市场净资产规模'
190
+ "F001N": "基金覆盖家数",
191
+ "F008N": "现金货币类占净资产比例",
192
+ "F007N": "债券固定收益类占净资产比例",
193
+ "F006N": "股票权益类占净资产比例",
194
+ "ENDDATE": "报告期",
195
+ "F005N": "基金市场净资产规模",
195
196
  },
196
197
  inplace=True,
197
198
  )
198
199
  temp_df = temp_df[
199
200
  [
200
- '报告期',
201
- '基金覆盖家数',
202
- '股票权益类占净资产比例',
203
- '债券固定收益类占净资产比例',
204
- '现金货币类占净资产比例',
205
- '基金市场净资产规模',
201
+ "报告期",
202
+ "基金覆盖家数",
203
+ "股票权益类占净资产比例",
204
+ "债券固定收益类占净资产比例",
205
+ "现金货币类占净资产比例",
206
+ "基金市场净资产规模",
206
207
  ]
207
208
  ]
208
209
  temp_df["报告期"] = pd.to_datetime(temp_df["报告期"], errors="coerce").dt.date
209
210
  temp_df["基金覆盖家数"] = pd.to_numeric(temp_df["基金覆盖家数"], errors="coerce")
210
- temp_df["股票权益类占净资产比例"] = pd.to_numeric(temp_df["股票权益类占净资产比例"], errors="coerce")
211
- temp_df["债券固定收益类占净资产比例"] = pd.to_numeric(temp_df["债券固定收益类占净资产比例"], errors="coerce")
212
- temp_df["现金货币类占净资产比例"] = pd.to_numeric(temp_df["现金货币类占净资产比例"], errors="coerce")
213
- temp_df["基金市场净资产规模"] = pd.to_numeric(temp_df["基金市场净资产规模"], errors="coerce")
211
+ temp_df["股票权益类占净资产比例"] = pd.to_numeric(
212
+ temp_df["股票权益类占净资产比例"], errors="coerce"
213
+ )
214
+ temp_df["债券固定收益类占净资产比例"] = pd.to_numeric(
215
+ temp_df["债券固定收益类占净资产比例"], errors="coerce"
216
+ )
217
+ temp_df["现金货币类占净资产比例"] = pd.to_numeric(
218
+ temp_df["现金货币类占净资产比例"], errors="coerce"
219
+ )
220
+ temp_df["基金市场净资产规模"] = pd.to_numeric(
221
+ temp_df["基金市场净资产规模"], errors="coerce"
222
+ )
214
223
  return temp_df
215
224
 
216
225
 
@@ -218,7 +227,9 @@ if __name__ == "__main__":
218
227
  fund_report_stock_cninfo_df = fund_report_stock_cninfo(date="20210630")
219
228
  print(fund_report_stock_cninfo_df)
220
229
 
221
- fund_report_industry_allocation_cninfo_df = fund_report_industry_allocation_cninfo(date="20210930")
230
+ fund_report_industry_allocation_cninfo_df = fund_report_industry_allocation_cninfo(
231
+ date="20210930"
232
+ )
222
233
  print(fund_report_industry_allocation_cninfo_df)
223
234
 
224
235
  fund_report_asset_allocation_cninfo_df = fund_report_asset_allocation_cninfo()
@@ -13,7 +13,7 @@ from functools import lru_cache
13
13
 
14
14
  import pandas as pd
15
15
  import requests
16
- from py_mini_racer import py_mini_racer
16
+ import py_mini_racer
17
17
 
18
18
  from akshare.futures.cons import (
19
19
  zh_subscribe_exchange_symbol_url,
@@ -10,7 +10,7 @@ import json
10
10
 
11
11
  import pandas as pd
12
12
  import requests
13
- from py_mini_racer import py_mini_racer
13
+ import py_mini_racer
14
14
 
15
15
  from akshare.datasets import get_ths_js
16
16
 
@@ -12,7 +12,7 @@ import re
12
12
 
13
13
  import pandas as pd
14
14
  import requests
15
- from py_mini_racer import py_mini_racer
15
+ import py_mini_racer
16
16
 
17
17
  from functools import lru_cache
18
18
 
@@ -8,7 +8,7 @@ https://stock.finance.sina.com.cn/usstock/quotes/.IXIC.html
8
8
 
9
9
  import pandas as pd
10
10
  import requests
11
- from py_mini_racer import py_mini_racer
11
+ import py_mini_racer
12
12
 
13
13
  from akshare.stock.cons import (
14
14
  zh_js_decode,
@@ -12,7 +12,7 @@ import re
12
12
 
13
13
  import pandas as pd
14
14
  import requests
15
- from py_mini_racer import py_mini_racer
15
+ import py_mini_racer
16
16
 
17
17
  from akshare.index.cons import (
18
18
  zh_sina_index_stock_payload,
@@ -7,13 +7,14 @@ Desc: 艺恩-艺人
7
7
  艺人流量价值
8
8
  https://www.endata.com.cn/Marketing/Artist/business.html
9
9
  """
10
+
10
11
  import datetime
11
12
  import json
12
13
  import os
13
14
 
14
15
  import pandas as pd # type: ignore
15
16
  import requests
16
- from py_mini_racer import py_mini_racer # type: ignore
17
+ import py_mini_racer # type: ignore
17
18
 
18
19
 
19
20
  def _get_js_path(name: str = "", module_file: str = "") -> str:
@@ -80,8 +81,21 @@ def business_value_artist() -> pd.DataFrame:
80
81
  r.encoding = "utf8"
81
82
  data_json = json.loads(decrypt(r.text))
82
83
  temp_df = pd.DataFrame(data_json["Data"]["Table"])
83
- temp_df.columns = ["排名", "-", "艺人", "商业价值", "-", "专业热度", "关注热度", "预测热度", "美誉度", "-"]
84
- temp_df = temp_df[["排名", "艺人", "商业价值", "专业热度", "关注热度", "预测热度", "美誉度"]]
84
+ temp_df.columns = [
85
+ "排名",
86
+ "-",
87
+ "艺人",
88
+ "商业价值",
89
+ "-",
90
+ "专业热度",
91
+ "关注热度",
92
+ "预测热度",
93
+ "美誉度",
94
+ "-",
95
+ ]
96
+ temp_df = temp_df[
97
+ ["排名", "艺人", "商业价值", "专业热度", "关注热度", "预测热度", "美誉度"]
98
+ ]
85
99
  temp_df["统计日期"] = datetime.datetime.now().date().isoformat()
86
100
  return temp_df
87
101
 
@@ -105,8 +119,21 @@ def online_value_artist() -> pd.DataFrame:
105
119
  r.encoding = "utf8"
106
120
  data_json = json.loads(decrypt(r.text))
107
121
  temp_df = pd.DataFrame(data_json["Data"]["Table"])
108
- temp_df.columns = ["排名", "-", "艺人", "-", "流量价值", "专业热度", "关注热度", "预测热度", "-", "带货力"]
109
- temp_df = temp_df[["排名", "艺人", "流量价值", "专业热度", "关注热度", "预测热度", "带货力"]]
122
+ temp_df.columns = [
123
+ "排名",
124
+ "-",
125
+ "艺人",
126
+ "-",
127
+ "流量价值",
128
+ "专业热度",
129
+ "关注热度",
130
+ "预测热度",
131
+ "-",
132
+ "带货力",
133
+ ]
134
+ temp_df = temp_df[
135
+ ["排名", "艺人", "流量价值", "专业热度", "关注热度", "预测热度", "带货力"]
136
+ ]
110
137
  temp_df["统计日期"] = datetime.datetime.now().date().isoformat()
111
138
  return temp_df
112
139
 
@@ -12,7 +12,7 @@ import os
12
12
 
13
13
  import pandas as pd
14
14
  import requests
15
- from py_mini_racer import py_mini_racer
15
+ import py_mini_racer
16
16
 
17
17
 
18
18
  def _get_js_path(name: str = "", module_file: str = "") -> str:
@@ -8,12 +8,13 @@ Desc: 艺恩
8
8
  综艺节目
9
9
  https://www.endata.com.cn/Video/index.html
10
10
  """
11
+
11
12
  import json
12
13
  import os
13
14
 
14
15
  import pandas as pd
15
16
  import requests
16
- from py_mini_racer import py_mini_racer
17
+ import py_mini_racer
17
18
 
18
19
 
19
20
  def _get_js_path(name: str = "", module_file: str = "") -> str:
@@ -75,8 +76,19 @@ def video_tv() -> pd.DataFrame:
75
76
  data_json = json.loads(decrypt(r.text))
76
77
  temp_df = pd.DataFrame(data_json["Data"]["Table"])
77
78
  report_date = data_json["Data"]["Table1"][0]["MaxDate"]
78
- temp_df.columns = ["排序", "名称", "类型", "播映指数", "用户热度", "媒体热度", "观看度", "好评度"]
79
- temp_df = temp_df[["排序", "名称", "类型", "播映指数", "媒体热度", "用户热度", "好评度", "观看度"]]
79
+ temp_df.columns = [
80
+ "排序",
81
+ "名称",
82
+ "类型",
83
+ "播映指数",
84
+ "用户热度",
85
+ "媒体热度",
86
+ "观看度",
87
+ "好评度",
88
+ ]
89
+ temp_df = temp_df[
90
+ ["排序", "名称", "类型", "播映指数", "媒体热度", "用户热度", "好评度", "观看度"]
91
+ ]
80
92
  temp_df["统计日期"] = report_date
81
93
  return temp_df
82
94
 
@@ -95,8 +107,19 @@ def video_variety_show() -> pd.DataFrame:
95
107
  data_json = json.loads(decrypt(r.text))
96
108
  temp_df = pd.DataFrame(data_json["Data"]["Table"])
97
109
  report_date = data_json["Data"]["Table1"][0]["MaxDate"]
98
- temp_df.columns = ["排序", "名称", "类型", "播映指数", "用户热度", "媒体热度", "观看度", "好评度"]
99
- temp_df = temp_df[["排序", "名称", "类型", "播映指数", "媒体热度", "用户热度", "好评度", "观看度"]]
110
+ temp_df.columns = [
111
+ "排序",
112
+ "名称",
113
+ "类型",
114
+ "播映指数",
115
+ "用户热度",
116
+ "媒体热度",
117
+ "观看度",
118
+ "好评度",
119
+ ]
120
+ temp_df = temp_df[
121
+ ["排序", "名称", "类型", "播映指数", "媒体热度", "用户热度", "好评度", "观看度"]
122
+ ]
100
123
  temp_df["统计日期"] = report_date
101
124
  return temp_df
102
125
 
@@ -8,7 +8,7 @@ http://webapi.cninfo.com.cn/#/dataBrowse
8
8
 
9
9
  import pandas as pd
10
10
  import requests
11
- from py_mini_racer import py_mini_racer
11
+ import py_mini_racer
12
12
 
13
13
  from akshare.datasets import get_ths_js
14
14
 
@@ -5,9 +5,10 @@ Date: 2023/5/29 23:34
5
5
  Desc: 巨潮资讯-数据中心-专题统计-公司治理-股权质押
6
6
  http://webapi.cninfo.com.cn/#/thematicStatistics
7
7
  """
8
+
8
9
  import pandas as pd
9
10
  import requests
10
- from py_mini_racer import py_mini_racer
11
+ import py_mini_racer
11
12
 
12
13
  from akshare.datasets import get_ths_js
13
14
 
@@ -91,7 +92,9 @@ def stock_cg_equity_mortgage_cninfo(date: str = "20210930") -> pd.DataFrame:
91
92
  temp_df["质押数量"] = pd.to_numeric(temp_df["质押数量"], errors="coerce")
92
93
  temp_df["占总股本比例"] = pd.to_numeric(temp_df["占总股本比例"], errors="coerce")
93
94
  temp_df["质押解除数量"] = pd.to_numeric(temp_df["质押解除数量"], errors="coerce")
94
- temp_df["累计质押占总股本比例"] = pd.to_numeric(temp_df["累计质押占总股本比例"], errors="coerce")
95
+ temp_df["累计质押占总股本比例"] = pd.to_numeric(
96
+ temp_df["累计质押占总股本比例"], errors="coerce"
97
+ )
95
98
  return temp_df
96
99
 
97
100
 
@@ -8,7 +8,7 @@ https://webapi.cninfo.com.cn/#/thematicStatistics
8
8
 
9
9
  import pandas as pd
10
10
  import requests
11
- from py_mini_racer import py_mini_racer
11
+ import py_mini_racer
12
12
 
13
13
  from akshare.datasets import get_ths_js
14
14
 
@@ -5,45 +5,46 @@ Date: 2021/9/29 16:19
5
5
  Desc: 巨潮资讯-数据中心-专题统计-公司治理-公司诉讼
6
6
  http://webapi.cninfo.com.cn/#/thematicStatistics
7
7
  """
8
+
8
9
  import time
9
10
 
10
11
  import pandas as pd
11
12
  import requests
12
- from py_mini_racer import py_mini_racer
13
+ import py_mini_racer
13
14
 
14
15
  js_str = """
15
- function mcode(input) {
16
- var keyStr = "ABCDEFGHIJKLMNOP" + "QRSTUVWXYZabcdef" + "ghijklmnopqrstuv" + "wxyz0123456789+/" + "=";
17
- var output = "";
18
- var chr1, chr2, chr3 = "";
19
- var enc1, enc2, enc3, enc4 = "";
20
- var i = 0;
21
- do {
22
- chr1 = input.charCodeAt(i++);
23
- chr2 = input.charCodeAt(i++);
24
- chr3 = input.charCodeAt(i++);
25
- enc1 = chr1 >> 2;
26
- enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
27
- enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
28
- enc4 = chr3 & 63;
29
- if (isNaN(chr2)) {
30
- enc3 = enc4 = 64;
31
- } else if (isNaN(chr3)) {
32
- enc4 = 64;
33
- }
34
- output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2)
35
- + keyStr.charAt(enc3) + keyStr.charAt(enc4);
36
- chr1 = chr2 = chr3 = "";
37
- enc1 = enc2 = enc3 = enc4 = "";
38
- } while (i < input.length);
39
-
40
- return output;
41
- }
16
+ function mcode(input) {
17
+ var keyStr = "ABCDEFGHIJKLMNOP" + "QRSTUVWXYZabcdef" + "ghijklmnopqrstuv" + "wxyz0123456789+/" + "=";
18
+ var output = "";
19
+ var chr1, chr2, chr3 = "";
20
+ var enc1, enc2, enc3, enc4 = "";
21
+ var i = 0;
22
+ do {
23
+ chr1 = input.charCodeAt(i++);
24
+ chr2 = input.charCodeAt(i++);
25
+ chr3 = input.charCodeAt(i++);
26
+ enc1 = chr1 >> 2;
27
+ enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
28
+ enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
29
+ enc4 = chr3 & 63;
30
+ if (isNaN(chr2)) {
31
+ enc3 = enc4 = 64;
32
+ } else if (isNaN(chr3)) {
33
+ enc4 = 64;
34
+ }
35
+ output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2)
36
+ + keyStr.charAt(enc3) + keyStr.charAt(enc4);
37
+ chr1 = chr2 = chr3 = "";
38
+ enc1 = enc2 = enc3 = enc4 = "";
39
+ } while (i < input.length);
40
+
41
+ return output;
42
+ }
42
43
  """
43
44
 
44
45
 
45
46
  def stock_cg_lawsuit_cninfo(
46
- symbol: str = "全部", start_date: str = "20180630", end_date: str = "20210927"
47
+ symbol: str = "全部", start_date: str = "20180630", end_date: str = "20210927"
47
48
  ) -> pd.DataFrame:
48
49
  """
49
50
  巨潮资讯-数据中心-专题统计-公司治理-公司诉讼
@@ -58,11 +59,11 @@ def stock_cg_lawsuit_cninfo(
58
59
  :rtype: pandas.DataFrame
59
60
  """
60
61
  symbol_map = {
61
- "全部": '',
62
- "深市主板": '012002',
63
- "沪市": '012001',
64
- "创业板": '012015',
65
- "科创板": '012029',
62
+ "全部": "",
63
+ "深市主板": "012002",
64
+ "沪市": "012001",
65
+ "创业板": "012015",
66
+ "科创板": "012029",
66
67
  }
67
68
  url = "http://webapi.cninfo.com.cn/api/sysapi/p_sysapi1055"
68
69
  random_time_str = str(int(time.time()))
@@ -117,4 +118,4 @@ if __name__ == "__main__":
117
118
  stock_cg_lawsuit_cninfo_df = stock_cg_lawsuit_cninfo(
118
119
  symbol="全部", start_date="20180928", end_date="20210927"
119
120
  )
120
- print(stock_cg_lawsuit_cninfo_df)
121
+ print(stock_cg_lawsuit_cninfo_df)
@@ -8,7 +8,7 @@ https://webapi.cninfo.com.cn/#/company?companyid=600009
8
8
 
9
9
  import pandas as pd
10
10
  import requests
11
- from py_mini_racer import py_mini_racer
11
+ import py_mini_racer
12
12
 
13
13
  from akshare.datasets import get_ths_js
14
14
 
@@ -5,9 +5,10 @@ Date: 2023/9/2 19:00
5
5
  Desc: 新浪财经-港股-实时行情数据和历史行情数据(包含前复权和后复权因子)
6
6
  http://stock.finance.sina.com.cn/hkstock/quotes/00700.html
7
7
  """
8
+
8
9
  import pandas as pd
9
10
  import requests
10
- from py_mini_racer import py_mini_racer
11
+ import py_mini_racer
11
12
 
12
13
  from akshare.stock.cons import (
13
14
  hk_js_decode,
@@ -95,7 +96,7 @@ def stock_hk_daily(symbol: str = "00981", adjust: str = "") -> pd.DataFrame:
95
96
  data_df.reset_index(inplace=True)
96
97
  data_df["date"] = pd.to_datetime(data_df["date"]).dt.date
97
98
  return data_df
98
- except SyntaxError as e:
99
+ except SyntaxError:
99
100
  data_df.reset_index(inplace=True)
100
101
  data_df["date"] = pd.to_datetime(data_df["date"]).dt.date
101
102
  return data_df
@@ -114,7 +115,7 @@ def stock_hk_daily(symbol: str = "00981", adjust: str = "") -> pd.DataFrame:
114
115
  try:
115
116
  # try for pandas >= 2.1.0
116
117
  new_range.ffill(inplace=True)
117
- except Exception as e:
118
+ except Exception:
118
119
  try:
119
120
  new_range.fillna(method="ffill", inplace=True)
120
121
  except Exception as e:
@@ -127,7 +128,7 @@ def stock_hk_daily(symbol: str = "00981", adjust: str = "") -> pd.DataFrame:
127
128
  try:
128
129
  # try for pandas >= 2.1.0
129
130
  temp_df.ffill(inplace=True)
130
- except Exception as e:
131
+ except Exception:
131
132
  try:
132
133
  # try for pandas < 2.1.0
133
134
  temp_df.fillna(method="ffill", inplace=True)
@@ -160,7 +161,7 @@ def stock_hk_daily(symbol: str = "00981", adjust: str = "") -> pd.DataFrame:
160
161
  data_df["date"] = pd.to_datetime(data_df["date"]).dt.date
161
162
  return data_df
162
163
 
163
- except SyntaxError as e:
164
+ except SyntaxError:
164
165
  data_df.reset_index(inplace=True)
165
166
  data_df["date"] = pd.to_datetime(data_df["date"]).dt.date
166
167
  return data_df
@@ -178,7 +179,7 @@ def stock_hk_daily(symbol: str = "00981", adjust: str = "") -> pd.DataFrame:
178
179
  try:
179
180
  # try for pandas >= 2.1.0
180
181
  new_range.ffill(inplace=True)
181
- except Exception as e:
182
+ except Exception:
182
183
  try:
183
184
  # try for pandas < 2.1.0
184
185
  new_range.fillna(method="ffill", inplace=True)
@@ -192,7 +193,7 @@ def stock_hk_daily(symbol: str = "00981", adjust: str = "") -> pd.DataFrame:
192
193
  try:
193
194
  # try for pandas >= 2.1.0
194
195
  temp_df.ffill(inplace=True)
195
- except Exception as e:
196
+ except Exception:
196
197
  try:
197
198
  # try for pandas < 2.1.0
198
199
  temp_df.fillna(method="ffill", inplace=True)
@@ -8,11 +8,12 @@ http://webapi.cninfo.com.cn/#/thematicStatistics
8
8
  巨潮资讯-数据中心-专题统计-股东股本-高管持股变动明细
9
9
  http://webapi.cninfo.com.cn/#/thematicStatistics
10
10
  """
11
+
11
12
  import datetime
12
13
 
13
14
  import pandas as pd
14
15
  import requests
15
- from py_mini_racer import py_mini_racer
16
+ import py_mini_racer
16
17
 
17
18
  from akshare.datasets import get_ths_js
18
19