akshare 1.15.21__tar.gz → 1.15.23__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.
- {akshare-1.15.21 → akshare-1.15.23}/PKG-INFO +1 -1
- {akshare-1.15.21 → akshare-1.15.23}/akshare/__init__.py +16 -14
- akshare-1.15.23/akshare/air/air_hebei.py +107 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_fund_em.py +6 -6
- {akshare-1.15.21 → akshare-1.15.23}/akshare.egg-info/PKG-INFO +1 -1
- akshare-1.15.21/akshare/air/air_hebei.py +0 -84
- {akshare-1.15.21 → akshare-1.15.23}/LICENSE +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/README.md +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/air/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/air/air_zhenqi.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/air/cons.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/air/crypto.js +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/air/outcrypto.js +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/air/sunrise_tad.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/article/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/article/cons.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/article/epu_index.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/article/ff_factor.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/article/fred_md.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/article/risk_rv.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/bank/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/bank/bank_cbirc_2020.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/bank/cons.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/bond/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/bond/bond_cb_sina.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/bond/bond_cb_ths.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/bond/bond_cbond.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/bond/bond_china.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/bond/bond_china_money.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/bond/bond_convert.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/bond/bond_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/bond/bond_info_cm.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/bond/bond_investing.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/bond/bond_issue_cninfo.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/bond/bond_nafmii.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/bond/bond_summary.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/bond/bond_zh_cov.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/bond/bond_zh_sina.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/bond/cons.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/cal/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/cal/rv.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/cost/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/cost/cost_living.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/crypto/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/crypto/crypto_bitcoin_cme.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/crypto/crypto_hist_investing.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/crypto/crypto_hold.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/currency/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/currency/currency.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/currency/currency_china_bank_sina.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/currency/currency_safe.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/data/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/data/cninfo.js +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/data/crypto_info.zip +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/data/ths.js +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/datasets.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/economic/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/economic/cons.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/economic/macro_australia.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/economic/macro_bank.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/economic/macro_canada.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/economic/macro_china.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/economic/macro_china_hk.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/economic/macro_china_nbs.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/economic/macro_constitute.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/economic/macro_euro.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/economic/macro_finance_ths.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/economic/macro_germany.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/economic/macro_info_ws.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/economic/macro_japan.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/economic/macro_other.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/economic/macro_swiss.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/economic/macro_uk.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/economic/macro_usa.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/economic/marco_cnbs.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/energy/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/energy/energy_carbon.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/energy/energy_oil_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/event/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/event/cons.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/event/migration.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/exceptions.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/file_fold/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/file_fold/calendar.json +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fortune/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fortune/fortune_500.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fortune/fortune_bloomberg.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fortune/fortune_forbes_500.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fortune/fortune_hurun.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fortune/fortune_xincaifu_500.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fund/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fund/fund_amac.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fund/fund_announcement.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fund/fund_aum_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fund/fund_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fund/fund_etf_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fund/fund_etf_sina.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fund/fund_etf_ths.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fund/fund_fhsp_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fund/fund_init_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fund/fund_lof_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fund/fund_manager.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fund/fund_portfolio_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fund/fund_position_lg.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fund/fund_rank_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fund/fund_rating.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fund/fund_report_cninfo.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fund/fund_scale_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fund/fund_scale_sina.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fund/fund_xq.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/cons.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/cot.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/futures_basis.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/futures_comex_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/futures_comm_ctp.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/futures_comm_qihuo.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/futures_contract_detail.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/futures_daily_bar.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/futures_foreign.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/futures_hf_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/futures_hq_sina.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/futures_index_ccidx.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/futures_international.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/futures_inventory_99.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/futures_inventory_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/futures_news_baidu.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/futures_news_shmet.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/futures_roll_yield.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/futures_rule.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/futures_settlement_price_sgx.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/futures_spot_stock_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/futures_stock_js.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/futures_to_spot.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/futures_warehouse_receipt.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/futures_zh_sina.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/inventory_data.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/receipt.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/requests_fun.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures/symbol_var.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures_derivative/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures_derivative/cons.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures_derivative/futures_contract_info_cffex.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures_derivative/futures_contract_info_czce.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures_derivative/futures_contract_info_dce.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures_derivative/futures_contract_info_gfex.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures_derivative/futures_contract_info_ine.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures_derivative/futures_contract_info_shfe.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures_derivative/futures_cot_sina.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures_derivative/futures_hog.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures_derivative/futures_index_sina.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/futures_derivative/futures_spot_sys.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fx/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fx/cons.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fx/currency_investing.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fx/fx_quote.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/fx/fx_quote_baidu.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/hf/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/hf/hf_sp500.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/cons.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/index_cflp.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/index_cni.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/index_cons.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/index_cx.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/index_drewry.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/index_eri.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/index_fear_greed_funddb.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/index_hog.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/index_investing.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/index_kq_fz.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/index_kq_ss.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/index_option_qvix.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/index_research_fund_sw.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/index_research_sw.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/index_spot.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/index_stock_hk.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/index_stock_us_sina.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/index_stock_zh.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/index_stock_zh_csindex.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/index_sugar.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/index_sw.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/index_yw.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/index_zh_a_scope.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/index/index_zh_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/interest_rate/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/interest_rate/interbank_rate_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/movie/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/movie/artist_yien.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/movie/jm.js +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/movie/movie_yien.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/movie/video_yien.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/news/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/news/news_baidu.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/news/news_cctv.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/news/news_stock.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/nlp/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/nlp/nlp_interface.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/option/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/option/cons.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/option/option_comm_qihuo.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/option/option_commodity.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/option/option_commodity_sina.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/option/option_czce.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/option/option_daily_stats_sse_szse.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/option/option_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/option/option_finance.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/option/option_finance_sina.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/option/option_lhb_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/option/option_premium_analysis_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/option/option_risk_analysis_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/option/option_risk_indicator_sse.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/option/option_value_analysis_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/other/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/other/other_car_cpca.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/other/other_car_gasgoo.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/pro/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/pro/client.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/pro/cons.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/pro/data_pro.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/qdii/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/qdii/qdii_jsl.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/qhkc/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/qhkc/qhkc_api.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/qhkc_web/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/qhkc_web/qhkc_fund.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/qhkc_web/qhkc_index.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/qhkc_web/qhkc_tool.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/rate/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/rate/repo_rate.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/reits/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/reits/reits_basic.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/request.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/sport/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/sport/sport_olympic.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/spot/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/spot/spot_hog_soozhu.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/spot/spot_price_qh.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/spot/spot_sge.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/cons.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_allotment_cninfo.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_ask_bid_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_board_concept_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_board_industry_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_cg_equity_mortgage.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_cg_guarantee.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_cg_lawsuit.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_dividend_cninfo.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_dzjy_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_fund_hold.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_gsrl_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_hk_famous.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_hk_fhpx_ths.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_hk_hot_rank_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_hk_sina.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_hold_control_cninfo.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_hold_control_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_hold_num_cninfo.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_hot_rank_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_hot_search_baidu.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_hot_up_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_industry.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_industry_cninfo.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_industry_pe_cninfo.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_industry_sw.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_info.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_info_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_intraday_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_intraday_sina.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_ipo_summary_cninfo.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_new_cninfo.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_news_cx.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_profile_cninfo.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_rank_forecast.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_repurchase_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_share_changes_cninfo.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_share_hold.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_stop.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_summary.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_us_famous.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_us_js.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_us_pink.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_us_sina.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_weibo_nlp.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_xq.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_zh_a_sina.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_zh_a_special.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_zh_a_tick_tx.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_zh_ah_tx.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_zh_b_sina.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_zh_kcb_report.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock/stock_zh_kcb_sina.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/cons.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_a_below_net_asset_statistics.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_a_high_low.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_a_indicator.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_a_pe_and_pb.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_account_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_all_pb.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_analyst_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_board_industry_ths.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_buffett_index_lg.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_classify_sina.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_comment_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_concept_futu.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_congestion_lg.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_cyq_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_disclosure_cninfo.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_dxsyl_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_ebs_lg.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_esg_sina.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_fhps_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_fhps_ths.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_fund_flow.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_gddh_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_gdfx_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_gdhs.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_gdzjc_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_gpzy_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_gxl_lg.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_hist_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_hist_tx.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_hk_valuation_baidu.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_hot_xq.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_hsgt_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_hsgt_exchange_rate.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_hsgt_min_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_info.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_inner_trade_xq.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_irm_cninfo.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_jgdy_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_lh_yybpm.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_lhb_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_lhb_sina.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_margin_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_margin_sse.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_margin_szse.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_market_legu.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_pankou_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_qsjy_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_report_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_research_report_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_sns_sseinfo.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_sy_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_technology_ths.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_tfp_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_three_report_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_ttm_lyr.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_wencai.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_yjbb_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_yjyg_cninfo.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_yjyg_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_yzxdr_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_zdhtmx_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_zf_pg.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_zh_valuation_baidu.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_zh_vote_baidu.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/stock_ztb_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_feature/ths.js +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_fundamental/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_fundamental/stock_finance.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_fundamental/stock_finance_hk.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_fundamental/stock_finance_ths.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_fundamental/stock_hold.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_fundamental/stock_ipo_declare.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_fundamental/stock_kcb_detail_sse.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_fundamental/stock_kcb_sse.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_fundamental/stock_mda_ym.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_fundamental/stock_notice.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_fundamental/stock_profit_forecast_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_fundamental/stock_profit_forecast_hk_etnet.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_fundamental/stock_profit_forecast_ths.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_fundamental/stock_recommend.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_fundamental/stock_register_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_fundamental/stock_restricted_em.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_fundamental/stock_zygc.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/stock_fundamental/stock_zyjs_ths.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/tool/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/tool/trade_date_hist.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/utils/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/utils/cons.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/utils/context.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/utils/demjson.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/utils/func.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/utils/token_process.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare/utils/tqdm.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare.egg-info/SOURCES.txt +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare.egg-info/dependency_links.txt +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare.egg-info/requires.txt +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/akshare.egg-info/top_level.txt +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/pyproject.toml +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/setup.cfg +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/setup.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/tests/__init__.py +0 -0
- {akshare-1.15.21 → akshare-1.15.23}/tests/test_func.py +0 -0
|
@@ -2920,20 +2920,22 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
|
|
|
2920
2920
|
1.15.8 fix: fix fund_individual_basic_info_xq interface
|
|
2921
2921
|
1.15.9 fix: fix index_analysis_weekly_sw interface
|
|
2922
2922
|
1.15.10 add: add volatility_yz_rv indicator
|
|
2923
|
-
1.15.11 fix: fix stock_individual_spot_xq
|
|
2924
|
-
1.15.12 fix: fix stock_shareholder_change_ths
|
|
2925
|
-
1.15.13 fix: fix stock_inner_trade_xq
|
|
2926
|
-
1.15.14 fix: fix macro_bank_usa_interest_rate
|
|
2927
|
-
1.15.15 add: add macro_bank_china_interest_rate
|
|
2928
|
-
1.15.16 fix: fix macro_bank_usa_interest_rate
|
|
2929
|
-
1.15.17 fix: fix news_trade_notify_dividend_baidu
|
|
2930
|
-
1.15.18 fix: fix stock_share_hold_change_sse
|
|
2931
|
-
1.15.19 fix: fix stock_share_hold_change_szse
|
|
2932
|
-
1.15.20 fix: fix rv_from_stock_zh_a_hist_min_em
|
|
2933
|
-
1.15.21 fix: fix get_futures_daily
|
|
2934
|
-
|
|
2935
|
-
|
|
2936
|
-
|
|
2923
|
+
1.15.11 fix: fix stock_individual_spot_xq interface
|
|
2924
|
+
1.15.12 fix: fix stock_shareholder_change_ths interface
|
|
2925
|
+
1.15.13 fix: fix stock_inner_trade_xq interface
|
|
2926
|
+
1.15.14 fix: fix macro_bank_usa_interest_rate interface
|
|
2927
|
+
1.15.15 add: add macro_bank_china_interest_rate interface
|
|
2928
|
+
1.15.16 fix: fix macro_bank_usa_interest_rate interface
|
|
2929
|
+
1.15.17 fix: fix news_trade_notify_dividend_baidu interface
|
|
2930
|
+
1.15.18 fix: fix stock_share_hold_change_sse interface
|
|
2931
|
+
1.15.19 fix: fix stock_share_hold_change_szse interface
|
|
2932
|
+
1.15.20 fix: fix rv_from_stock_zh_a_hist_min_em interface
|
|
2933
|
+
1.15.21 fix: fix get_futures_daily interface
|
|
2934
|
+
1.15.22 fix: fix air_quality_hebei interface
|
|
2935
|
+
1.15.23 fix: fix stock_sector_fund_flow_summary interface
|
|
2936
|
+
"""
|
|
2937
|
+
|
|
2938
|
+
__version__ = "1.15.23"
|
|
2937
2939
|
__author__ = "AKFamily"
|
|
2938
2940
|
|
|
2939
2941
|
import sys
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
# -*- coding:utf-8 -*-
|
|
3
|
+
"""
|
|
4
|
+
Date: 2024/4/25 17:20
|
|
5
|
+
Desc: 河北省空气质量预报信息发布系统
|
|
6
|
+
https://110.249.223.67/publish
|
|
7
|
+
每日 17 时发布
|
|
8
|
+
等级划分
|
|
9
|
+
1. 空气污染指数为0-50,空气质量级别为一级,空气质量状况属于优。此时,空气质量令人满意,基本无空气污染,各类人群可正常活动。
|
|
10
|
+
2. 空气污染指数为51-100,空气质量级别为二级,空气质量状况属于良。此时空气质量可接受,但某些污染物可能对极少数异常敏感人群健康有较弱影响,建议极少数异常敏感人群应减少户外活动。
|
|
11
|
+
3. 空气污染指数为101-150,空气质量级别为三级,空气质量状况属于轻度污染。此时,易感人群症状有轻度加剧,健康人群出现刺激症状。建议儿童、老年人及心脏病、呼吸系统疾病患者应减少长时间、高强度的户外锻炼。
|
|
12
|
+
4. 空气污染指数为151-200,空气质量级别为四级,空气质量状况属于中度污染。此时,进一步加剧易感人群症状,可能对健康人群心脏、呼吸系统有影响,建议疾病患者避免长时间、高强度的户外锻练,一般人群适量减少户外运动。
|
|
13
|
+
5. 空气污染指数为201-300,空气质量级别为五级,空气质量状况属于重度污染。此时,心脏病和肺病患者症状显著加剧,运动耐受力降低,健康人群普遍出现症状,建议儿童、老年人和心脏病、肺病患者应停留在室内,停止户外运动,一般人群减少户外运动。
|
|
14
|
+
6. 空气污染指数大于300,空气质量级别为六级,空气质量状况属于严重污染。此时,健康人群运动耐受力降低,有明显强烈症状,提前出现某些疾病,建议儿童、老年人和病人应当留在室内,避免体力消耗,一般人群应避免户外活动。
|
|
15
|
+
发布单位:河北省环境应急与重污染天气预警中心 技术支持:中国科学院大气物理研究所 中科三清科技有限公司
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
import pandas as pd
|
|
19
|
+
import requests
|
|
20
|
+
from bs4 import BeautifulSoup
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def air_quality_hebei() -> pd.DataFrame:
|
|
24
|
+
"""
|
|
25
|
+
河北省空气质量预报信息发布系统-空气质量预报, 未来 6 天
|
|
26
|
+
http://218.11.10.130:8080/#/application/home
|
|
27
|
+
:return: city = "", 返回所有地区的数据; city="唐山市", 返回唐山市的数据
|
|
28
|
+
:rtype: pandas.DataFrame
|
|
29
|
+
"""
|
|
30
|
+
url = "http://218.11.10.130:8080/api/hour/130000.xml"
|
|
31
|
+
r = requests.get(url)
|
|
32
|
+
soup = BeautifulSoup(r.content, features="xml")
|
|
33
|
+
data = []
|
|
34
|
+
cities = soup.find_all("City")
|
|
35
|
+
for city in cities:
|
|
36
|
+
pointers = city.find_all("Pointer")
|
|
37
|
+
for pointer in pointers:
|
|
38
|
+
row = {
|
|
39
|
+
"City": city.Name.text if city.Name else None,
|
|
40
|
+
"Region": pointer.Region.text if pointer.Region else None,
|
|
41
|
+
"Station": pointer.Name.text if pointer.Name else None,
|
|
42
|
+
"DateTime": pointer.DataTime.text if pointer.DataTime else None,
|
|
43
|
+
"AQI": pointer.AQI.text if pointer.AQI else None,
|
|
44
|
+
"Level": pointer.Level.text if pointer.Level else None,
|
|
45
|
+
"MaxPoll": pointer.MaxPoll.text if pointer.MaxPoll else None,
|
|
46
|
+
"Longitude": pointer.CLng.text if pointer.CLng else None,
|
|
47
|
+
"Latitude": pointer.CLat.text if pointer.CLat else None,
|
|
48
|
+
}
|
|
49
|
+
polls = pointer.find_all("Poll")
|
|
50
|
+
for poll in polls:
|
|
51
|
+
poll_name = poll.Name.text if poll.Name else None
|
|
52
|
+
poll_value = poll.Value.text if poll.Value else None
|
|
53
|
+
row[f"{poll_name}_Value"] = poll_value
|
|
54
|
+
row[f"{poll_name}_IAQI"] = poll.IAQI.text if poll.IAQI else None
|
|
55
|
+
data.append(row)
|
|
56
|
+
|
|
57
|
+
df = pd.DataFrame(data)
|
|
58
|
+
numeric_columns = ["AQI", "Longitude", "Latitude"] + [
|
|
59
|
+
col for col in df.columns if col.endswith("_Value") or col.endswith("_IAQI")
|
|
60
|
+
]
|
|
61
|
+
for col in numeric_columns:
|
|
62
|
+
df[col] = pd.to_numeric(df[col], errors="coerce")
|
|
63
|
+
|
|
64
|
+
column_names = {
|
|
65
|
+
"City": "城市",
|
|
66
|
+
"Region": "区域",
|
|
67
|
+
"Station": "监测点",
|
|
68
|
+
"DateTime": "时间",
|
|
69
|
+
"Level": "空气质量等级",
|
|
70
|
+
"MaxPoll": "首要污染物",
|
|
71
|
+
"Longitude": "经度",
|
|
72
|
+
"Latitude": "纬度",
|
|
73
|
+
"SO2_Value": "二氧化硫_浓度",
|
|
74
|
+
"SO2_IAQI": "二氧化硫_IAQI",
|
|
75
|
+
"CO_Value": "一氧化碳_浓度",
|
|
76
|
+
"CO_IAQI": "一氧化碳_IAQI",
|
|
77
|
+
"NO2_Value": "二氧化氮_浓度",
|
|
78
|
+
"NO2_IAQI": "二氧化氮_IAQI",
|
|
79
|
+
"O3-1H_Value": "臭氧1小时_浓度",
|
|
80
|
+
"O3-1H_IAQI": "臭氧1小时_IAQI",
|
|
81
|
+
"O3-8H_Value": "臭氧8小时_浓度",
|
|
82
|
+
"O3-8H_IAQI": "臭氧8小时_IAQI",
|
|
83
|
+
"PM2.5_Value": "PM2.5_浓度",
|
|
84
|
+
"PM2.5_IAQI": "PM2.5_IAQI",
|
|
85
|
+
"PM10_Value": "PM10_浓度",
|
|
86
|
+
"PM10_IAQI": "PM10_IAQI",
|
|
87
|
+
}
|
|
88
|
+
df = df.rename(columns=column_names)
|
|
89
|
+
basic_columns = [
|
|
90
|
+
"城市",
|
|
91
|
+
"区域",
|
|
92
|
+
"监测点",
|
|
93
|
+
"时间",
|
|
94
|
+
"AQI",
|
|
95
|
+
"空气质量等级",
|
|
96
|
+
"首要污染物",
|
|
97
|
+
"经度",
|
|
98
|
+
"纬度",
|
|
99
|
+
]
|
|
100
|
+
pollutant_columns = [col for col in df.columns if col not in basic_columns]
|
|
101
|
+
df = df[basic_columns + sorted(pollutant_columns)]
|
|
102
|
+
return df
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
if __name__ == "__main__":
|
|
106
|
+
air_quality_hebei_df = air_quality_hebei()
|
|
107
|
+
print(air_quality_hebei_df)
|
|
@@ -353,7 +353,7 @@ def stock_market_fund_flow() -> pd.DataFrame:
|
|
|
353
353
|
}
|
|
354
354
|
r = requests.get(url, params=params, headers=headers)
|
|
355
355
|
text_data = r.text
|
|
356
|
-
json_data = json.loads(text_data[text_data.find("{"): -2])
|
|
356
|
+
json_data = json.loads(text_data[text_data.find("{") : -2])
|
|
357
357
|
content_list = json_data["data"]["klines"]
|
|
358
358
|
temp_df = pd.DataFrame([item.split(",") for item in content_list])
|
|
359
359
|
temp_df.columns = [
|
|
@@ -484,7 +484,7 @@ def stock_sector_fund_flow_rank(
|
|
|
484
484
|
}
|
|
485
485
|
r = requests.get(url, params=params, headers=headers)
|
|
486
486
|
text_data = r.text
|
|
487
|
-
json_data = json.loads(text_data[text_data.find("{"): -2])
|
|
487
|
+
json_data = json.loads(text_data[text_data.find("{") : -2])
|
|
488
488
|
temp_df = pd.DataFrame(json_data["data"]["diff"])
|
|
489
489
|
if indicator == "今日":
|
|
490
490
|
temp_df.columns = [
|
|
@@ -675,7 +675,7 @@ def stock_sector_fund_flow_summary(
|
|
|
675
675
|
params = {
|
|
676
676
|
"fid": "f62",
|
|
677
677
|
"po": "1",
|
|
678
|
-
"pz": "
|
|
678
|
+
"pz": "500",
|
|
679
679
|
"pn": "1",
|
|
680
680
|
"np": "1",
|
|
681
681
|
"fltt": "2",
|
|
@@ -764,7 +764,7 @@ def stock_sector_fund_flow_summary(
|
|
|
764
764
|
params = {
|
|
765
765
|
"fid": "f164",
|
|
766
766
|
"po": "1",
|
|
767
|
-
"pz": "
|
|
767
|
+
"pz": "500",
|
|
768
768
|
"pn": "1",
|
|
769
769
|
"np": "1",
|
|
770
770
|
"fltt": "2",
|
|
@@ -853,7 +853,7 @@ def stock_sector_fund_flow_summary(
|
|
|
853
853
|
params = {
|
|
854
854
|
"fid": "f174",
|
|
855
855
|
"po": "1",
|
|
856
|
-
"pz": "
|
|
856
|
+
"pz": "500",
|
|
857
857
|
"pn": "1",
|
|
858
858
|
"np": "1",
|
|
859
859
|
"fltt": "2",
|
|
@@ -1296,7 +1296,7 @@ if __name__ == "__main__":
|
|
|
1296
1296
|
print(stock_sector_fund_flow_rank_df)
|
|
1297
1297
|
|
|
1298
1298
|
stock_sector_fund_flow_summary_df = stock_sector_fund_flow_summary(
|
|
1299
|
-
symbol="
|
|
1299
|
+
symbol="文化传媒", indicator="今日"
|
|
1300
1300
|
)
|
|
1301
1301
|
print(stock_sector_fund_flow_summary_df)
|
|
1302
1302
|
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python
|
|
2
|
-
# -*- coding:utf-8 -*-
|
|
3
|
-
"""
|
|
4
|
-
Date: 2024/4/25 17:20
|
|
5
|
-
Desc: 河北省空气质量预报信息发布系统
|
|
6
|
-
https://110.249.223.67/publish
|
|
7
|
-
每日 17 时发布
|
|
8
|
-
等级划分
|
|
9
|
-
1. 空气污染指数为0-50,空气质量级别为一级,空气质量状况属于优。此时,空气质量令人满意,基本无空气污染,各类人群可正常活动。
|
|
10
|
-
2. 空气污染指数为51-100,空气质量级别为二级,空气质量状况属于良。此时空气质量可接受,但某些污染物可能对极少数异常敏感人群健康有较弱影响,建议极少数异常敏感人群应减少户外活动。
|
|
11
|
-
3. 空气污染指数为101-150,空气质量级别为三级,空气质量状况属于轻度污染。此时,易感人群症状有轻度加剧,健康人群出现刺激症状。建议儿童、老年人及心脏病、呼吸系统疾病患者应减少长时间、高强度的户外锻炼。
|
|
12
|
-
4. 空气污染指数为151-200,空气质量级别为四级,空气质量状况属于中度污染。此时,进一步加剧易感人群症状,可能对健康人群心脏、呼吸系统有影响,建议疾病患者避免长时间、高强度的户外锻练,一般人群适量减少户外运动。
|
|
13
|
-
5. 空气污染指数为201-300,空气质量级别为五级,空气质量状况属于重度污染。此时,心脏病和肺病患者症状显著加剧,运动耐受力降低,健康人群普遍出现症状,建议儿童、老年人和心脏病、肺病患者应停留在室内,停止户外运动,一般人群减少户外运动。
|
|
14
|
-
6. 空气污染指数大于300,空气质量级别为六级,空气质量状况属于严重污染。此时,健康人群运动耐受力降低,有明显强烈症状,提前出现某些疾病,建议儿童、老年人和病人应当留在室内,避免体力消耗,一般人群应避免户外活动。
|
|
15
|
-
发布单位:河北省环境应急与重污染天气预警中心 技术支持:中国科学院大气物理研究所 中科三清科技有限公司
|
|
16
|
-
"""
|
|
17
|
-
|
|
18
|
-
from datetime import datetime
|
|
19
|
-
|
|
20
|
-
import pandas as pd
|
|
21
|
-
import requests
|
|
22
|
-
from tqdm import tqdm
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
def air_quality_hebei(symbol: str = "唐山市") -> pd.DataFrame:
|
|
26
|
-
"""
|
|
27
|
-
河北省空气质量预报信息发布系统-空气质量预报, 未来 6 天
|
|
28
|
-
https://110.249.223.67/publish/
|
|
29
|
-
:param symbol: choice of {'石家庄市', '唐山市', '秦皇岛市', '邯郸市', '邢台市', '保定市', '张家口市', '承德市', '沧州市', '廊坊市', '衡水市', '辛集市', '定州市'}
|
|
30
|
-
:type symbol: str
|
|
31
|
-
:return: city = "", 返回所有地区的数据; city="唐山市", 返回唐山市的数据
|
|
32
|
-
:rtype: pandas.DataFrame
|
|
33
|
-
"""
|
|
34
|
-
url = (
|
|
35
|
-
"http://110.249.223.67/server/api/CityPublishInfo/GetProvinceAndCityPublishData"
|
|
36
|
-
)
|
|
37
|
-
params = {"publishDate": f"{datetime.today().strftime('%Y-%m-%d')} 16:00:00"}
|
|
38
|
-
r = requests.get(url, params=params)
|
|
39
|
-
json_data = r.json()
|
|
40
|
-
city_list = pd.DataFrame.from_dict(json_data["cityPublishDatas"], orient="columns")[
|
|
41
|
-
"CityName"
|
|
42
|
-
].tolist()
|
|
43
|
-
outer_df = pd.DataFrame()
|
|
44
|
-
for i in tqdm(range(1, 7), leave=False):
|
|
45
|
-
inner_df = pd.DataFrame(
|
|
46
|
-
[item[f"Date{i}"] for item in json_data["cityPublishDatas"]],
|
|
47
|
-
index=city_list,
|
|
48
|
-
)
|
|
49
|
-
outer_df = pd.concat([outer_df, inner_df])
|
|
50
|
-
if symbol == "":
|
|
51
|
-
temp_df = outer_df.reset_index()
|
|
52
|
-
temp_df.columns = [
|
|
53
|
-
"city",
|
|
54
|
-
"date",
|
|
55
|
-
"pollutant",
|
|
56
|
-
"minAQI",
|
|
57
|
-
"maxAQI",
|
|
58
|
-
"level",
|
|
59
|
-
]
|
|
60
|
-
temp_df["date"] = pd.to_datetime(temp_df["date"]).dt.date
|
|
61
|
-
temp_df["minaqi"] = pd.to_numeric(temp_df["minaqi"])
|
|
62
|
-
temp_df["maxaqi"] = pd.to_numeric(temp_df["maxaqi"])
|
|
63
|
-
return temp_df
|
|
64
|
-
else:
|
|
65
|
-
temp_df = outer_df.reset_index()
|
|
66
|
-
temp_df.columns = [
|
|
67
|
-
"city",
|
|
68
|
-
"date",
|
|
69
|
-
"pollutant",
|
|
70
|
-
"minaqi",
|
|
71
|
-
"maxaqi",
|
|
72
|
-
"level",
|
|
73
|
-
]
|
|
74
|
-
temp_df["date"] = pd.to_datetime(temp_df["date"]).dt.date
|
|
75
|
-
temp_df["minaqi"] = pd.to_numeric(temp_df["minaqi"])
|
|
76
|
-
temp_df["maxaqi"] = pd.to_numeric(temp_df["maxaqi"])
|
|
77
|
-
temp_df = temp_df[temp_df["city"] == symbol]
|
|
78
|
-
temp_df.reset_index(inplace=True, drop=True)
|
|
79
|
-
return temp_df
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
if __name__ == "__main__":
|
|
83
|
-
air_quality_hebei_df = air_quality_hebei(symbol="定州市")
|
|
84
|
-
print(air_quality_hebei_df)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|