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
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2023/12/19 18:00
4
+ Date: 2024/5/1 20:00
5
5
  Desc: 巨潮资讯-首页-公告查询-信息披露
6
6
  http://www.cninfo.com.cn/new/commonUrl/pageOfSearch?url=disclosure/list/search
7
7
  """
@@ -119,8 +119,8 @@ def stock_zh_a_disclosure_report_cninfo(
119
119
  "预披露": "pre_disclosure",
120
120
  }
121
121
  stock_id_map = ""
122
- if market == "沪深京":
123
- stock_id_map = __get_stock_json(symbol)
122
+ if market == "沪深京" or "基金":
123
+ stock_id_map = __get_stock_json(market)
124
124
  category_dict = __get_category_dict()
125
125
  url = "http://www.cninfo.com.cn/new/hisAnnouncement/query"
126
126
  stock_item = "" if symbol == "" else f"{symbol},{stock_id_map[symbol]}"
@@ -166,7 +166,12 @@ def stock_zh_a_disclosure_report_cninfo(
166
166
  big_df["公告时间"] = pd.to_datetime(
167
167
  big_df["公告时间"], unit="ms", utc=True, errors="coerce"
168
168
  )
169
- big_df["公告时间"] = big_df["公告时间"].dt.tz_convert("Asia/Shanghai").dt.date
169
+ big_df["公告时间"] = (
170
+ big_df["公告时间"]
171
+ .dt.tz_convert("Asia/Shanghai")
172
+ .dt.tz_localize(None)
173
+ .astype(str)
174
+ )
170
175
  url_list = []
171
176
  for item in zip(
172
177
  big_df["代码"], big_df["announcementId"], big_df["orgId"], big_df["公告时间"]
@@ -242,7 +247,7 @@ def stock_zh_a_disclosure_relation_cninfo(
242
247
  r = requests.post(url, data=payload)
243
248
  text_json = r.json()
244
249
  temp_df = pd.DataFrame(text_json["announcements"])
245
- big_df = pd.concat([big_df, temp_df], ignore_index=True)
250
+ big_df = pd.concat(objs=[big_df, temp_df], ignore_index=True)
246
251
  big_df.rename(
247
252
  columns={
248
253
  "secCode": "代码",
@@ -256,7 +261,12 @@ def stock_zh_a_disclosure_relation_cninfo(
256
261
  big_df["公告时间"] = pd.to_datetime(
257
262
  big_df["公告时间"], unit="ms", utc=True, errors="coerce"
258
263
  )
259
- big_df["公告时间"] = big_df["公告时间"].dt.tz_convert("Asia/Shanghai").dt.date
264
+ big_df["公告时间"] = (
265
+ big_df["公告时间"]
266
+ .dt.tz_convert("Asia/Shanghai")
267
+ .dt.tz_convert(None)
268
+ .astype(str)
269
+ )
260
270
  url_list = []
261
271
  for item in zip(
262
272
  big_df["代码"], big_df["announcementId"], big_df["orgId"], big_df["公告时间"]
@@ -273,12 +283,12 @@ def stock_zh_a_disclosure_relation_cninfo(
273
283
 
274
284
  if __name__ == "__main__":
275
285
  stock_zh_a_disclosure_report_cninfo_df = stock_zh_a_disclosure_report_cninfo(
276
- symbol="",
277
- market="沪深京",
286
+ symbol="164701",
287
+ market="基金",
278
288
  keyword="大模型",
279
289
  category="",
280
- start_date="20231003",
281
- end_date="20240404",
290
+ start_date="20240422",
291
+ end_date="20250422",
282
292
  )
283
293
  print(stock_zh_a_disclosure_report_cninfo_df)
284
294
 
@@ -8,6 +8,7 @@ https://data.eastmoney.com/xg/xg/dxsyl.html
8
8
  东方财富网-数据中心-新股数据-新股申购与中签查询
9
9
  https://data.eastmoney.com/xg/xg/default_2.html
10
10
  """
11
+
11
12
  import pandas as pd
