akshare 1.14.48__tar.gz → 1.14.50__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.14.48 → akshare-1.14.50}/PKG-INFO +1 -1
- {akshare-1.14.48 → akshare-1.14.50}/akshare/__init__.py +4 -7
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fortune/fortune_500.py +15 -48
- {akshare-1.14.48 → akshare-1.14.50}/akshare/other/other_car_cpca.py +20 -20
- {akshare-1.14.48 → akshare-1.14.50}/akshare/spot/spot_hog_soozhu.py +27 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare.egg-info/PKG-INFO +1 -1
- {akshare-1.14.48 → akshare-1.14.50}/LICENSE +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/README.md +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/air/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/air/air_hebei.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/air/air_zhenqi.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/air/cons.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/air/crypto.js +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/air/outcrypto.js +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/air/sunrise_tad.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/article/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/article/cons.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/article/epu_index.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/article/ff_factor.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/article/fred_md.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/article/risk_rv.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/bank/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/bank/bank_cbirc_2020.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/bank/cons.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/bond/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/bond/bond_cb_sina.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/bond/bond_cb_ths.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/bond/bond_cbond.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/bond/bond_china.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/bond/bond_china_money.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/bond/bond_convert.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/bond/bond_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/bond/bond_futures.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/bond/bond_info_cm.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/bond/bond_investing.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/bond/bond_issue_cninfo.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/bond/bond_nafmii.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/bond/bond_summary.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/bond/bond_zh_cov.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/bond/bond_zh_sina.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/bond/cons.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/cost/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/cost/cost_living.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/crypto/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/crypto/crypto_bitcoin_cme.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/crypto/crypto_hist_investing.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/crypto/crypto_hold.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/currency/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/currency/currency.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/currency/currency_china_bank_sina.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/currency/currency_safe.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/data/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/data/cninfo.js +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/data/crypto_info.zip +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/data/ths.js +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/datasets.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/economic/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/economic/cons.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/economic/macro_australia.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/economic/macro_bank.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/economic/macro_canada.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/economic/macro_china.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/economic/macro_china_hk.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/economic/macro_china_nbs.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/economic/macro_constitute.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/economic/macro_euro.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/economic/macro_finance_ths.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/economic/macro_germany.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/economic/macro_info_ws.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/economic/macro_japan.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/economic/macro_other.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/economic/macro_swiss.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/economic/macro_uk.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/economic/macro_usa.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/economic/marco_cnbs.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/energy/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/energy/energy_carbon.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/energy/energy_oil_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/event/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/event/cons.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/event/migration.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/file_fold/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/file_fold/calendar.json +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fortune/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fortune/fortune_bloomberg.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fortune/fortune_forbes_500.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fortune/fortune_hurun.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fortune/fortune_xincaifu_500.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fund/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fund/fund_amac.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fund/fund_announcement.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fund/fund_aum_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fund/fund_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fund/fund_etf_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fund/fund_etf_sina.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fund/fund_etf_ths.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fund/fund_fhsp_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fund/fund_init_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fund/fund_lof_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fund/fund_manager.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fund/fund_portfolio_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fund/fund_position_lg.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fund/fund_rank_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fund/fund_rating.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fund/fund_report_cninfo.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fund/fund_scale_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fund/fund_scale_sina.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fund/fund_xq.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/cons.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/cot.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/futures_basis.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/futures_comex_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/futures_comm_ctp.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/futures_comm_qihuo.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/futures_contract_detail.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/futures_daily_bar.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/futures_foreign.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/futures_hf_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/futures_hq_sina.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/futures_index_ccidx.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/futures_international.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/futures_inventory_99.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/futures_inventory_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/futures_news_baidu.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/futures_news_shmet.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/futures_roll_yield.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/futures_rule.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/futures_settlement_price_sgx.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/futures_spot_stock_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/futures_stock_js.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/futures_to_spot.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/futures_warehouse_receipt.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/futures_zh_sina.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/inventory_data.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/receipt.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/requests_fun.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures/symbol_var.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures_derivative/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures_derivative/cons.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures_derivative/futures_contract_info_cffex.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures_derivative/futures_contract_info_czce.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures_derivative/futures_contract_info_dce.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures_derivative/futures_contract_info_gfex.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures_derivative/futures_contract_info_ine.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures_derivative/futures_contract_info_shfe.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures_derivative/futures_cot_sina.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures_derivative/futures_hog.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures_derivative/futures_index_price_nh.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures_derivative/futures_index_return_nh.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures_derivative/futures_index_sina.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures_derivative/futures_index_volatility_nh.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures_derivative/futures_other_index_nh.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/futures_derivative/futures_spot_sys.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fx/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fx/cons.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fx/currency_investing.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fx/fx_quote.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/fx/fx_quote_baidu.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/hf/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/hf/hf_sp500.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/cons.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/index_cflp.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/index_cni.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/index_cons.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/index_cx.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/index_drewry.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/index_eri.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/index_fear_greed_funddb.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/index_hog.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/index_investing.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/index_kq_fz.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/index_kq_ss.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/index_option_qvix.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/index_research_fund_sw.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/index_research_sw.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/index_spot.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/index_stock_hk.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/index_stock_us_sina.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/index_stock_zh.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/index_stock_zh_csindex.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/index_sugar.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/index_sw.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/index_yw.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/index_zh_a_scope.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/index/index_zh_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/interest_rate/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/interest_rate/interbank_rate_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/movie/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/movie/artist_yien.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/movie/jm.js +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/movie/movie_yien.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/movie/video_yien.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/news/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/news/news_baidu.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/news/news_cctv.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/news/news_stock.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/nlp/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/nlp/nlp_interface.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/option/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/option/cons.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/option/option_comm_qihuo.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/option/option_commodity.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/option/option_commodity_sina.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/option/option_czce.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/option/option_daily_stats_sse_szse.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/option/option_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/option/option_finance.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/option/option_finance_sina.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/option/option_lhb_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/option/option_premium_analysis_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/option/option_risk_analysis_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/option/option_risk_indicator_sse.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/option/option_value_analysis_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/other/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/other/other_car_gasgoo.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/pro/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/pro/client.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/pro/cons.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/pro/data_pro.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/qhkc/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/qhkc/qhkc_api.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/qhkc_web/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/qhkc_web/qhkc_fund.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/qhkc_web/qhkc_index.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/qhkc_web/qhkc_tool.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/rate/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/rate/repo_rate.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/reits/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/reits/reits_basic.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/sport/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/sport/sport_olympic.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/spot/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/spot/spot_price_qh.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/spot/spot_sge.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/cons.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_allotment_cninfo.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_ask_bid_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_board_concept_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_board_industry_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_cg_equity_mortgage.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_cg_guarantee.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_cg_lawsuit.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_dividend_cninfo.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_dzjy_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_fund_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_fund_hold.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_gsrl_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_hk_famous.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_hk_fhpx_ths.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_hk_hot_rank_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_hk_sina.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_hold_control_cninfo.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_hold_control_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_hold_num_cninfo.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_hot_rank_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_hot_search_baidu.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_hot_up_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_industry.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_industry_cninfo.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_industry_pe_cninfo.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_industry_sw.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_info.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_info_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_intraday_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_intraday_sina.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_ipo_summary_cninfo.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_new_cninfo.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_profile_cninfo.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_rank_forecast.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_repurchase_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_share_changes_cninfo.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_share_hold.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_stop.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_summary.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_us_famous.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_us_js.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_us_pink.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_us_sina.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_weibo_nlp.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_xq.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_zh_a_sina.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_zh_a_special.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_zh_a_tick_tx.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_zh_ah_tx.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_zh_b_sina.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_zh_kcb_report.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock/stock_zh_kcb_sina.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/cons.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_a_below_net_asset_statistics.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_a_high_low.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_a_indicator.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_a_pe_and_pb.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_account_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_all_pb.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_analyst_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_board_industry_ths.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_buffett_index_lg.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_classify_sina.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_comment_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_concept_futu.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_congestion_lg.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_cyq_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_disclosure_cninfo.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_dxsyl_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_ebs_lg.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_esg_sina.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_fhps_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_fhps_ths.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_fund_flow.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_gddh_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_gdfx_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_gdhs.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_gdzjc_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_gpzy_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_gxl_lg.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_hist_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_hist_tx.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_hk_valuation_baidu.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_hot_xq.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_hsgt_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_hsgt_exchange_rate.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_hsgt_min_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_info.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_inner_trade_xq.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_irm_cninfo.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_jgdy_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_lh_yybpm.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_lhb_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_lhb_sina.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_margin_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_margin_sse.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_margin_szse.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_market_legu.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_pankou_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_qsjy_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_report_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_research_report_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_sns_sseinfo.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_sy_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_technology_ths.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_tfp_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_three_report_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_ttm_lyr.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_wencai.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_yjbb_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_yjyg_cninfo.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_yjyg_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_yzxdr_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_zdhtmx_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_zf_pg.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_zh_valuation_baidu.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_zh_vote_baidu.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/stock_ztb_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_feature/ths.js +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_fundamental/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_fundamental/stock_finance.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_fundamental/stock_finance_hk.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_fundamental/stock_finance_ths.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_fundamental/stock_hold.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_fundamental/stock_ipo_declare.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_fundamental/stock_kcb_detail_sse.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_fundamental/stock_kcb_sse.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_fundamental/stock_mda_ym.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_fundamental/stock_notice.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_fundamental/stock_profit_forecast_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_fundamental/stock_profit_forecast_hk_etnet.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_fundamental/stock_profit_forecast_ths.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_fundamental/stock_recommend.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_fundamental/stock_register_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_fundamental/stock_restricted_em.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_fundamental/stock_zygc.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/stock_fundamental/stock_zyjs_ths.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/tool/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/tool/trade_date_hist.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/utils/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/utils/cons.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/utils/demjson.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/utils/func.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/utils/token_process.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare/utils/tqdm.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare.egg-info/SOURCES.txt +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare.egg-info/dependency_links.txt +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare.egg-info/requires.txt +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/akshare.egg-info/top_level.txt +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/pyproject.toml +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/setup.cfg +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/setup.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/tests/__init__.py +0 -0
- {akshare-1.14.48 → akshare-1.14.50}/tests/test_func.py +0 -0
|
@@ -2859,9 +2859,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
|
|
|
2859
2859
|
1.14.46 add: add spot_hog_soozhu interface
|
|
2860
2860
|
1.14.47 fix: fix spot_hog_soozhu interface
|
|
2861
2861
|
1.14.48 add: add spot_hog_year_trend_soozhu interface
|
|
2862
|
+
1.14.49 fix: fix fortune_rank interface
|
|
2863
|
+
1.14.50 add: add spot_hog_lean_price_soozhu interface
|
|
2862
2864
|
"""
|
|
2863
2865
|
|
|
2864
|
-
__version__ = "1.14.
|
|
2866
|
+
__version__ = "1.14.50"
|
|
2865
2867
|
__author__ = "AKFamily"
|
|
2866
2868
|
|
|
2867
2869
|
import sys
|
|
@@ -2886,7 +2888,7 @@ del sys
|
|
|
2886
2888
|
"""
|
|
2887
2889
|
搜猪-生猪大数据-各省均价实时排行榜
|
|
2888
2890
|
"""
|
|
2889
|
-
from akshare.spot.spot_hog_soozhu import spot_hog_soozhu, spot_hog_year_trend_soozhu
|
|
2891
|
+
from akshare.spot.spot_hog_soozhu import spot_hog_soozhu, spot_hog_year_trend_soozhu, spot_hog_lean_price_soozhu
|
|
2890
2892
|
|
|
2891
2893
|
"""
|
|
2892
2894
|
知名港股
|
|
@@ -4884,11 +4886,6 @@ from akshare.fund.fund_amac import (
|
|
|
4884
4886
|
amac_person_bond_org_list,
|
|
4885
4887
|
)
|
|
4886
4888
|
|
|
4887
|
-
"""
|
|
4888
|
-
世界五百强公司排名接口
|
|
4889
|
-
"""
|
|
4890
|
-
from akshare.fortune.fortune_500 import fortune_rank, fortune_rank_eng
|
|
4891
|
-
|
|
4892
4889
|
"""
|
|
4893
4890
|
申万行业一级
|
|
4894
4891
|
"""
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
2
|
# -*- coding:utf-8 -*-
|
|
3
3
|
"""
|
|
4
|
-
Date: 2024/
|
|
4
|
+
Date: 2024/8/4 17:22
|
|
5
5
|
Desc: 历年世界 500 强榜单数据
|
|
6
6
|
https://www.fortunechina.com/fortune500/index.htm
|
|
7
7
|
特殊情况说明:
|
|
8
8
|
2010年由于网页端没有公布公司所属的国家, 故 2010 年数据没有国家这列
|
|
9
9
|
"""
|
|
10
|
-
|
|
10
|
+
|
|
11
11
|
from functools import lru_cache
|
|
12
12
|
from io import StringIO
|
|
13
13
|
|
|
@@ -28,12 +28,12 @@ def _fortune_rank_year_url_map() -> dict:
|
|
|
28
28
|
url = "https://www.fortunechina.com/fortune500/index.htm"
|
|
29
29
|
r = requests.get(url)
|
|
30
30
|
soup = BeautifulSoup(r.text, features="lxml")
|
|
31
|
-
url_2023 =
|
|
32
|
-
node_list = soup.find_all(name=
|
|
33
|
-
url_list = [item.find("a")[
|
|
31
|
+
url_2023 = "https://www.fortunechina.com/fortune500/c/2023-08/02/content_436874.htm"
|
|
32
|
+
node_list = soup.find_all(name="div", attrs={"class": "swiper-slide"})
|
|
33
|
+
url_list = [item.find("a")["href"] for item in node_list]
|
|
34
34
|
year_list = [item.find("a").text for item in node_list]
|
|
35
35
|
year_url_map = dict(zip(year_list, url_list))
|
|
36
|
-
year_url_map[
|
|
36
|
+
year_url_map["2023"] = url_2023
|
|
37
37
|
return year_url_map
|
|
38
38
|
|
|
39
39
|
|
|
@@ -49,17 +49,17 @@ def fortune_rank(year: str = "2015") -> pd.DataFrame:
|
|
|
49
49
|
r = requests.get(url)
|
|
50
50
|
r.encoding = "utf-8"
|
|
51
51
|
if int(year) < 2007:
|
|
52
|
-
df = pd.read_html(StringIO(r.text))[0].iloc[1:-1,
|
|
52
|
+
df = pd.read_html(StringIO(r.text))[0].iloc[1:-1,]
|
|
53
53
|
df.columns = pd.read_html(StringIO(r.text))[0].iloc[0, :].tolist()
|
|
54
54
|
return df
|
|
55
55
|
elif 2006 < int(year) < 2010:
|
|
56
|
-
df = pd.read_html(StringIO(r.text))[0].iloc[1:,
|
|
56
|
+
df = pd.read_html(StringIO(r.text))[0].iloc[1:,]
|
|
57
57
|
df.columns = pd.read_html(StringIO(r.text))[0].iloc[0, :].tolist()
|
|
58
58
|
for page in tqdm(range(2, 11), leave=False):
|
|
59
59
|
# page =2
|
|
60
60
|
r = requests.get(url.rsplit(".", maxsplit=1)[0] + "_" + str(page) + ".htm")
|
|
61
61
|
r.encoding = "utf-8"
|
|
62
|
-
temp_df = pd.read_html(StringIO(r.text))[0].iloc[1:,
|
|
62
|
+
temp_df = pd.read_html(StringIO(r.text))[0].iloc[1:,]
|
|
63
63
|
temp_df.columns = pd.read_html(StringIO(r.text))[0].iloc[0, :].tolist()
|
|
64
64
|
df = pd.concat(objs=[df, temp_df], ignore_index=True)
|
|
65
65
|
return df
|
|
@@ -68,53 +68,20 @@ def fortune_rank(year: str = "2015") -> pd.DataFrame:
|
|
|
68
68
|
return df
|
|
69
69
|
|
|
70
70
|
|
|
71
|
-
|
|
72
|
-
""
|
|
73
|
-
注意你的网速
|
|
74
|
-
https://fortune.com/ranking/global500/
|
|
75
|
-
https://fortune.com/global500/2012/search/
|
|
76
|
-
:param year: "1995"
|
|
77
|
-
:type year: str
|
|
78
|
-
:return: 历年排名
|
|
79
|
-
:rtype: pandas.DataFrame
|
|
80
|
-
"""
|
|
81
|
-
url = f"https://fortune.com/ranking/global500/{year}/search/"
|
|
82
|
-
res = requests.get(url)
|
|
83
|
-
soup = BeautifulSoup(res.text, "lxml")
|
|
84
|
-
code = json.loads(soup.find("script", attrs={"type": "application/ld+json"}).string)["identifier"]
|
|
85
|
-
url = f"https://content.fortune.com/wp-json/irving/v1/data/franchise-search-results"
|
|
86
|
-
params = {
|
|
87
|
-
"list_id": code,
|
|
88
|
-
"token": "Zm9ydHVuZTpCcHNyZmtNZCN5SndjWkkhNHFqMndEOTM=",
|
|
89
|
-
}
|
|
90
|
-
res = requests.get(url, params=params)
|
|
91
|
-
big_df = pd.DataFrame()
|
|
92
|
-
for i in range(len(res.json()[1]["items"][0]['fields'])):
|
|
93
|
-
temp_df = pd.DataFrame([item["fields"][i] for item in res.json()[1]["items"]])
|
|
94
|
-
big_df[temp_df["key"].values[0]] = temp_df["value"]
|
|
95
|
-
big_df["rank"] = big_df["rank"].astype(int)
|
|
96
|
-
big_df.sort_values(by="rank", inplace=True)
|
|
97
|
-
big_df.reset_index(drop=True, inplace=True)
|
|
98
|
-
return big_df
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
if __name__ == '__main__':
|
|
102
|
-
fortune_rank_eng_df = fortune_rank_eng(year="2022")
|
|
103
|
-
print(fortune_rank_eng_df)
|
|
104
|
-
|
|
105
|
-
fortune_rank_df = fortune_rank(year='2023') # 2010 不一样
|
|
71
|
+
if __name__ == "__main__":
|
|
72
|
+
fortune_rank_df = fortune_rank(year="2023") # 2010 不一样
|
|
106
73
|
print(fortune_rank_df)
|
|
107
74
|
|
|
108
|
-
fortune_rank_df = fortune_rank(year=
|
|
75
|
+
fortune_rank_df = fortune_rank(year="2022") # 2010 不一样
|
|
109
76
|
print(fortune_rank_df)
|
|
110
77
|
|
|
111
|
-
fortune_rank_df = fortune_rank(year=
|
|
78
|
+
fortune_rank_df = fortune_rank(year="2008") # 2010 不一样
|
|
112
79
|
print(fortune_rank_df)
|
|
113
80
|
|
|
114
|
-
fortune_rank_df = fortune_rank(year=
|
|
81
|
+
fortune_rank_df = fortune_rank(year="2008") # 2010 不一样
|
|
115
82
|
print(fortune_rank_df)
|
|
116
83
|
|
|
117
|
-
fortune_rank_df = fortune_rank(year=
|
|
84
|
+
fortune_rank_df = fortune_rank(year="2009") # 2010 不一样
|
|
118
85
|
print(fortune_rank_df)
|
|
119
86
|
|
|
120
87
|
for item in range(1996, 2008):
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
2
|
# -*- coding:utf-8 -*-
|
|
3
3
|
"""
|
|
4
|
-
Date: 2024/3
|
|
4
|
+
Date: 2024/8/3 20:00
|
|
5
5
|
Desc: 乘联会
|
|
6
|
-
http://data.
|
|
6
|
+
http://data.cpcadata.com/FuelMarket
|
|
7
7
|
"""
|
|
8
8
|
|
|
9
9
|
import pandas as pd
|
|
@@ -15,7 +15,7 @@ def car_market_total_cpca(
|
|
|
15
15
|
) -> pd.DataFrame:
|
|
16
16
|
"""
|
|
17
17
|
乘联会-统计数据-总体市场
|
|
18
|
-
http://data.
|
|
18
|
+
http://data.cpcadata.com/TotalMarket
|
|
19
19
|
:param symbol: choice of {"狭义乘用车", "广义乘用车"}
|
|
20
20
|
:type symbol: str
|
|
21
21
|
:param indicator: choice of {"产量", "批发", "零售", "出口"}
|
|
@@ -23,7 +23,7 @@ def car_market_total_cpca(
|
|
|
23
23
|
:return: 统计数据-总体市场
|
|
24
24
|
:rtype: pandas.DataFrame
|
|
25
25
|
"""
|
|
26
|
-
url = "http://data.
|
|
26
|
+
url = "http://data.cpcadata.com/api/chartlist"
|
|
27
27
|
params = {"charttype": "1"}
|
|
28
28
|
r = requests.get(url, params=params)
|
|
29
29
|
data_json = r.json()
|
|
@@ -163,13 +163,13 @@ def car_market_total_cpca(
|
|
|
163
163
|
def __car_market_man_rank_cpca_pifa(symbol: str = "狭义乘用车-累计") -> pd.DataFrame:
|
|
164
164
|
"""
|
|
165
165
|
乘联会-统计数据-厂商排名
|
|
166
|
-
http://data.
|
|
166
|
+
http://data.cpcadata.com/ManRank
|
|
167
167
|
:param symbol: choice of {"狭义乘用车-单月", "狭义乘用车-累计", "广义乘用车-单月", "广义乘用车-累计"}
|
|
168
168
|
:type symbol: str
|
|
169
169
|
:return: 统计数据-厂商排名
|
|
170
170
|
:rtype: pandas.DataFrame
|
|
171
171
|
"""
|
|
172
|
-
url = "http://data.
|
|
172
|
+
url = "http://data.cpcadata.com/api/chartlist"
|
|
173
173
|
params = {"charttype": "2"}
|
|
174
174
|
r = requests.get(url, params=params)
|
|
175
175
|
data_json = r.json()
|
|
@@ -278,13 +278,13 @@ def __car_market_man_rank_cpca_lingshou(
|
|
|
278
278
|
) -> pd.DataFrame:
|
|
279
279
|
"""
|
|
280
280
|
乘联会-统计数据-厂商排名
|
|
281
|
-
http://data.
|
|
281
|
+
http://data.cpcadata.com/ManRank
|
|
282
282
|
:param symbol: choice of {"狭义乘用车-单月", "狭义乘用车-累计", "广义乘用车-单月", "广义乘用车-累计"}
|
|
283
283
|
:type symbol: str
|
|
284
284
|
:return: 统计数据-厂商排名
|
|
285
285
|
:rtype: pandas.DataFrame
|
|
286
286
|
"""
|
|
287
|
-
url = "http://data.
|
|
287
|
+
url = "http://data.cpcadata.com/api/chartlist_2"
|
|
288
288
|
params = {"charttype": "2"}
|
|
289
289
|
r = requests.get(url, params=params)
|
|
290
290
|
data_json = r.json()
|
|
@@ -393,7 +393,7 @@ def car_market_man_rank_cpca(
|
|
|
393
393
|
) -> pd.DataFrame:
|
|
394
394
|
"""
|
|
395
395
|
乘联会-统计数据-厂商排名
|
|
396
|
-
http://data.
|
|
396
|
+
http://data.cpcadata.com/ManRank
|
|
397
397
|
:param symbol: choice of {"狭义乘用车-单月", "狭义乘用车-累计", "广义乘用车-单月", "广义乘用车-累计"}
|
|
398
398
|
:type symbol: str
|
|
399
399
|
:param indicator: choice of {"批发", "零售"}
|
|
@@ -412,13 +412,13 @@ def car_market_man_rank_cpca(
|
|
|
412
412
|
def __car_market_cate_cpca_pifa(symbol: str = "MPV") -> pd.DataFrame:
|
|
413
413
|
"""
|
|
414
414
|
乘联会-统计数据-车型大类
|
|
415
|
-
http://data.
|
|
415
|
+
http://data.cpcadata.com/CategoryMarket
|
|
416
416
|
:param symbol: choice of {"轿车", "MPV", "SUV", "占比"}
|
|
417
417
|
:type symbol: str
|
|
418
418
|
:return: 统计数据-车型大类
|
|
419
419
|
:rtype: pandas.DataFrame
|
|
420
420
|
"""
|
|
421
|
-
url = "http://data.
|
|
421
|
+
url = "http://data.cpcadata.com/api/chartlist"
|
|
422
422
|
params = {"charttype": "3"}
|
|
423
423
|
r = requests.get(url, params=params)
|
|
424
424
|
data_json = r.json()
|
|
@@ -530,13 +530,13 @@ def __car_market_cate_cpca_lingshou(
|
|
|
530
530
|
) -> pd.DataFrame:
|
|
531
531
|
"""
|
|
532
532
|
乘联会-统计数据-车型大类
|
|
533
|
-
http://data.
|
|
533
|
+
http://data.cpcadata.com/CategoryMarket
|
|
534
534
|
:param symbol: choice of {"轿车", "MPV", "SUV", "占比"}
|
|
535
535
|
:type symbol: str
|
|
536
536
|
:return: 统计数据-车型大类
|
|
537
537
|
:rtype: pandas.DataFrame
|
|
538
538
|
"""
|
|
539
|
-
url = "http://data.
|
|
539
|
+
url = "http://data.cpcadata.com/api/chartlist"
|
|
540
540
|
params = {"charttype": "3"}
|
|
541
541
|
r = requests.get(url, params=params)
|
|
542
542
|
data_json = r.json()
|
|
@@ -646,7 +646,7 @@ def __car_market_cate_cpca_lingshou(
|
|
|
646
646
|
def car_market_cate_cpca(symbol: str = "轿车", indicator: str = "批发") -> pd.DataFrame:
|
|
647
647
|
"""
|
|
648
648
|
乘联会-统计数据-车型大类
|
|
649
|
-
http://data.
|
|
649
|
+
http://data.cpcadata.com/CategoryMarket
|
|
650
650
|
:param symbol: choice of {"轿车", "MPV", "SUV", "占比"}
|
|
651
651
|
:type symbol: str
|
|
652
652
|
:param indicator: choice of {"批发", "零售"}
|
|
@@ -665,11 +665,11 @@ def car_market_cate_cpca(symbol: str = "轿车", indicator: str = "批发") -> p
|
|
|
665
665
|
def car_market_country_cpca() -> pd.DataFrame:
|
|
666
666
|
"""
|
|
667
667
|
乘联会-统计数据-国别细分市场
|
|
668
|
-
http://data.
|
|
668
|
+
http://data.cpcadata.com/CountryMarket
|
|
669
669
|
:return: 统计数据-车型大类
|
|
670
670
|
:rtype: pandas.DataFrame
|
|
671
671
|
"""
|
|
672
|
-
url = "http://data.
|
|
672
|
+
url = "http://data.cpcadata.com/api/chartlist"
|
|
673
673
|
params = {"charttype": "4"}
|
|
674
674
|
r = requests.get(url=url, params=params)
|
|
675
675
|
data_json = r.json()
|
|
@@ -685,13 +685,13 @@ def car_market_country_cpca() -> pd.DataFrame:
|
|
|
685
685
|
def car_market_segment_cpca(symbol: str = "轿车") -> pd.DataFrame:
|
|
686
686
|
"""
|
|
687
687
|
乘联会-统计数据-级别细分市场
|
|
688
|
-
http://data.
|
|
688
|
+
http://data.cpcadata.com/SegmentMarket
|
|
689
689
|
:param symbol: choice of {"轿车", "MPV", "SUV"}
|
|
690
690
|
:type symbol: str
|
|
691
691
|
:return: 统计数据-车型大类
|
|
692
692
|
:rtype: pandas.DataFrame
|
|
693
693
|
"""
|
|
694
|
-
url = "http://data.
|
|
694
|
+
url = "http://data.cpcadata.com/api/chartlist"
|
|
695
695
|
params = {"charttype": "5"}
|
|
696
696
|
r = requests.get(url=url, params=params)
|
|
697
697
|
data_json = r.json()
|
|
@@ -724,11 +724,11 @@ def car_market_fuel_cpca(symbol: str = "整体市场") -> pd.DataFrame:
|
|
|
724
724
|
乘联会-统计数据-新能源细分市场
|
|
725
725
|
:param symbol: choice of {"整体市场", "销量占比-PHEV-BEV", "销量占比-ICE-NEV"}
|
|
726
726
|
:type symbol: str
|
|
727
|
-
https://data.
|
|
727
|
+
https://data.cpcadata.com/FuelMarket
|
|
728
728
|
:return: 新能源细分市场
|
|
729
729
|
:rtype: pandas.DataFrame
|
|
730
730
|
"""
|
|
731
|
-
url = "http://data.
|
|
731
|
+
url = "http://data.cpcadata.com/api/chartlist"
|
|
732
732
|
params = {"charttype": "6"}
|
|
733
733
|
r = requests.get(url, params=params)
|
|
734
734
|
data_json = r.json()
|
|
@@ -62,9 +62,36 @@ def spot_hog_year_trend_soozhu() -> pd.DataFrame:
|
|
|
62
62
|
return temp_df
|
|
63
63
|
|
|
64
64
|
|
|
65
|
+
def spot_hog_lean_price_soozhu() -> pd.DataFrame:
|
|
66
|
+
"""
|
|
67
|
+
搜猪-生猪大数据-全国瘦肉型肉猪
|
|
68
|
+
https://www.soozhu.com/price/data/center/
|
|
69
|
+
:return: 全国瘦肉型肉猪
|
|
70
|
+
:rtype: pd.DataFrame
|
|
71
|
+
"""
|
|
72
|
+
session = requests.session()
|
|
73
|
+
url = "https://www.soozhu.com/price/data/center/"
|
|
74
|
+
r = session.get(url)
|
|
75
|
+
soup = BeautifulSoup(r.text, features="lxml")
|
|
76
|
+
token = soup.find(name="input", attrs={"name": "csrfmiddlewaretoken"})["value"]
|
|
77
|
+
url = "https://www.soozhu.com/price/data/center/"
|
|
78
|
+
payload = {"act": "pricetrend", "indid": "", "csrfmiddlewaretoken": token}
|
|
79
|
+
r = session.post(url, data=payload)
|
|
80
|
+
data_json = r.json()
|
|
81
|
+
temp_df = pd.DataFrame(data_json["datalist"])
|
|
82
|
+
temp_df.columns = ["日期", "价格"]
|
|
83
|
+
temp_df["日期"] = pd.to_datetime(temp_df["日期"], errors="coerce").dt.date
|
|
84
|
+
temp_df["价格"] = pd.to_numeric(temp_df["价格"], errors="coerce")
|
|
85
|
+
temp_df.sort_values(by=["日期"], ignore_index=True, inplace=True)
|
|
86
|
+
return temp_df
|
|
87
|
+
|
|
88
|
+
|
|
65
89
|
if __name__ == "__main__":
|
|
66
90
|
spot_hog_soozhu_df = spot_hog_soozhu()
|
|
67
91
|
print(spot_hog_soozhu_df)
|
|
68
92
|
|
|
69
93
|
spot_hog_year_trend_soozhu_df = spot_hog_year_trend_soozhu()
|
|
70
94
|
print(spot_hog_year_trend_soozhu_df)
|
|
95
|
+
|
|
96
|
+
spot_hog_lean_price_soozhu_df = spot_hog_lean_price_soozhu()
|
|
97
|
+
print(spot_hog_lean_price_soozhu_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
|