akshare 1.13.46__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 (388) hide show
  1. akshare/__init__.py +757 -161
  2. akshare/air/air_hebei.py +79 -53
  3. akshare/air/air_zhenqi.py +3 -7
  4. akshare/air/cons.py +1 -0
  5. akshare/air/crypto.js +1 -1
  6. akshare/air/outcrypto.js +1 -1
  7. akshare/air/sunrise_tad.py +32 -17
  8. akshare/article/cons.py +1 -0
  9. akshare/article/epu_index.py +4 -3
  10. akshare/article/ff_factor.py +19 -8
  11. akshare/article/fred_md.py +4 -1
  12. akshare/article/risk_rv.py +3 -8
  13. akshare/bank/bank_cbirc_2020.py +11 -11
  14. akshare/bank/cons.py +7 -6
  15. akshare/bond/bond_buy_back_em.py +228 -0
  16. akshare/bond/bond_cb_sina.py +1 -0
  17. akshare/bond/bond_cb_ths.py +17 -9
  18. akshare/bond/bond_cbond.py +19 -14
  19. akshare/bond/bond_china.py +38 -39
  20. akshare/bond/bond_china_money.py +75 -48
  21. akshare/bond/bond_convert.py +10 -9
  22. akshare/bond/bond_em.py +37 -17
  23. akshare/bond/bond_info_cm.py +28 -8
  24. akshare/bond/bond_issue_cninfo.py +73 -30
  25. akshare/bond/bond_summary.py +38 -37
  26. akshare/bond/bond_zh_cov.py +31 -40
  27. akshare/bond/bond_zh_sina.py +61 -51
  28. akshare/bond/cons.py +14 -11
  29. akshare/cal/__init__.py +0 -0
  30. akshare/cal/rv.py +170 -0
  31. akshare/cost/cost_living.py +7 -5
  32. akshare/crypto/__init__.py +1 -1
  33. akshare/crypto/crypto_bitcoin_cme.py +9 -7
  34. akshare/crypto/crypto_hold.py +4 -2
  35. akshare/currency/currency.py +1 -0
  36. akshare/currency/currency_china_bank_sina.py +11 -6
  37. akshare/currency/currency_safe.py +7 -6
  38. akshare/data/__init__.py +1 -1
  39. akshare/data/cninfo.js +1 -1
  40. akshare/datasets.py +10 -21
  41. akshare/economic/cons.py +10 -3
  42. akshare/economic/macro_australia.py +74 -69
  43. akshare/economic/macro_bank.py +95 -653
  44. akshare/economic/macro_canada.py +92 -81
  45. akshare/economic/macro_china.py +163 -117
  46. akshare/economic/macro_china_hk.py +0 -1
  47. akshare/economic/macro_china_nbs.py +24 -7
  48. akshare/economic/macro_euro.py +103 -56
  49. akshare/economic/macro_finance_ths.py +135 -0
  50. akshare/economic/macro_germany.py +1 -1
  51. akshare/economic/macro_info_ws.py +100 -0
  52. akshare/economic/macro_japan.py +0 -1
  53. akshare/economic/macro_other.py +1 -6
  54. akshare/economic/macro_swiss.py +2 -3
  55. akshare/economic/macro_uk.py +1 -1
  56. akshare/economic/macro_usa.py +7 -9
  57. akshare/economic/marco_cnbs.py +11 -6
  58. akshare/energy/energy_carbon.py +94 -126
  59. akshare/energy/energy_oil_em.py +1 -2
  60. akshare/event/cons.py +1 -0
  61. akshare/event/migration.py +3 -2
  62. akshare/exceptions.py +43 -0
  63. akshare/file_fold/calendar.json +245 -2
  64. akshare/forex/__init__.py +0 -0
  65. akshare/forex/cons.py +192 -0
  66. akshare/forex/forex_em.py +149 -0
  67. akshare/fortune/fortune_500.py +15 -48
  68. akshare/fortune/fortune_bloomberg.py +6 -3
  69. akshare/fortune/fortune_forbes_500.py +3 -6
  70. akshare/fortune/fortune_hurun.py +2 -1
  71. akshare/fortune/fortune_xincaifu_500.py +17 -14
  72. akshare/fund/fund_amac.py +38 -15
  73. akshare/fund/fund_announcement_em.py +145 -0
  74. akshare/fund/fund_aum_em.py +49 -35
  75. akshare/fund/fund_em.py +251 -220
  76. akshare/fund/fund_etf_em.py +44 -35
  77. akshare/fund/fund_etf_sina.py +76 -27
  78. akshare/fund/fund_etf_ths.py +95 -0
  79. akshare/fund/fund_fee_em.py +172 -0
  80. akshare/fund/fund_fhsp_em.py +42 -32
  81. akshare/fund/fund_init_em.py +8 -5
  82. akshare/fund/fund_lof_em.py +12 -19
  83. akshare/fund/fund_manager.py +25 -11
  84. akshare/fund/fund_overview_em.py +42 -0
  85. akshare/fund/fund_portfolio_em.py +78 -66
  86. akshare/fund/fund_position_lg.py +19 -8
  87. akshare/fund/fund_rank_em.py +90 -84
  88. akshare/fund/fund_rating.py +33 -12
  89. akshare/fund/fund_report_cninfo.py +63 -48
  90. akshare/fund/fund_scale_em.py +24 -13
  91. akshare/fund/fund_scale_sina.py +20 -10
  92. akshare/fund/fund_xq.py +3 -2
  93. akshare/futures/cons.py +141 -46
  94. akshare/futures/cot.py +89 -88
  95. akshare/futures/futures_basis.py +99 -33
  96. akshare/futures/futures_comex_em.py +1 -0
  97. akshare/futures/futures_comm_ctp.py +13 -2
  98. akshare/futures/futures_contract_detail.py +59 -9
  99. akshare/futures/futures_daily_bar.py +75 -62
  100. akshare/futures/futures_foreign.py +14 -8
  101. akshare/futures/futures_hf_em.py +215 -61
  102. akshare/futures/futures_hist_em.py +191 -0
  103. akshare/futures/futures_hq_sina.py +79 -61
  104. akshare/futures/futures_index_ccidx.py +24 -82
  105. akshare/futures/futures_inventory_99.py +70 -272
  106. akshare/futures/futures_inventory_em.py +14 -11
  107. akshare/futures/futures_news_shmet.py +2 -2
  108. akshare/futures/futures_roll_yield.py +11 -24
  109. akshare/futures/futures_rule.py +7 -3
  110. akshare/futures/futures_rule_em.py +38 -0
  111. akshare/futures/futures_settlement_price_sgx.py +21 -6
  112. akshare/futures/futures_stock_js.py +1 -2
  113. akshare/futures/futures_to_spot.py +43 -39
  114. akshare/futures/futures_warehouse_receipt.py +53 -48
  115. akshare/futures/futures_zh_sina.py +4 -4
  116. akshare/futures/receipt.py +298 -165
  117. akshare/futures/requests_fun.py +16 -3
  118. akshare/futures/symbol_var.py +32 -13
  119. akshare/futures_derivative/cons.py +100 -103
  120. akshare/futures_derivative/futures_contract_info_cffex.py +55 -39
  121. akshare/futures_derivative/futures_contract_info_czce.py +2 -0
  122. akshare/futures_derivative/futures_contract_info_dce.py +43 -17
  123. akshare/futures_derivative/futures_contract_info_gfex.py +43 -31
  124. akshare/futures_derivative/futures_contract_info_ine.py +43 -34
  125. akshare/futures_derivative/futures_contract_info_shfe.py +7 -8
  126. akshare/futures_derivative/futures_cot_sina.py +28 -19
  127. akshare/futures_derivative/futures_index_sina.py +25 -13
  128. akshare/fx/cons.py +12 -7
  129. akshare/fx/currency_investing.py +19 -285
  130. akshare/fx/fx_c_swap_cm.py +62 -0
  131. akshare/fx/fx_quote.py +3 -2
  132. akshare/fx/fx_quote_baidu.py +2 -1
  133. akshare/hf/__init__.py +1 -1
  134. akshare/hf/hf_sp500.py +8 -7
  135. akshare/index/cons.py +132 -28
  136. akshare/index/index_cflp.py +29 -26
  137. akshare/index/index_cni.py +89 -91
  138. akshare/index/index_cons.py +26 -10
  139. akshare/index/index_csindex.py +68 -0
  140. akshare/index/index_cx.py +263 -62
  141. akshare/index/index_drewry.py +17 -16
  142. akshare/index/index_eri.py +1 -0
  143. akshare/index/index_global_em.py +167 -0
  144. akshare/index/index_global_sina.py +82 -0
  145. akshare/index/index_kq_fz.py +17 -14
  146. akshare/index/index_kq_ss.py +1 -0
  147. akshare/index/index_option_qvix.py +351 -16
  148. akshare/index/index_research_sw.py +38 -38
  149. akshare/index/index_spot.py +9 -5
  150. akshare/index/index_stock_hk.py +6 -10
  151. akshare/index/index_stock_us_sina.py +1 -1
  152. akshare/index/index_stock_zh.py +193 -101
  153. akshare/index/index_stock_zh_csindex.py +15 -369
  154. akshare/index/index_sugar.py +18 -4
  155. akshare/index/index_sw.py +62 -34
  156. akshare/index/index_yw.py +53 -75
  157. akshare/index/index_zh_em.py +15 -82
  158. akshare/interest_rate/interbank_rate_em.py +14 -10
  159. akshare/movie/artist_yien.py +32 -5
  160. akshare/movie/jm.js +0 -1
  161. akshare/movie/movie_yien.py +92 -18
  162. akshare/movie/video_yien.py +28 -5
  163. akshare/news/__init__.py +1 -1
  164. akshare/news/news_baidu.py +395 -220
  165. akshare/news/news_cctv.py +38 -38
  166. akshare/news/news_stock.py +49 -13
  167. akshare/nlp/nlp_interface.py +7 -8
  168. akshare/option/cons.py +12 -12
  169. akshare/option/option_comm_qihuo.py +86 -0
  170. akshare/option/option_commodity.py +355 -211
  171. akshare/option/option_commodity_sina.py +22 -26
  172. akshare/option/option_contract_info_ctp.py +63 -0
  173. akshare/option/option_current_sse.py +61 -0
  174. akshare/option/option_current_szse.py +84 -0
  175. akshare/option/option_czce.py +37 -9
  176. akshare/option/option_daily_stats_sse_szse.py +145 -0
  177. akshare/option/option_em.py +4 -8
  178. akshare/option/option_finance.py +60 -12
  179. akshare/option/option_finance_sina.py +28 -26
  180. akshare/option/option_lhb_em.py +62 -57
  181. akshare/option/option_margin.py +62 -0
  182. akshare/option/option_premium_analysis_em.py +58 -53
  183. akshare/option/option_risk_analysis_em.py +11 -8
  184. akshare/option/option_risk_indicator_sse.py +18 -16
  185. akshare/option/option_value_analysis_em.py +62 -55
  186. akshare/other/__init__.py +1 -1
  187. akshare/other/other_car_cpca.py +20 -20
  188. akshare/pro/__init__.py +0 -1
  189. akshare/pro/client.py +6 -4
  190. akshare/pro/cons.py +3 -2
  191. akshare/pro/data_pro.py +6 -5
  192. akshare/qdii/__init__.py +0 -0
  193. akshare/qdii/qdii_jsl.py +233 -0
  194. akshare/qhkc/__init__.py +1 -6
  195. akshare/qhkc/qhkc_api.py +64 -22
  196. akshare/qhkc_web/__init__.py +1 -6
  197. akshare/qhkc_web/qhkc_fund.py +10 -6
  198. akshare/qhkc_web/qhkc_index.py +28 -14
  199. akshare/qhkc_web/qhkc_tool.py +62 -59
  200. akshare/rate/__init__.py +1 -1
  201. akshare/rate/repo_rate.py +36 -32
  202. akshare/reits/__init__.py +1 -1
  203. akshare/reits/reits_basic.py +149 -13
  204. akshare/request.py +117 -0
  205. akshare/spot/__init__.py +1 -1
  206. akshare/spot/spot_hog_soozhu.py +232 -0
  207. akshare/spot/spot_price_qh.py +121 -0
  208. akshare/spot/spot_sge.py +70 -9
  209. akshare/stock/cons.py +60 -23
  210. akshare/stock/stock_allotment_cninfo.py +10 -9
  211. akshare/stock/stock_ask_bid_em.py +3 -78
  212. akshare/stock/stock_board_concept_em.py +160 -35
  213. akshare/stock/stock_board_industry_em.py +163 -70
  214. akshare/stock/stock_cg_equity_mortgage.py +15 -11
  215. akshare/stock/stock_cg_guarantee.py +41 -51
  216. akshare/stock/stock_cg_lawsuit.py +36 -35
  217. akshare/stock/stock_dividend_cninfo.py +36 -16
  218. akshare/stock/stock_dzjy_em.py +347 -260
  219. akshare/stock/stock_fund_em.py +73 -64
  220. akshare/stock/stock_fund_hold.py +1 -2
  221. akshare/stock/stock_gsrl_em.py +1 -0
  222. akshare/stock/stock_hk_comparison_em.py +175 -0
  223. akshare/stock/stock_hk_famous.py +107 -0
  224. akshare/stock/stock_hk_fhpx_ths.py +2 -1
  225. akshare/stock/stock_hk_hot_rank_em.py +1 -0
  226. akshare/stock/stock_hk_sina.py +91 -42
  227. akshare/stock/stock_hold_control_cninfo.py +100 -15
  228. akshare/stock/stock_hold_control_em.py +4 -5
  229. akshare/stock/stock_hold_num_cninfo.py +18 -12
  230. akshare/stock/stock_hot_rank_em.py +4 -1
  231. akshare/stock/stock_hot_search_baidu.py +32 -19
  232. akshare/stock/stock_hot_up_em.py +4 -1
  233. akshare/stock/stock_hsgt_em.py +155 -0
  234. akshare/stock/stock_industry.py +1 -0
  235. akshare/stock/stock_industry_cninfo.py +25 -20
  236. akshare/stock/stock_industry_pe_cninfo.py +45 -31
  237. akshare/stock/stock_industry_sw.py +5 -9
  238. akshare/stock/stock_info.py +31 -19
  239. akshare/stock/stock_info_em.py +17 -11
  240. akshare/stock/stock_intraday_em.py +9 -80
  241. akshare/stock/stock_intraday_sina.py +2 -2
  242. akshare/stock/stock_ipo_summary_cninfo.py +25 -10
  243. akshare/stock/stock_new_cninfo.py +32 -19
  244. akshare/stock/stock_news_cx.py +39 -0
  245. akshare/stock/stock_profile_cninfo.py +9 -8
  246. akshare/stock/stock_profile_em.py +302 -0
  247. akshare/stock/stock_rank_forecast.py +8 -6
  248. akshare/stock/stock_repurchase_em.py +7 -2
  249. akshare/stock/stock_share_changes_cninfo.py +18 -14
  250. akshare/stock/stock_share_hold.py +24 -20
  251. akshare/stock/stock_stop.py +6 -6
  252. akshare/stock/stock_summary.py +153 -417
  253. akshare/stock/stock_us_famous.py +19 -11
  254. akshare/stock/stock_us_js.py +3 -2
  255. akshare/stock/stock_us_pink.py +38 -27
  256. akshare/stock/stock_us_sina.py +15 -12
  257. akshare/stock/stock_weibo_nlp.py +18 -20
  258. akshare/stock/stock_xq.py +36 -9
  259. akshare/stock/stock_zh_a_sina.py +58 -80
  260. akshare/stock/stock_zh_a_special.py +240 -243
  261. akshare/stock/stock_zh_a_tick_tx.py +11 -3
  262. akshare/stock/stock_zh_ah_tx.py +23 -26
  263. akshare/stock/stock_zh_b_sina.py +32 -55
  264. akshare/stock/stock_zh_comparison_em.py +250 -0
  265. akshare/stock/stock_zh_kcb_report.py +11 -9
  266. akshare/stock/stock_zh_kcb_sina.py +67 -64
  267. akshare/stock_a/__init__.py +0 -0
  268. akshare/stock_a/stock_board_concept_name_em.py +170 -0
  269. akshare/stock_a/stock_individual_fund_flow_rank.py +258 -0
  270. akshare/stock_a/stock_zh_a_spot.py +212 -0
  271. akshare/stock_feature/cons.py +1 -0
  272. akshare/stock_feature/stock_a_below_net_asset_statistics.py +5 -2
  273. akshare/stock_feature/stock_a_high_low.py +5 -2
  274. akshare/stock_feature/stock_a_indicator.py +15 -57
  275. akshare/stock_feature/stock_a_pe_and_pb.py +39 -9
  276. akshare/stock_feature/stock_account_em.py +0 -1
  277. akshare/stock_feature/stock_all_pb.py +2 -1
  278. akshare/stock_feature/stock_analyst_em.py +36 -30
  279. akshare/stock_feature/stock_board_concept_ths.py +144 -252
  280. akshare/stock_feature/stock_board_industry_ths.py +137 -401
  281. akshare/stock_feature/stock_buffett_index_lg.py +10 -8
  282. akshare/stock_feature/stock_classify_sina.py +3 -6
  283. akshare/stock_feature/stock_comment_em.py +81 -144
  284. akshare/stock_feature/stock_concept_futu.py +183 -0
  285. akshare/stock_feature/stock_congestion_lg.py +2 -1
  286. akshare/stock_feature/stock_cyq_em.py +5 -11
  287. akshare/stock_feature/stock_disclosure_cninfo.py +20 -10
  288. akshare/stock_feature/stock_dxsyl_em.py +121 -74
  289. akshare/stock_feature/stock_ebs_lg.py +5 -4
  290. akshare/stock_feature/stock_esg_sina.py +33 -15
  291. akshare/stock_feature/stock_fhps_em.py +62 -26
  292. akshare/stock_feature/stock_fhps_ths.py +34 -7
  293. akshare/stock_feature/stock_fund_flow.py +38 -25
  294. akshare/stock_feature/stock_gddh_em.py +19 -11
  295. akshare/stock_feature/stock_gdfx_em.py +226 -113
  296. akshare/stock_feature/stock_gdhs.py +75 -50
  297. akshare/stock_feature/stock_gdzjc_em.py +21 -10
  298. akshare/stock_feature/stock_gpzy_em.py +78 -46
  299. akshare/stock_feature/stock_gxl_lg.py +3 -2
  300. akshare/stock_feature/stock_hist_em.py +158 -237
  301. akshare/stock_feature/stock_hist_tx.py +13 -10
  302. akshare/stock_feature/stock_hk_valuation_baidu.py +20 -8
  303. akshare/stock_feature/stock_hot_xq.py +4 -6
  304. akshare/stock_feature/stock_hsgt_em.py +269 -97
  305. akshare/stock_feature/stock_hsgt_exchange_rate.py +115 -87
  306. akshare/stock_feature/stock_hsgt_min_em.py +13 -16
  307. akshare/stock_feature/stock_info.py +8 -81
  308. akshare/stock_feature/stock_inner_trade_xq.py +38 -31
  309. akshare/stock_feature/stock_irm_cninfo.py +32 -9
  310. akshare/stock_feature/stock_jgdy_em.py +43 -40
  311. akshare/stock_feature/stock_lh_yybpm.py +36 -37
  312. akshare/stock_feature/stock_lhb_em.py +165 -35
  313. akshare/stock_feature/stock_lhb_sina.py +93 -46
  314. akshare/stock_feature/stock_margin_em.py +101 -0
  315. akshare/stock_feature/{stock_sse_margin.py → stock_margin_sse.py} +21 -17
  316. akshare/stock_feature/{stock_szse_margin.py → stock_margin_szse.py} +7 -7
  317. akshare/stock_feature/stock_market_legu.py +4 -2
  318. akshare/stock_feature/stock_pankou_em.py +71 -35
  319. akshare/stock_feature/stock_qsjy_em.py +13 -4
  320. akshare/stock_feature/stock_report_em.py +152 -8
  321. akshare/stock_feature/stock_research_report_em.py +55 -20
  322. akshare/stock_feature/stock_sns_sseinfo.py +15 -12
  323. akshare/stock_feature/stock_sy_em.py +20 -15
  324. akshare/stock_feature/stock_technology_ths.py +152 -120
  325. akshare/stock_feature/stock_tfp_em.py +37 -14
  326. akshare/stock_feature/stock_three_report_em.py +120 -78
  327. akshare/stock_feature/stock_ttm_lyr.py +18 -9
  328. akshare/stock_feature/stock_value_em.py +83 -0
  329. akshare/stock_feature/stock_yjbb_em.py +58 -32
  330. akshare/stock_feature/stock_yjyg_cninfo.py +6 -2
  331. akshare/stock_feature/stock_yjyg_em.py +1 -1
  332. akshare/stock_feature/stock_yzxdr_em.py +24 -22
  333. akshare/stock_feature/stock_zdhtmx_em.py +20 -6
  334. akshare/stock_feature/stock_zh_valuation_baidu.py +3 -2
  335. akshare/stock_feature/stock_zh_vote_baidu.py +4 -1
  336. akshare/stock_feature/stock_ztb_em.py +39 -24
  337. akshare/stock_fundamental/__init__.py +1 -1
  338. akshare/stock_fundamental/stock_basic_info_xq.py +119 -0
  339. akshare/stock_fundamental/{stock_finance_hk.py → stock_finance_hk_em.py} +23 -16
  340. akshare/stock_fundamental/{stock_finance.py → stock_finance_sina.py} +203 -59
  341. akshare/stock_fundamental/stock_finance_ths.py +524 -57
  342. akshare/stock_fundamental/stock_finance_us_em.py +268 -0
  343. akshare/stock_fundamental/stock_gbjg_em.py +80 -0
  344. akshare/stock_fundamental/stock_hold.py +26 -17
  345. akshare/stock_fundamental/stock_ipo_declare.py +1 -0
  346. akshare/stock_fundamental/stock_kcb_detail_sse.py +10 -10
  347. akshare/stock_fundamental/stock_kcb_sse.py +26 -25
  348. akshare/stock_fundamental/stock_notice.py +41 -18
  349. akshare/stock_fundamental/stock_profit_forecast_em.py +31 -13
  350. akshare/stock_fundamental/stock_profit_forecast_hk_etnet.py +64 -41
  351. akshare/stock_fundamental/stock_profit_forecast_ths.py +86 -35
  352. akshare/stock_fundamental/stock_recommend.py +20 -4
  353. akshare/stock_fundamental/stock_register_em.py +448 -0
  354. akshare/stock_fundamental/stock_zygc.py +5 -62
  355. akshare/tool/trade_date_hist.py +1 -1
  356. akshare/utils/context.py +43 -0
  357. akshare/utils/demjson.py +2009 -1338
  358. akshare/utils/func.py +49 -2
  359. akshare/utils/multi_decrypt.py +53 -0
  360. akshare/utils/token_process.py +6 -5
  361. akshare/utils/tqdm.py +13 -3
  362. {akshare-1.13.46.dist-info → akshare-1.17.99.dist-info}/METADATA +56 -86
  363. akshare-1.17.99.dist-info/RECORD +409 -0
  364. {akshare-1.13.46.dist-info → akshare-1.17.99.dist-info}/WHEEL +1 -1
  365. {akshare-1.13.46.dist-info → akshare-1.17.99.dist-info/licenses}/LICENSE +1 -1
  366. tests/test_func.py +3 -5
  367. akshare/bond/bond_futures.py +0 -50
  368. akshare/bond/bond_investing.py +0 -139
  369. akshare/crypto/crypto_hist_investing.py +0 -249
  370. akshare/fortune/fortune_it_juzi.py +0 -123
  371. akshare/fund/fund_announcement.py +0 -56
  372. akshare/futures/futures_international.py +0 -170
  373. akshare/futures/futures_news_baidu.py +0 -54
  374. akshare/futures/inventory_data.py +0 -100
  375. akshare/futures_derivative/futures_index_price_nh.py +0 -61
  376. akshare/futures_derivative/futures_index_return_nh.py +0 -47
  377. akshare/futures_derivative/futures_index_volatility_nh.py +0 -51
  378. akshare/futures_derivative/futures_other_index_nh.py +0 -145
  379. akshare/index/index_fear_greed_funddb.py +0 -78
  380. akshare/index/index_investing.py +0 -232
  381. akshare/sport/__init__.py +0 -6
  382. akshare/sport/sport_olympic.py +0 -27
  383. akshare/sport/sport_olympic_winter.py +0 -39
  384. akshare/stock_feature/stock_wencai.py +0 -104
  385. akshare/stock_fundamental/stock_mda_ym.py +0 -40
  386. akshare/stock_fundamental/stock_register.py +0 -292
  387. akshare-1.13.46.dist-info/RECORD +0 -380
  388. {akshare-1.13.46.dist-info → akshare-1.17.99.dist-info}/top_level.txt +0 -0