12
13
  import requests
13
14
 
@@ -93,14 +94,30 @@ def stock_dxsyl_em() -> pd.DataFrame:
93
94
  ]
94
95
  big_df["发行价"] = pd.to_numeric(big_df["发行价"], errors="coerce")
95
96
  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")
97
+ big_df["网上-发行中签率"] = pd.to_numeric(
98
+ big_df["网上-发行中签率"], errors="coerce"
99
+ )
100
+ big_df["网上-有效申购股数"] = pd.to_numeric(
101
+ big_df["网上-有效申购股数"], errors="coerce"
102
+ )
103
+ big_df["网上-有效申购户数"] = pd.to_numeric(
104
+ big_df["网上-有效申购户数"], errors="coerce"
105
+ )
106
+ big_df["网上-超额认购倍数"] = pd.to_numeric(
107
+ big_df["网上-超额认购倍数"], errors="coerce"
108
+ )
109
+ big_df["网下-配售中签率"] = pd.to_numeric(
110
+ big_df["网下-配售中签率"], errors="coerce"
111
+ )
112
+ big_df["网下-有效申购股数"] = pd.to_numeric(
113
+ big_df["网下-有效申购股数"], errors="coerce"
114
+ )
115
+ big_df["网下-有效申购户数"] = pd.to_numeric(
116
+ big_df["网下-有效申购户数"], errors="coerce"
117
+ )
118
+ big_df["网下-配售认购倍数"] = pd.to_numeric(
119
+ big_df["网下-配售认购倍数"], errors="coerce"
120
+ )
104
121
  big_df["总发行数量"] = pd.to_numeric(big_df["总发行数量"], errors="coerce")
105
122
  big_df["开盘溢价"] = pd.to_numeric(big_df["开盘溢价"], errors="coerce")
106
123
  big_df["首日涨幅"] = pd.to_numeric(big_df["首日涨幅"], errors="coerce")
@@ -151,47 +168,47 @@ def stock_xgsglb_em(symbol: str = "全部股票") -> pd.DataFrame:
151
168
 
152
169
  big_df.rename(
153
170
  columns={
154
- 'ORG_CODE': '-',
155
- 'SECURITY_CODE': '代码',
156
- 'SECUCODE': '带市场标识股票代码',
157
- 'SECURITY_NAME_ABBR': '简称',
158
- 'APPLY_CODE': '申购代码',
159
- 'EXPECT_ISSUE_NUM': '发行总数',
160
- 'PRICE_WAY': '定价方式',
161
- 'ISSUE_PRICE': '发行价格',
162
- 'ISSUE_PE_RATIO': '发行市盈率',
163
- 'APPLY_DATE': '申购日',
164
- 'RESULT_NOTICE_DATE': '发行结果公告日期',
165
- 'SELECT_LISTING_DATE': '上市首日-上市日',
166
- 'ONLINE_ISSUE_NUM': '网上-发行数量',
167
- 'APPLY_AMT_UPPER': '网上-顶格所需资金',
168
- 'APPLY_NUM_UPPER': '网上-申购上限',
169
- 'ONLINE_PAY_DATE': '网上申购缴款日期',
170
- 'ONLINE_REFUND_DATE': '网上申购资金退款日',
171
- 'INFO_CODE': '-',
172
- 'ONLINE_ISSUE_LWR': '中签率',
173
- 'NEWEST_PRICE': '最新价格-价格',
174
- 'CLOSE_PRICE': '首日收盘价',
175
- 'INITIAL_MULTIPLE': '-',
176
- 'PER_SHARES_INCOME': '上市首日-每百股获利',
177
- 'LD_CLOSE_CHANGE': '上市首日-涨幅',
178
- 'TURNOVERRATE': '首日换手率',
179
- 'AMPLITUDE': '首日振幅',
180
- 'ONLINE_APPLY_LOWER': '-',
181
- 'MAIN_BUSINESS': '主营业务',
182
- 'INDUSTRY_PE_RATIO': '行业市盈率',
183
- 'APPLY_AMT_100': '稳获百股需配资金',
184
- 'TAKE_UP_TIME': '资金占用时间',
185
- 'CAPTURE_PROFIT': '上市首日-约合年化收益',
186
- 'APPLY_SHARE_100': '每获配百股需配股数',
187
- 'AVERAGE_PRICE': '上市首日-均价',
188
- 'ORG_VAN': '参与申购人数',
189
- 'VA_AMT': '参与申购资金',
190
- 'ISSUE_PRICE_ADJFACTOR': '-'
171
+ "ORG_CODE": "-",
172
+ "SECURITY_CODE": "代码",
173
+ "SECUCODE": "带市场标识股票代码",
174
+ "SECURITY_NAME_ABBR": "简称",
175
+ "APPLY_CODE": "申购代码",
176
+ "EXPECT_ISSUE_NUM": "发行总数",
177
+ "PRICE_WAY": "定价方式",
178
+ "ISSUE_PRICE": "发行价格",
179
+ "ISSUE_PE_RATIO": "发行市盈率",
180
+ "APPLY_DATE": "申购日",
181
+ "RESULT_NOTICE_DATE": "发行结果公告日期",
182
+ "SELECT_LISTING_DATE": "上市首日-上市日",
183
+ "ONLINE_ISSUE_NUM": "网上-发行数量",
184
+ "APPLY_AMT_UPPER": "网上-顶格所需资金",
185
+ "APPLY_NUM_UPPER": "网上-申购上限",
186
+ "ONLINE_PAY_DATE": "网上申购缴款日期",
187
+ "ONLINE_REFUND_DATE": "网上申购资金退款日",
188
+ "INFO_CODE": "-",
189
+ "ONLINE_ISSUE_LWR": "中签率",
190
+ "NEWEST_PRICE": "最新价格-价格",
191
+ "CLOSE_PRICE": "首日收盘价",
192
+ "INITIAL_MULTIPLE": "-",
193
+ "PER_SHARES_INCOME": "上市首日-每百股获利",
194
+ "LD_CLOSE_CHANGE": "上市首日-涨幅",
195
+ "TURNOVERRATE": "首日换手率",
196
+ "AMPLITUDE": "首日振幅",
197
+ "ONLINE_APPLY_LOWER": "-",
198
+ "MAIN_BUSINESS": "主营业务",
199
+ "INDUSTRY_PE_RATIO": "行业市盈率",
200
+ "APPLY_AMT_100": "稳获百股需配资金",
201
+ "TAKE_UP_TIME": "资金占用时间",
202
+ "CAPTURE_PROFIT": "上市首日-约合年化收益",
203
+ "APPLY_SHARE_100": "每获配百股需配股数",
204
+ "AVERAGE_PRICE": "上市首日-均价",
205
+ "ORG_VAN": "参与申购人数",
206
+ "VA_AMT": "参与申购资金",
207
+ "ISSUE_PRICE_ADJFACTOR": "-",
191
208
  },
192
- inplace=True
209
+ inplace=True,
193
210
  )
194
- big_df['最新价格-累计涨幅'] = big_df['首日收盘价'] / big_df['最新价格-价格']
211
+ big_df["最新价格-累计涨幅"] = big_df["首日收盘价"] / big_df["最新价格-价格"]
195
212
 
196
213
  big_df = big_df[
197
214
  [
@@ -205,39 +222,61 @@ def stock_xgsglb_em(symbol: str = "全部股票") -> pd.DataFrame:
205
222
  "发行价格",
206
223
  "申购日",
207
224
  "中签率",
208
- '稳获百股需配资金',
209
- '最新价格-价格',
210
- '最新价格-累计涨幅',
211
- '上市首日-上市日',
212
- '上市首日-均价',
213
- '上市首日-涨幅',
214
- '上市首日-每百股获利',
215
- '上市首日-约合年化收益',
216
- '发行市盈率',
217
- '行业市盈率',
225
+ "稳获百股需配资金",
226
+ "最新价格-价格",
227
+ "最新价格-累计涨幅",
228
+ "上市首日-上市日",
229
+ "上市首日-均价",
230
+ "上市首日-涨幅",
231
+ "上市首日-每百股获利",
232
+ "上市首日-约合年化收益",
233
+ "发行市盈率",
234
+ "行业市盈率",
218
235
  "参与申购资金",
219
236
  "参与申购人数",
220
237
  ]
221
238
  ]