akshare/index/index_yw.py CHANGED
@@ -1,14 +1,18 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2024/4/17 19:17
4
+ Date: 2025/5/3
5
5
  Desc: 义乌小商品指数
6
- https://www.ywindex.com/Home/Product/index/
6
+ 目前可以通过这些接口直接请求到 JSON 数据
7
+ 周价格指数:https://apiserver.chinagoods.com/yiwuindex/v1/active/industry/class/history/piweek?gcCode=
8
+ 月价格指数:https://apiserver.chinagoods.com/yiwuindex/v1/active/industry/class/history/month?gcCode=
9
+ 月景气指数:https://apiserver.chinagoods.com/yiwuindex/v1/active/industry/class/history/bi?gcCode=
10
+ 上涨:https://apiserver.chinagoods.com/yiwuindex/v1/active/industry/class/get/rise
11
+ 下跌:https://apiserver.chinagoods.com/yiwuindex/v1/active/industry/class/get/drop
7
12
  """
8
13
 
9
14
  import pandas as pd
10
15
  import requests
11
- from bs4 import BeautifulSoup
12
16
 
13
17
 
14
18
  def index_yw(symbol: str = "月景气指数") -> pd.DataFrame:
@@ -21,85 +25,58 @@ def index_yw(symbol: str = "月景气指数") -> pd.DataFrame:
21
25
  :rtype: pandas.DataFrame
22
26
  """