222
239
  big_df["发行总数"] = pd.to_numeric(big_df["发行总数"], errors="coerce")
223
- big_df["网上-发行数量"] = pd.to_numeric(big_df["网上-发行数量"], errors="coerce")
224
- big_df["网上-申购上限"] = pd.to_numeric(big_df["网上-申购上限"], errors="coerce")
225
- big_df["网上-顶格所需资金"] = pd.to_numeric(big_df["网上-顶格所需资金"], errors="coerce")
240
+ big_df["网上-发行数量"] = pd.to_numeric(
241
+ big_df["网上-发行数量"], errors="coerce"
242
+ )
243
+ big_df["网上-申购上限"] = pd.to_numeric(
244
+ big_df["网上-申购上限"], errors="coerce"
245
+ )
246
+ big_df["网上-顶格所需资金"] = pd.to_numeric(
247
+ big_df["网上-顶格所需资金"], errors="coerce"
248
+ )
226
249
  big_df["发行价格"] = pd.to_numeric(big_df["发行价格"], errors="coerce")
227
250
  big_df["中签率"] = pd.to_numeric(big_df["中签率"], errors="coerce")
228
- big_df["稳获百股需配资金"] = pd.to_numeric(big_df["稳获百股需配资金"], errors="coerce")
229
- big_df["最新价格-价格"] = pd.to_numeric(big_df["最新价格-价格"], errors="coerce")
230
- big_df["最新价格-累计涨幅"] = pd.to_numeric(big_df["最新价格-累计涨幅"], errors="coerce")
231
- big_df["上市首日-均价"] = pd.to_numeric(big_df["上市首日-均价"], errors="coerce")
232
- big_df["上市首日-涨幅"] = pd.to_numeric(big_df["上市首日-涨幅"], errors="coerce")
233
- big_df["上市首日-每百股获利"] = pd.to_numeric(big_df["上市首日-每百股获利"], errors="coerce")
234
- big_df["上市首日-约合年化收益"] = pd.to_numeric(big_df["上市首日-约合年化收益"], errors="coerce")
251
+ big_df["稳获百股需配资金"] = pd.to_numeric(
252
+ big_df["稳获百股需配资金"], errors="coerce"
253
+ )
254
+ big_df["最新价格-价格"] = pd.to_numeric(
255
+ big_df["最新价格-价格"], errors="coerce"
256
+ )
257
+ big_df["最新价格-累计涨幅"] = pd.to_numeric(
258
+ big_df["最新价格-累计涨幅"], errors="coerce"
259
+ )
260
+ big_df["上市首日-均价"] = pd.to_numeric(
261
+ big_df["上市首日-均价"], errors="coerce"
262
+ )
263
+ big_df["上市首日-涨幅"] = pd.to_numeric(
264
+ big_df["上市首日-涨幅"], errors="coerce"
265
+ )
266
+ big_df["上市首日-每百股获利"] = pd.to_numeric(
267
+ big_df["上市首日-每百股获利"], errors="coerce"
268
+ )
269
+ big_df["上市首日-约合年化收益"] = pd.to_numeric(
270
+ big_df["上市首日-约合年化收益"], errors="coerce"
271
+ )
235
272
  big_df["发行市盈率"] = pd.to_numeric(big_df["发行市盈率"], errors="coerce")
236
273
  big_df["行业市盈率"] = pd.to_numeric(big_df["行业市盈率"], errors="coerce")
237
274
  big_df["参与申购资金"] = pd.to_numeric(big_df["参与申购资金"], errors="coerce")
238
275
  big_df["参与申购人数"] = pd.to_numeric(big_df["参与申购人数"], errors="coerce")
239
276
  big_df["申购日"] = pd.to_datetime(big_df["申购日"], errors="coerce").dt.date
240
- big_df["上市首日-上市日"] = pd.to_datetime(big_df["上市首日-上市日"], errors="coerce").dt.date
277
+ big_df["上市首日-上市日"] = pd.to_datetime(
278
+ big_df["上市首日-上市日"], errors="coerce"
279
+ ).dt.date
241
280
  return big_df
242
281
  else:
243
282
  params = {
@@ -261,15 +300,15 @@ def stock_xgsglb_em(symbol: str = "全部股票") -> pd.DataFrame:
261
300
  r = requests.get(url, params=params)
262
301
  data_json = r.json()
263
302
  temp_df = pd.DataFrame(data_json["result"]["data"])
264
- big_df = pd.concat([big_df, temp_df], ignore_index=True)
303
+ big_df = pd.concat(objs=[big_df, temp_df], ignore_index=True)
265
304
  big_df.rename(
266
305
  columns={
267
306
  "SECURITY_CODE": "股票代码",
268
307
  "SECURITY_NAME": "股票简称",
269
308
  "TRADE_MARKET_CODE": "-",
270
309
  "APPLY_CODE": "申购代码",
271
- "TRADE_MARKET": "-",
272
- "MARKET_TYPE": "-",
310
+ "TRADE_MARKET": "交易所",
311
+ "MARKET_TYPE": "板块",
273
312
  "ORG_TYPE": "-",
274
313
  "ISSUE_NUM": "发行总数",
275
314
  "ONLINE_ISSUE_NUM": "网上发行",
@@ -320,6 +359,8 @@ def stock_xgsglb_em(symbol: str = "全部股票") -> pd.DataFrame:
320
359
  "股票代码",
321
360
  "股票简称",
322
361
  "申购代码",
362
+ "交易所",
363
+ "板块",
323
364
  "发行总数",
324
365
  "网上发行",
325
366
  "顶格申购需配市值",
@@ -347,7 +388,9 @@ def stock_xgsglb_em(symbol: str = "全部股票") -> pd.DataFrame:
347
388
  big_df["中签缴款日期"] = pd.to_datetime(big_df["中签缴款日期"]).dt.date
348
389
  big_df["发行总数"] = pd.to_numeric(big_df["发行总数"], errors="coerce")
349
390
  big_df["网上发行"] = pd.to_numeric(big_df["网上发行"], errors="coerce")
350
- big_df["顶格申购需配市值"] = pd.to_numeric(big_df["顶格申购需配市值"], errors="coerce")
391
+ big_df["顶格申购需配市值"] = pd.to_numeric(
392
+ big_df["顶格申购需配市值"], errors="coerce"
393
+ )
351
394
  big_df["申购上限"] = pd.to_numeric(big_df["申购上限"], errors="coerce")
352
395
  big_df["发行价格"] = pd.to_numeric(big_df["发行价格"], errors="coerce")
353
396
  big_df["最新价"] = pd.to_numeric(big_df["最新价"], errors="coerce")
@@ -355,8 +398,12 @@ def stock_xgsglb_em(symbol: str = "全部股票") -> pd.DataFrame:
355
398
  big_df["发行市盈率"] = pd.to_numeric(big_df["发行市盈率"], errors="coerce")
356
399
  big_df["行业市盈率"] = pd.to_numeric(big_df["行业市盈率"], errors="coerce")
357
400
  big_df["中签率"] = pd.to_numeric(big_df["中签率"], errors="coerce")
358
- big_df["询价累计报价倍数"] = pd.to_numeric(big_df["询价累计报价倍数"], errors="coerce")
359
- big_df["配售对象报价家数"] = pd.to_numeric(big_df["配售对象报价家数"], errors="coerce")
401
+ big_df["询价累计报价倍数"] = pd.to_numeric(
402
+ big_df["询价累计报价倍数"], errors="coerce"
403
+ )
404
+ big_df["配售对象报价家数"] = pd.to_numeric(
405
+ big_df["配售对象报价家数"], errors="coerce"
406
+ )
360
407
  big_df["涨幅"] = pd.to_numeric(big_df["涨幅"], errors="coerce")
361
408
  big_df["每中一签获利"] = pd.to_numeric(big_df["每中一签获利"], errors="coerce")
362
409
  return big_df
@@ -1,10 +1,11 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2023/4/5 22:05
4
+ Date: 2025/3/19 15:30
5
5
  Desc: 乐咕乐股-股债利差
6
6
  https://legulegu.com/stockdata/equity-bond-spread
7
7
  """
8
+
8
9
  import pandas as pd
9
10
  import requests
10
11
 
@@ -24,11 +25,11 @@ def stock_ebs_lg() -> pd.DataFrame:
24
25
  r = requests.get(
25
26
  url,
26
27
  params=params,
27
- **get_cookie_csrf(url="https://legulegu.com/stockdata/equity-bond-spread")
28
+ **get_cookie_csrf(url="https://legulegu.com/stockdata/equity-bond-spread"),
28
29
  )
29
30
  data_json = r.json()
30
31
  temp_df = pd.DataFrame(data_json["data"])
31
- temp_df["date"] = pd.to_datetime(temp_df["date"]).dt.date
32
+ temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
32
33
  temp_df.rename(
33
34
  columns={
34
35
  "date": "日期",
@@ -46,7 +47,7 @@ def stock_ebs_lg() -> pd.DataFrame:
46
47
  "股债利差均线",
47
48
  ]
48
49
  ]
49
- temp_df['日期'] = pd.to_datetime(temp_df['日期']).dt.date
50
+ temp_df["日期"] = pd.to_datetime(temp_df["日期"], errors="coerce").dt.date
50
51
  temp_df["沪深300指数"] = pd.to_numeric(temp_df["沪深300指数"], errors="coerce")
51
52
  temp_df["股债利差"] = pd.to_numeric(temp_df["股债利差"], errors="coerce")
52
53
  temp_df["股债利差均线"] = pd.to_numeric(temp_df["股债利差均线"], errors="coerce")
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2024/4/7 20:28
4
+ Date: 2024/7/15 16:30
5
5
  Desc: 新浪财经-ESG评级中心
6
6
  https://finance.sina.com.cn/esg/
7
7
  """
8
8
 
9
9
  import math
10
+ from akshare.utils.tqdm import get_tqdm
10
11
 
11
12
  import pandas as pd
12
13
  import requests
13
- from tqdm import tqdm
14
14
 
15
15
 
16
16
  def stock_esg_msci_sina() -> pd.DataFrame:
@@ -25,6 +25,7 @@ def stock_esg_msci_sina() -> pd.DataFrame:
25
25
  data_json = r.json()
26
26
  page_num = math.ceil(int(data_json["result"]["data"]["total"]) / 100)
27
27
  big_df = pd.DataFrame()
28
+ tqdm = get_tqdm()
28
29
  for page in tqdm(range(1, page_num + 1), leave=False):
29
30
  headers = {
30
31
  "Referer": "https://finance.sina.com.cn/",
@@ -64,8 +65,8 @@ def stock_esg_msci_sina() -> pd.DataFrame:
64
65
  "factset_sector_name": "-",
65
66
  "factset_industry_code": "-",
66
67
  "factset_industry_name": "-",
67
- "date": "评级日期",
68
- "quarter": "评级季度",
68
+ "date": "-",
69
+ "quarter_date": "评级日期",
69
70
  "grade": "ESG等级",
70
71
  "score": "-",
71
72
  "env_score": "环境总评",
@@ -83,17 +84,13 @@ def stock_esg_msci_sina() -> pd.DataFrame:
83
84
  )
84
85
  big_df = big_df[
85
86
  [
86
- "股票名称",
87
87
  "股票代码",
88
88
  "ESG评分",
89
89
  "环境总评",
90
90
  "社会责任总评",
91
91
  "治理总评",
92
92
  "评级日期",
93
- "评级机构",
94
93
  "交易市场",
95
- "行业名称",
96
- "评级季度",
97
94
  ]
98
95
  ]
99
96
  big_df["评级日期"] = pd.to_datetime(big_df["评级日期"], errors="coerce").dt.date
@@ -177,8 +174,9 @@ def stock_esg_rate_sina() -> pd.DataFrame:
177
174
  url = "https://global.finance.sina.com.cn/api/openapi.php/EsgService.getEsgStocks?page=1&num=200"
178
175
  r = requests.get(url)
179
176
  data_json = r.json()
180
- page_num = math.ceil(data_json["result"]["data"]["info"]["total"] / 200)
177
+ page_num = math.ceil(int(data_json["result"]["data"]["info"]["total"]) / 200)
181
178
  big_df = pd.DataFrame()
179
+ tqdm = get_tqdm()
182
180
  for page in tqdm(range(1, page_num + 1), leave=False):
183
181
  url = f"https://global.finance.sina.com.cn/api/openapi.php/EsgService.getEsgStocks?page={page}&num=200"
184
182
  r = requests.get(url)
@@ -227,10 +225,20 @@ def stock_esg_zd_sina() -> pd.DataFrame:
227
225
  :return: 秩鼎
228
226
  :rtype: pandas.DataFrame
229
227
  """
230
- url = "https://global.finance.sina.com.cn/api/openapi.php/EsgService.getZdEsgStocks?p=1&num=20000"
231
- r = requests.get(url)
228
+ url = "https://global.finance.sina.com.cn/api/openapi.php/EsgService.getZdEsgStocks"
229
+ params = {"p": "1", "num": "100"}
230
+ r = requests.get(url, params=params)
232
231
  data_json = r.json()
233
- big_df = pd.DataFrame(data_json["result"]["data"]["data"])
232
+ tqdm = get_tqdm()
233
+ total_page = math.ceil(int(data_json["result"]["data"]["total"]) / 100)
234
+ temp_list = []
235
+ for page in tqdm(range(1, total_page + 1), leave=False):
236
+ params = {"p": str(page), "num": "100"}
237
+ r = requests.get(url, params=params)
238
+ data_json = r.json()
239
+ temp_df = pd.DataFrame(data_json["result"]["data"]["data"])
240
+ temp_list.append(temp_df)
241
+ big_df = pd.concat(temp_list, ignore_index=True)
234
242
  big_df.rename(
235
243
  columns={
236
244
  "ticker": "股票代码",
@@ -263,10 +271,20 @@ def stock_esg_hz_sina() -> pd.DataFrame:
263
271
  :return: 华证指数
264
272
  :rtype: pandas.DataFrame
265
273
  """
266
- url = "https://global.finance.sina.com.cn/api/openapi.php/EsgService.getHzEsgStocks?p=1&num=20000"
267
- r = requests.get(url)
274
+ url = "https://global.finance.sina.com.cn/api/openapi.php/EsgService.getHzEsgStocks"
275
+ params = {"p": 1, "num": "100"}
276
+ r = requests.get(url, params=params)
268
277
  data_json = r.json()
269
- big_df = pd.DataFrame(data_json["result"]["data"]["data"])
278
+ total_page = math.ceil(int(data_json["result"]["data"]["total"]) / 100)
279
+ big_df = pd.DataFrame()
280
+ tqdm = get_tqdm()
281
+ for page in tqdm(range(1, total_page + 1), leave=False):
282
+ params = {"p": str(page), "num": "100"}
283
+ r = requests.get(url, params=params)
284
+ data_json = r.json()
285
+ temp_df = pd.DataFrame(data_json["result"]["data"]["data"])
286
+ big_df = pd.concat(objs=[big_df, temp_df], ignore_index=True)
287
+
270
288
  big_df.rename(
271
289
  columns={
272
290
  "date": "日期",