23
27
  import urllib3
24
-
25
- # 禁用InsecureRequestWarning
26
28
  urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
27
- name_num_dict = {
28
- "周价格指数": 1,
29
- "月价格指数": 3,
30
- "月景气指数": 5,
31
- }
32
- url = "https://www.ywindex.com/Home/Product/index/"
33
- res = requests.get(url, verify=False)
34
- soup = BeautifulSoup(res.text, features="lxml")
35
- table_name = (
36
- soup.find_all(attrs={"class": "tablex"})[name_num_dict[symbol]]
37
- .get_text()
38
- .split("\n\n\n\n\n")[2]
39
- .split("\n")
40
- )
41
- table_content = (
42
- soup.find_all(attrs={"class": "tablex"})[name_num_dict[symbol]]
43
- .get_text()
44
- .split("\n\n\n\n\n")[3]
45
- .split("\n\n")
46
- )
29
+
47
30
  if symbol == "月景气指数":
48
- table_df = pd.DataFrame([item.split("\n") for item in table_content]).iloc[
49
- :, :5
50
- ]
51
- table_df.columns = ["期数", "景气指数", "规模指数", "效益指数", "市场信心指数"]
52
- table_df["期数"] = pd.to_datetime(table_df["期数"], errors="coerce").dt.date
53
- table_df["景气指数"] = pd.to_numeric(table_df["景气指数"], errors="coerce")
54
- table_df["规模指数"] = pd.to_numeric(table_df["规模指数"], errors="coerce")
55
- table_df["效益指数"] = pd.to_numeric(table_df["效益指数"], errors="coerce")
56
- table_df["市场信心指数"] = pd.to_numeric(
57
- table_df["市场信心指数"], errors="coerce"
58
- )
59
- table_df.sort_values(["期数"], inplace=True, ignore_index=True)
60
- return table_df
61
- elif symbol == "周价格指数":
62
- table_df = pd.DataFrame([item.split("\n") for item in table_content]).iloc[
63
- :, :6
64
- ]
65
- table_df.columns = table_name
66
- table_df["期数"] = pd.to_datetime(table_df["期数"], errors="coerce").dt.date
67
- table_df["价格指数"] = pd.to_numeric(table_df["价格指数"], errors="coerce")
68
- table_df["场内价格指数"] = pd.to_numeric(
69
- table_df["场内价格指数"], errors="coerce"
70
- )
71
- table_df["网上价格指数"] = pd.to_numeric(
72
- table_df["网上价格指数"], errors="coerce"
73
- )
74
- table_df["订单价格指数"] = pd.to_numeric(
75
- table_df["订单价格指数"], errors="coerce"
76
- )
77
- table_df["出口价格指数"] = pd.to_numeric(
78
- table_df["出口价格指数"], errors="coerce"
31
+ url = "https://apiserver.chinagoods.com/yiwuindex/v1/active/industry/class/history/bi?gcCode="
32
+ r = requests.get(url, verify=False)
33
+ data_json = r.json()
34
+ temp_df = pd.DataFrame(data_json["data"])
35
+ temp_df = temp_df[["indextimeno", "totalindex", "scopeindex", "benifitindex", "confidentindex"]]
36
+ temp_df.columns = ["期数", "景气指数", "规模指数", "效益指数", "市场信心指数"]
37
+ temp_df["期数"] = pd.to_datetime(temp_df["期数"], errors="coerce").dt.date
38
+ temp_df["景气指数"] = pd.to_numeric(temp_df["景气指数"], errors="coerce")
39
+ temp_df["规模指数"] = pd.to_numeric(temp_df["规模指数"], errors="coerce")
40
+ temp_df["效益指数"] = pd.to_numeric(temp_df["效益指数"], errors="coerce")
41
+ temp_df["市场信心指数"] = pd.to_numeric(
42
+ temp_df["市场信心指数"], errors="coerce"
79
43
  )
80
- table_df.sort_values(["期数"], inplace=True, ignore_index=True)
81
- return table_df
82
- elif symbol == "月价格指数":
83
- table_df = pd.DataFrame([item.split("\n") for item in table_content]).iloc[
84
- :, :6
85
- ]
86
- table_df.columns = table_name
87
- table_df["期数"] = pd.to_datetime(table_df["期数"], errors="coerce").dt.date
88
- table_df["价格指数"] = pd.to_numeric(table_df["价格指数"], errors="coerce")
89
- table_df["场内价格指数"] = pd.to_numeric(
90
- table_df["场内价格指数"], errors="coerce"
44
+ temp_df.sort_values(["期数"], inplace=True, ignore_index=True)
45
+ return temp_df
46
+ else:
47
+ symbol_map = {
48
+ "周价格指数": "piweek",
49
+ "月价格指数": "month"
50
+ }
51
+ url = f"https://apiserver.chinagoods.com/yiwuindex/v1/active/industry/class/history/{symbol_map[symbol]}?gcCode="
52
+ r = requests.get(url, verify=False)
53
+ data_json = r.json()
54
+ columns_name = {
55
+ "indextimeno": "期数",
56
+ "totalpriceindex": "价格指数",
57
+ "stockdealpriceindex": "场内价格指数",
58
+ "netdealpriceindex": "网上价格指数",
59
+ "orderdealpriceindex": "订单价格指数",
60
+ "outdealpriceindex": "出口价格指数",
61
+ }
62
+ temp_df = pd.DataFrame(data_json["data"])
63
+ temp_df.columns = [columns_name[name] for name in temp_df.columns]
64
+ temp_df["期数"] = pd.to_datetime(temp_df["期数"], errors="coerce").dt.date
65
+ temp_df["价格指数"] = pd.to_numeric(temp_df["价格指数"], errors="coerce")
66
+ temp_df["场内价格指数"] = pd.to_numeric(
67
+ temp_df["场内价格指数"], errors="coerce"
91
68
  )
92
- table_df["网上价格指数"] = pd.to_numeric(
93
- table_df["网上价格指数"], errors="coerce"
69
+ temp_df["网上价格指数"] = pd.to_numeric(
70
+ temp_df["网上价格指数"], errors="coerce"
94
71
  )
95
- table_df["订单价格指数"] = pd.to_numeric(
96
- table_df["订单价格指数"], errors="coerce"
72
+ temp_df["订单价格指数"] = pd.to_numeric(
73
+ temp_df["订单价格指数"], errors="coerce"
97
74
  )
98
- table_df["出口价格指数"] = pd.to_numeric(
99
- table_df["出口价格指数"], errors="coerce"
75
+ temp_df["出口价格指数"] = pd.to_numeric(
76
+ temp_df["出口价格指数"], errors="coerce"
100
77
  )
101
- table_df.sort_values(["期数"], inplace=True, ignore_index=True)
102
- return table_df
78
+ temp_df.sort_values(by=["期数"], inplace=True, ignore_index=True)
79
+ return temp_df
103
80
 
104
81
 
105
82
  if __name__ == "__main__":
@@ -111,3 +88,4 @@ if __name__ == "__main__":
111
88
 
112
89
  index_yw_df = index_yw(symbol="月景气指数")
113
90
  print(index_yw_df)
91
+
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2023/12/11 20:20
4
+ Date: 2025/3/11 17:00
5
5
  Desc: 东方财富网-指数行情数据
6
6
  """
7
7
 
@@ -10,6 +10,8 @@ from functools import lru_cache
10
10
  import pandas as pd
11
11
  import requests
12
12
 
13
+ from akshare.utils.func import fetch_paginated_data
14
+
13
15
 
14
16
  @lru_cache()
15
17
  def index_code_id_map_em() -> dict:
@@ -22,69 +24,18 @@ def index_code_id_map_em() -> dict:
22
24
  url = "https://80.push2.eastmoney.com/api/qt/clist/get"
23
25
  params = {
24
26
  "pn": "1",
25
- "pz": "10000",
26
- "po": "1",
27
- "np": "1",
28
- "ut": "bd1d9ddb04089700cf9c27f6f7426281",
29
- "fltt": "2",
30
- "invt": "2",
31
- "fid": "f3",
32
- "fs": "m:1 t:2,m:1 t:23",
33
- "fields": "f12",
34
- "_": "1623833739532",
35
- }
36
- r = requests.get(url, params=params)
37
- data_json = r.json()
38
- if not data_json["data"]["diff"]:
39
- return dict()
40
- temp_df = pd.DataFrame(data_json["data"]["diff"])
41
- temp_df["market_id"] = 1
42
- temp_df.columns = ["sh_code", "sh_id"]
43
- code_id_dict = dict(zip(temp_df["sh_code"], temp_df["sh_id"]))
44
- params = {
45
- "pn": "1",
46
- "pz": "10000",
47
- "po": "1",
48
- "np": "1",
49
- "ut": "bd1d9ddb04089700cf9c27f6f7426281",
50
- "fltt": "2",
51
- "invt": "2",
52
- "fid": "f3",
53
- "fs": "m:0 t:6,m:0 t:80",
54
- "fields": "f12",
55
- "_": "1623833739532",
56
- }
57
- r = requests.get(url, params=params)
58
- data_json = r.json()
59
- if not data_json["data"]["diff"]:
60
- return dict()
61
- temp_df_sz = pd.DataFrame(data_json["data"]["diff"])
62
- temp_df_sz["sz_id"] = 0
63
- code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["sz_id"])))
64
- params = {
65
- "pn": "1",
66
- "pz": "10000",
27
+ "pz": "100",
67
28
  "po": "1",
68
29
  "np": "1",
69
30
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
70
31
  "fltt": "2",
71
32
  "invt": "2",
72
33
  "fid": "f3",
73
- "fs": "m:0 t:81 s:2048",
74
- "fields": "f12",
75
- "_": "1623833739532",
76
- }
77
- r = requests.get(url, params=params)
78
- data_json = r.json()
79
- if not data_json["data"]["diff"]:
80
- return dict()
81
- temp_df_sz = pd.DataFrame(data_json["data"]["diff"])
82
- temp_df_sz["bj_id"] = 0
83
- code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["bj_id"])))
84
- code_id_dict = {
85
- key: value - 1 if value == 1 else value + 1
86
- for key, value in code_id_dict.items()
34
+ "fs": "b:MK0010,m:1+t:1,m:0 t:5,m:1+s:3,m:0+t:5,m:2",
35
+ "fields": "f3,f12,f13",
87
36
  }
37
+ temp_df = fetch_paginated_data(url, params)
38
+ code_id_dict = dict(zip(temp_df["f12"], temp_df["f13"]))
88
39
  return code_id_dict
89
40
 
90
41
 
@@ -121,7 +72,6 @@ def index_zh_a_hist(
121
72
  "fqt": "0",
122
73
  "beg": "0",
123
74
  "end": "20500000",
124
- "_": "1623766962675",
125
75
  }
126
76
  except KeyError:
127
77
  params = {
@@ -133,7 +83,6 @@ def index_zh_a_hist(
133
83
  "fqt": "0",
134
84
  "beg": "0",
135
85
  "end": "20500000",
136
- "_": "1623766962675",
137
86
  }
138
87
  r = requests.get(url, params=params)
139
88
  data_json = r.json()
@@ -147,7 +96,6 @@ def index_zh_a_hist(
147
96
  "fqt": "0",
148
97
  "beg": "0",
149
98
  "end": "20500000",
150
- "_": "1623766962675",
151
99
  }
152
100
  r = requests.get(url, params=params)
153
101
  data_json = r.json()
@@ -161,7 +109,6 @@ def index_zh_a_hist(
161
109
  "fqt": "0",
162
110
  "beg": "0",
163
111
  "end": "20500000",
164
- "_": "1623766962675",
165
112
  }
166
113
  r = requests.get(url, params=params)
167
114
  data_json = r.json()
@@ -175,7 +122,6 @@ def index_zh_a_hist(
175
122
  "fqt": "0",
176
123
  "beg": "0",
177
124
  "end": "20500000",
178
- "_": "1623766962675",
179
125
  }
180
126
  r = requests.get(url, params=params)
181
127
  data_json = r.json()
@@ -194,7 +140,6 @@ def index_zh_a_hist(
194
140
  "fqt": "0",
195
141
  "beg": "0",
196
142
  "end": "20500000",
197
- "_": "1623766962675",
198
143
  }
199
144
  r = requests.get(url, params=params)
200
145
  data_json = r.json()
@@ -257,21 +202,17 @@ def index_zh_a_hist_min_em(
257
202
  params = {
258
203
  "fields1": "f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13",
259
204
  "fields2": "f51,f52,f53,f54,f55,f56,f57,f58",
260
- "ut": "fa5fd1943c7b386f172d6893dbfba10b",
261
205
  "iscr": "0",
262
206
  "ndays": "5",
263
207
  "secid": f"{code_id_dict[symbol]}.{symbol}",
264
- "_": "1623766962675",
265
208
  }
266
209
  except KeyError:
267
210
  params = {
268
211
  "fields1": "f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13",
269
212
  "fields2": "f51,f52,f53,f54,f55,f56,f57,f58",
270
- "ut": "fa5fd1943c7b386f172d6893dbfba10b",
271
213
  "iscr": "0",
272
214
  "ndays": "5",
273
215
  "secid": f"1.{symbol}",
274
- "_": "1623766962675",
275
216
  }
276
217
  r = requests.get(url, params=params)
277
218
  data_json = r.json()
@@ -279,11 +220,9 @@ def index_zh_a_hist_min_em(
279
220
  params = {
280
221
  "fields1": "f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13",
281
222
  "fields2": "f51,f52,f53,f54,f55,f56,f57,f58",
282
- "ut": "fa5fd1943c7b386f172d6893dbfba10b",
283
223
  "iscr": "0",
284
224
  "ndays": "5",
285
225
  "secid": f"0.{symbol}",
286
- "_": "1623766962675",
287
226
  }
288
227
  r = requests.get(url, params=params)
289
228
  data_json = r.json()
@@ -291,11 +230,9 @@ def index_zh_a_hist_min_em(
291
230
  params = {
292
231
  "fields1": "f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13",
293
232
  "fields2": "f51,f52,f53,f54,f55,f56,f57,f58",
294
- "ut": "fa5fd1943c7b386f172d6893dbfba10b",
295
233
  "iscr": "0",
296
234
  "ndays": "5",
297
235
  "secid": f"47.{symbol}",
298
- "_": "1623766962675",
299
236
  }
300
237
  r = requests.get(url, params=params)
301
238
  data_json = r.json()
@@ -310,7 +247,7 @@ def index_zh_a_hist_min_em(
310
247
  "最低",
311
248
  "成交量",
312
249
  "成交额",
313
- "最新价",
250
+ "均价",
314
251
  ]
315
252
  temp_df.index = pd.to_datetime(temp_df["时间"], errors="coerce")
316
253
  temp_df = temp_df[start_date:end_date]
@@ -321,11 +258,11 @@ def index_zh_a_hist_min_em(
321
258
  temp_df["最低"] = pd.to_numeric(temp_df["最低"], errors="coerce")
322
259
  temp_df["成交量"] = pd.to_numeric(temp_df["成交量"], errors="coerce")
323
260
  temp_df["成交额"] = pd.to_numeric(temp_df["成交额"], errors="coerce")
324
- temp_df["最新价"] = pd.to_numeric(temp_df["最新价"], errors="coerce")
261
+ temp_df["均价"] = pd.to_numeric(temp_df["均价"], errors="coerce")
325
262
  temp_df["时间"] = pd.to_datetime(temp_df["时间"]).astype(str)
326
263
  return temp_df
327
264
  else:
328
- url = "http://push2his.eastmoney.com/api/qt/stock/kline/get"
265
+ url = "https://push2his.eastmoney.com/api/qt/stock/kline/get"
329
266
  try:
330
267
  params = {
331
268
  "secid": f"{code_id_dict[symbol]}.{symbol}",
@@ -336,7 +273,6 @@ def index_zh_a_hist_min_em(
336
273
  "fqt": "1",
337
274
  "beg": "0",
338
275
  "end": "20500000",
339
- "_": "1630930917857",
340
276
  }
341
277
  except: # noqa: E722
342
278
  params = {
@@ -348,7 +284,6 @@ def index_zh_a_hist_min_em(
348
284
  "fqt": "1",
349
285
  "beg": "0",
350
286
  "end": "20500000",
351
- "_": "1630930917857",
352
287
  }
353
288
  r = requests.get(url, params=params)
354
289
  data_json = r.json()
@@ -362,7 +297,6 @@ def index_zh_a_hist_min_em(
362
297
  "fqt": "1",
363
298
  "beg": "0",
364
299
  "end": "20500000",
365
- "_": "1630930917857",
366
300
  }
367
301
  r = requests.get(url, params=params)
368
302
  data_json = r.json()
@@ -376,7 +310,6 @@ def index_zh_a_hist_min_em(
376
310
  "fqt": "1",
377
311
  "beg": "0",
378
312
  "end": "20500000",
379
- "_": "1630930917857",
380
313
  }
381
314
  r = requests.get(url, params=params)
382
315
  data_json = r.json()
@@ -430,7 +363,7 @@ def index_zh_a_hist_min_em(
430
363
 
431
364
  if __name__ == "__main__":
432
365
  index_zh_a_hist_df = index_zh_a_hist(
433
- symbol="800000",
366
+ symbol="932000",
434
367
  period="daily",
435
368
  start_date="19700101",
436
369
  end_date="22220101",
@@ -438,9 +371,9 @@ if __name__ == "__main__":
438
371
  print(index_zh_a_hist_df)
439
372
 
440
373
  index_zh_a_hist_min_em_df = index_zh_a_hist_min_em(
441
- symbol="000001",
374
+ symbol="000003",
442
375
  period="1",
443
- start_date="2024-03-20 09:30:00",
444
- end_date="2024-03-20 19:00:00",
376
+ start_date="2025-03-17 09:30:00",
377
+ end_date="2025-03-17 19:00:00",
445
378
  )
446
379
  print(index_zh_a_hist_min_em_df)
@@ -1,12 +1,14 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2022/5/24 20:13
4
+ Date: 2024/5/11 22:00
5
5
  Desc: 东方财富网-经济数据-银行间拆借利率
6
+ https://data.eastmoney.com/shibor/shibor.aspx
6
7
  """
8
+
7
9
  import pandas as pd
8
10
  import requests
9
- from tqdm import tqdm
11
+ from akshare.utils.tqdm import get_tqdm
10
12
 
11
13
 
12
14
  def rate_interbank(
@@ -16,7 +18,7 @@ def rate_interbank(
16
18
  ):
17
19
  """
18
20
  东方财富-拆借利率一览-具体市场的具体品种的具体指标的拆借利率数据
19
- 具体 market 和 symbol 参见: http://data.eastmoney.com/shibor/shibor.aspx?m=sg&t=88&d=99333&cu=sgd&type=009065&p=79
21
+ 具体 market 和 symbol 参见: https://data.eastmoney.com/shibor/shibor.aspx?m=sg&t=88&d=99333&cu=sgd&type=009065&p=79
20
22
  :param market: choice of {"上海银行同业拆借市场", "中国银行同业拆借市场", "伦敦银行同业拆借市场", "欧洲银行同业拆借市场", "香港银行同业拆借市场", "新加坡银行同业拆借市场"}
21
23
  :type market: str
22
24
  :param symbol: choice of {"Shibor人民币", "Chibor人民币", "Libor英镑", "***", "Sibor美元"}
@@ -69,9 +71,11 @@ def rate_interbank(
69
71
  url = "https://datacenter-web.eastmoney.com/api/data/v1/get"
70
72
  params = {
71
73
  "reportName": "RPT_IMP_INTRESTRATEN",
72
- "columns": "REPORT_DATE,REPORT_PERIOD,IR_RATE,CHANGE_RATE,INDICATOR_ID,LATEST_RECORD,MARKET,MARKET_CODE,CURRENCY,CURRENCY_CODE",
74
+ "columns": "REPORT_DATE,REPORT_PERIOD,IR_RATE,CHANGE_RATE,INDICATOR_ID,"
75
+ "LATEST_RECORD,MARKET,MARKET_CODE,CURRENCY,CURRENCY_CODE",
73
76
  "quoteColumns": "",
74
- "filter": f"""(MARKET_CODE="{market_map[market]}")(CURRENCY_CODE="{symbol_map[symbol]}")(INDICATOR_ID="{indicator_map[indicator]}")""",
77
+ "filter": f"""(MARKET_CODE="{market_map[market]}")(CURRENCY_CODE="{symbol_map[symbol]}")
78
+ (INDICATOR_ID="{indicator_map[indicator]}")""",
75
79
  "pageNumber": "1",
76
80
  "pageSize": "500",
77
81
  "sortTypes": "-1",
@@ -81,12 +85,12 @@ def rate_interbank(
81
85
  "p": "1",
82
86
  "pageNo": "1",
83
87
  "pageNum": "1",
84
- "_": "1653376974939",
85
88
  }
86
89
  r = requests.get(url, params=params)
87
90
  data_json = r.json()
88
91
  total_page = data_json["result"]["pages"]
89
92
  big_df = pd.DataFrame()
93
+ tqdm = get_tqdm()
90
94
  for page in tqdm(range(1, total_page + 1), leave=False):
91
95
  params.update(
92
96
  {
@@ -99,7 +103,7 @@ def rate_interbank(
99
103
  r = requests.get(url, params=params)
100
104
  data_json = r.json()
101
105
  temp_df = pd.DataFrame(data_json["result"]["data"])
102
- big_df = pd.concat([big_df, temp_df], ignore_index=True)
106
+ big_df = pd.concat(objs=[big_df, temp_df], ignore_index=True)
103
107
  big_df.columns = [
104
108
  "报告日",
105
109
  "-",
@@ -119,9 +123,9 @@ def rate_interbank(
119
123
  "涨跌",
120
124
  ]
121
125
  ]
122
- big_df["报告日"] = pd.to_datetime(big_df["报告日"]).dt.date
123
- big_df["利率"] = pd.to_numeric(big_df["利率"])
124
- big_df["涨跌"] = pd.to_numeric(big_df["涨跌"])
126
+ big_df["报告日"] = pd.to_datetime(big_df["报告日"], errors="coerce").dt.date
127
+ big_df["利率"] = pd.to_numeric(big_df["利率"], errors="coerce")
128
+ big_df["涨跌"] = pd.to_numeric(big_df["涨跌"], errors="coerce")
125
129
  big_df.sort_values(["报告日"], inplace=True)
126
130
  big_df.reset_index(inplace=True, drop=True)
127
131
  return big_df
@@ -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
 
akshare/movie/jm.js CHANGED
@@ -2254,4 +2254,3 @@ var webDES = function() {
2254
2254
  ;
2255
2255
  }
2256
2256
  , webInstace = new webDES();
2257
-