mns-common 1.3.2.8__tar.gz → 1.3.3.0__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 mns-common might be problematic. Click here for more details.

Files changed (145) hide show
  1. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/PKG-INFO +1 -1
  2. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/em/east_money_debt_api.py +2 -0
  3. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/em/east_money_etf_api.py +2 -0
  4. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/em/east_money_stock_api.py +2 -0
  5. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/em/east_money_stock_hk_api.py +98 -0
  6. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/em/east_money_stock_us_api.py +2 -0
  7. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common.egg-info/PKG-INFO +1 -1
  8. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/setup.py +1 -1
  9. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/README.md +0 -0
  10. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/__init__.py +0 -0
  11. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/__init__.py +0 -0
  12. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/akshare/__init__.py +0 -0
  13. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/akshare/k_line_api.py +0 -0
  14. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/akshare/stock_bid_ask_api.py +0 -0
  15. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/akshare/stock_dt_pool.py +0 -0
  16. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/akshare/stock_zb_pool.py +0 -0
  17. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/akshare/stock_zt_pool_api.py +0 -0
  18. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/akshare/yjyg_sync_api.py +0 -0
  19. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/em/__init__.py +0 -0
  20. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/em/east_money_stock_gdfx_free_top_10_api.py +0 -0
  21. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/em/east_money_stock_v2_api.py +0 -0
  22. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/em/em_concept_index_api.py +0 -0
  23. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/hk/__init__.py +0 -0
  24. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/hk/ths_hk_company_info_api.py +0 -0
  25. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/k_line/__init__.py +0 -0
  26. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/k_line/stock_k_line_data_api.py +0 -0
  27. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/k_line/stock_minute_data_api.py +0 -0
  28. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/kpl/__init__.py +0 -0
  29. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/kpl/common/__init__.py +0 -0
  30. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/kpl/common/kpl_common_api.py +0 -0
  31. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/kpl/common/kpl_common_field_constant.py +0 -0
  32. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/kpl/concept/__init__.py +0 -0
  33. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/kpl/concept/kpl_concept_api.py +0 -0
  34. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/kpl/constant/__init__.py +0 -0
  35. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/kpl/constant/kpl_constant.py +0 -0
  36. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/kpl/industry/__init__.py +0 -0
  37. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/kpl/industry/kpl_industry_api.py +0 -0
  38. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/kpl/selection/__init__.py +0 -0
  39. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/kpl/selection/kpl_selection_plate_api.py +0 -0
  40. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/kpl/symbol/__init__.py +0 -0
  41. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/kpl/symbol/kpl_real_time_quotes_api.py +0 -0
  42. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/kpl/symbol/kpl_symbol_common_field_constant.py +0 -0
  43. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/kpl/symbol/symbol_his_quotes_api.py +0 -0
  44. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/msg/__init__.py +0 -0
  45. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/msg/push_msg_api.py +0 -0
  46. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/qmt/__init__.py +0 -0
  47. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/qmt/qmt_minunte_tick_data.py +0 -0
  48. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/ths/__init__.py +0 -0
  49. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/ths/big_deal/__init__.py +0 -0
  50. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/ths/big_deal/ths_big_deal_api.py +0 -0
  51. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/ths/company/__init__.py +0 -0
  52. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/ths/company/ths_company_announce_api.py +0 -0
  53. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/ths/company/ths_company_info_api.py +0 -0
  54. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/ths/concept/__init__.py +0 -0
  55. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/ths/concept/app/__init__.py +0 -0
  56. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/ths/concept/app/ths_concept_detail_app.py +0 -0
  57. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/ths/concept/app/ths_concept_index_app.py +0 -0
  58. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/ths/concept/web/__init__.py +0 -0
  59. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/ths/concept/web/ths_common_js_api.py +0 -0
  60. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/ths/concept/web/ths_company_info_web.py +0 -0
  61. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/ths/concept/web/ths_concept_detail_web.py +0 -0
  62. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/ths/concept/web/ths_concept_index_web.py +0 -0
  63. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/ths/self_choose/__init__.py +0 -0
  64. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/ths/self_choose/ths_self_choose_api.py +0 -0
  65. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/ths/wen_cai/__init__.py +0 -0
  66. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/ths/wen_cai/ths_wen_cai_api.py +0 -0
  67. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/ths/zt/__init__.py +0 -0
  68. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/ths/zt/ths_stock_zt_pool_api.py +0 -0
  69. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/ths/zt/ths_stock_zt_pool_v2_api.py +0 -0
  70. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/us/__init__.py +0 -0
  71. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/api/us/ths_us_company_info_api.py +0 -0
  72. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/__init__.py +0 -0
  73. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/cache/__init__.py +0 -0
  74. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/cache/cache_service.py +0 -0
  75. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/classify/__init__.py +0 -0
  76. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/classify/symbol_classify_api.py +0 -0
  77. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/classify/symbol_classify_param.py +0 -0
  78. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/common_service_fun_api.py +0 -0
  79. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/company/__init__.py +0 -0
  80. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/company/company_common_service_api.py +0 -0
  81. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/company/company_common_service_new_api.py +0 -0
  82. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/concept/__init__.py +0 -0
  83. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/concept/kpl_concept_common_service_api.py +0 -0
  84. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/concept/ths_concept_common_service_api.py +0 -0
  85. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/cookie/__init__.py +0 -0
  86. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/cookie/cookie_info_service.py +0 -0
  87. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/data/__init__.py +0 -0
  88. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/data/data_init_api.py +0 -0
  89. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/deal/__init__.py +0 -0
  90. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/deal/deal_service_api.py +0 -0
  91. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/deal/terminal_enum.py +0 -0
  92. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/hk/__init__.py +0 -0
  93. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/hk/company_hk_service_api.py +0 -0
  94. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/industry/__init__.py +0 -0
  95. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/industry/ths_industry_index_api.py +0 -0
  96. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/k_line/__init__.py +0 -0
  97. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/k_line/clean/__init__.py +0 -0
  98. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/k_line/clean/k_line_param.py +0 -0
  99. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/k_line/clean/sh_small_normal_zt_k_line_check_api.py +0 -0
  100. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/k_line/common/__init__.py +0 -0
  101. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/k_line/common/k_line_common_service_api.py +0 -0
  102. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/k_line/patterns/__init__.py +0 -0
  103. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/k_line/patterns/k_line_patterns_service_api.py +0 -0
  104. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/k_line/patterns/pattern_Enum.py +0 -0
  105. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/price/__init__.py +0 -0
  106. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/price/trade_price_service_api.py +0 -0
  107. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/qmt/__init__.py +0 -0
  108. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/qmt/qmt_buy_service.py +0 -0
  109. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/real_time/__init__.py +0 -0
  110. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/real_time/real_time_common_service_api.py +0 -0
  111. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/redis_msg/__init__.py +0 -0
  112. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/redis_msg/redis_msg_publish_service.py +0 -0
  113. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/self_choose/__init__.py +0 -0
  114. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/self_choose/black_list_service_api.py +0 -0
  115. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/self_choose/self_choose_service_api.py +0 -0
  116. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/tfp/__init__.py +0 -0
  117. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/tfp/stock_tfp_api.py +0 -0
  118. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/trade_date/__init__.py +0 -0
  119. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/trade_date/trade_date_common_service_api.py +0 -0
  120. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/zt/__init__.py +0 -0
  121. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/component/zt/zt_common_service_api.py +0 -0
  122. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/constant/__init__.py +0 -0
  123. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/constant/black_list_classify_enum.py +0 -0
  124. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/constant/db_name_constant.py +0 -0
  125. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/constant/east_money_stock_api.py +0 -0
  126. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/constant/price_enum.py +0 -0
  127. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/constant/redis_msg_constant.py +0 -0
  128. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/constant/self_choose_constant.py +0 -0
  129. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/db/MongodbUtil.py +0 -0
  130. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/db/MongodbUtilLocal.py +0 -0
  131. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/db/__init__.py +0 -0
  132. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/db/v2/MongodbUtilV2.py +0 -0
  133. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/db/v2/__init__.py +0 -0
  134. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/utils/__init__.py +0 -0
  135. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/utils/async_fun.py +0 -0
  136. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/utils/cmd_util.py +0 -0
  137. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/utils/data_frame_util.py +0 -0
  138. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/utils/date_handle_util.py +0 -0
  139. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/utils/db_util.py +0 -0
  140. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/utils/file_util.py +0 -0
  141. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common/utils/ip_util.py +0 -0
  142. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common.egg-info/SOURCES.txt +0 -0
  143. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common.egg-info/dependency_links.txt +0 -0
  144. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/mns_common.egg-info/top_level.txt +0 -0
  145. {mns_common-1.3.2.8 → mns_common-1.3.3.0}/setup.cfg +0 -0
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns_common
3
- Version: 1.3.2.8
3
+ Version: 1.3.3.0
@@ -109,10 +109,12 @@ def get_debt_real_time_quotes():
109
109
  # 数据接口正常返回5600以上的数量
110
110
  if page_one_df.shape[0] > min_number:
111
111
  page_one_df = rename_real_time_quotes_df(page_one_df)
112
+ page_one_df.drop_duplicates('symbol', keep='last', inplace=True)
112
113
  return page_one_df
113
114
  else:
114
115
  page_df = all_debt_ticker_data(fields)
115
116
  page_df = rename_real_time_quotes_df(page_df)
117
+ page_df.drop_duplicates('symbol', keep='last', inplace=True)
116
118
  return page_df
117
119
 
118
120
 
@@ -347,10 +347,12 @@ def get_etf_real_time_quotes():
347
347
  # 数据接口正常返回5600以上的数量
348
348
  if page_one_df.shape[0] > min_number:
349
349
  page_one_df = rename_etf(page_one_df)
350
+ page_one_df.drop_duplicates('symbol', keep='last', inplace=True)
350
351
  return page_one_df
351
352
  else:
352
353
  page_df = thread_pool_executor()
353
354
  page_df = rename_etf(page_df)
355
+ page_df.drop_duplicates('symbol', keep='last', inplace=True)
354
356
  return page_df
355
357
 
356
358
 
@@ -99,10 +99,12 @@ def get_real_time_quotes_all_stocks():
99
99
  # 数据接口正常返回5600以上的数量
100
100
  if page_one_df.shape[0] > min_number:
101
101
  page_one_df = rename_real_time_quotes_df(page_one_df)
102
+ page_one_df.drop_duplicates('symbol', keep='last', inplace=True)
102
103
  return page_one_df
103
104
  else:
104
105
  page_df = all_stock_ticker_data_new(fields, fs)
105
106
  page_df = rename_real_time_quotes_df(page_df)
107
+ page_df.drop_duplicates('symbol', keep='last', inplace=True)
106
108
  return page_df
107
109
 
108
110
 
@@ -202,13 +202,111 @@ def get_hk_real_time_quotes(cookie):
202
202
  page_one_df = hk_real_time_quotes_page_df(cookie, 1)
203
203
  # 数据接口正常返回5600以上的数量
204
204
  if page_one_df.shape[0] > min_number:
205
+ page_one_df.drop_duplicates('symbol', keep='last', inplace=True)
205
206
  return page_one_df
206
207
  else:
207
208
  page_df = thread_pool_executor(cookie)
209
+ page_df.drop_duplicates('symbol', keep='last', inplace=True)
208
210
  return page_df
209
211
 
210
212
 
213
+ def stock_hk_ggt_components_em() -> pd.DataFrame:
214
+ pn = 1
215
+
216
+ """
217
+ 东方财富网-行情中心-港股市场-港股通成份股
218
+ https://quote.eastmoney.com/center/gridlist.html#hk_components
219
+ :return: 港股通成份股
220
+ :rtype: pandas.DataFrame
221
+ """
222
+ result_df = pd.DataFrame()
223
+ while True:
224
+ url = "https://33.push2.eastmoney.com/api/qt/clist/get"
225
+ params = {
226
+ "pn": str(pn),
227
+ "pz": "5000",
228
+ "po": "1",
229
+ "np": "2",
230
+ "ut": "bd1d9ddb04089700cf9c27f6f7426281",
231
+ "fltt": "2",
232
+ "fid": "f3",
233
+ "fs": "b:DLMK0146,b:DLMK0144",
234
+ "fields": "f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f23,f24,"
235
+ "f25,f26,f22,f33,f11,f62,f128,f136,f115,f152",
236
+ "_": "1639974456250",
237
+ }
238
+ try:
239
+ r = requests.get(url, params=params)
240
+ data_json = r.json()
241
+ temp_df = pd.DataFrame(data_json["data"]["diff"]).T
242
+ temp_df.reset_index(inplace=True)
243
+ temp_df["index"] = temp_df.index + 1
244
+
245
+ temp_df.columns = [
246
+ "序号",
247
+ "-",
248
+ "最新价",
249
+ "涨跌幅",
250
+ "涨跌额",
251
+ "成交量",
252
+ "成交额",
253
+ "-",
254
+ "-",
255
+ "-",
256
+ "-",
257
+ "-",
258
+ "代码",
259
+ "-",
260
+ "名称",
261
+ "最高",
262
+ "最低",
263
+ "今开",
264
+ "昨收",
265
+ "-",
266
+ "-",
267
+ "-",
268
+ "-",
269
+ "-",
270
+ "-",
271
+ "-",
272
+ "-",
273
+ "-",
274
+ "-",
275
+ "-",
276
+ "-",
277
+ "-",
278
+ "-",
279
+ "-",
280
+ "-",
281
+ ]
282
+ temp_df = temp_df[
283
+ [
284
+ "序号",
285
+ "代码",
286
+ "名称",
287
+ "最新价",
288
+ "涨跌额",
289
+ "涨跌幅",
290
+ "今开",
291
+ "最高",
292
+ "最低",
293
+ "昨收",
294
+ "成交量",
295
+ "成交额",
296
+ ]
297
+ ]
298
+ result_df = pd.concat([result_df, temp_df])
299
+ if temp_df.shape[0] < page_number:
300
+ break
301
+ pn = pn + 1
302
+ except Exception as e:
303
+ logger.error("获取港股通列表:{}", e)
304
+ return result_df
305
+
306
+
211
307
  if __name__ == '__main__':
308
+
309
+ result_df = stock_hk_ggt_components_em()
212
310
  cookie_test = 'qgqp_b_id=1e0d79428176ed54bef8434efdc0e8c3; mtp=1; ct=QVRY_s8Tiag1WfK2tSW2n03qpsX-PD8aH_rIjKVooawX8K33UVnpIofK088lD1lguWlE_OEIpQwn3PJWFPhHvSvyvYr4Zka3l4vxtZfH1Uikjtyy9z1H4Swo0rQzMKXncVzBXiOo5TjE-Dy9fcoG3ZF7UVdQ35jp_cFwzOlpK5Y; ut=FobyicMgeV51lVMr4ZJXvn-72bp0oeSOvtzifFY_U7kBFtR6og4Usd-VtBM5XBBvHq0lvd9xXkvpIqWro9EDKmv6cbKOQGyawUSMcKVP57isZCaM7lWQ6jWXajvTfvV4mIR-W_MZNK8VY0lL9W4qNMniJ6PBn_gkJsSAJCadmsyI9cxmjx--gR4m54pdF_nie_y4iWHys83cmWR2R7Bt1KKqB25OmkfCQTJJqIf7QsqangVGMUHwMC39Z9QhrfCFHKVNrlqS503O6b9GitQnXtvUdJhCmomu; pi=4253366368931142%3Bp4253366368931142%3B%E8%82%A1%E5%8F%8B9x56I87727%3BYNigLZRW%2FzMdGgVDOJbwReDWnTPHl51dB0gQLiwaCf1XY98mlJYx6eJbsoYr5Nie%2BX1L%2BzaMsec99KkX%2BT29Ds1arfST7sIBXxjUQ3dp11IPUnXy64PaBFRTHzMRWnCFJvvhc%2FAI41rXSGXolC8YMxI%2BvyPS%2BuErwgOVjC5vvsIiKeO7TLyKkhqqQJPX%2F7RWC5Sf3QLh%3Bdwjn4Xho10%2FKjqOgTWs%2FJF4%2FkdKzeuBwM8sz9aLvJovejAkCAyGMyGYA6AE67Xk2Ki7x8zdfBifF2DG%2Fvf2%2BXAYN8ZVISSEWTIXh32Z5MxEacK4JBTkqyiD93e1vFBOFQ82BqaiVmntUq0V6FrTUHGeh1gG5Sg%3D%3D; uidal=4253366368931142%e8%82%a1%e5%8f%8b9x56I87727; sid=170711377; vtpst=|; quote_lt=1; websitepoptg_api_time=1715777390466; emshistory=%5B%22%E8%BD%AC%E5%80%BA%E6%A0%87%22%2C%22%E8%BD%AC%E5%80%BA%E6%A0%87%E7%9A%84%22%5D; st_si=00364513876913; st_asi=delete; HAList=ty-116-00700-%u817E%u8BAF%u63A7%u80A1%2Cty-1-688695-%u4E2D%u521B%u80A1%u4EFD%2Cty-1-600849-%u4E0A%u836F%u8F6C%u6362%2Cty-1-603361-%u6D59%u6C5F%u56FD%u7965%2Cty-1-603555-ST%u8D35%u4EBA%2Cty-0-000627-%u5929%u8302%u96C6%u56E2%2Cty-0-002470-%u91D1%u6B63%u5927%2Cty-0-832876-%u6167%u4E3A%u667A%u80FD%2Cty-0-300059-%u4E1C%u65B9%u8D22%u5BCC%2Cty-107-CWB-%u53EF%u8F6C%u503AETF-SPDR; st_pvi=26930719093675; st_sp=2024-04-28%2017%3A27%3A05; st_inirUrl=https%3A%2F%2Fcn.bing.com%2F; st_sn=23; st_psi=20240517111108288-113200301321-2767127768'
213
311
  while True:
214
312
  df_hk_df = get_hk_real_time_quotes(cookie_test)
@@ -91,10 +91,12 @@ def get_us_stock_real_time_quotes(cookie):
91
91
  # 数据接口正常返回5600以上的数量
92
92
  if page_one_df.shape[0] > min_number:
93
93
  page_one_df = rename_us_stock(page_one_df)
94
+ page_one_df.drop_duplicates('symbol', keep='last', inplace=True)
94
95
  return page_one_df
95
96
  else:
96
97
  page_df = thread_pool_executor(cookie)
97
98
  page_df = rename_us_stock(page_df)
99
+ page_df.drop_duplicates('symbol', keep='last', inplace=True)
98
100
  return page_df
99
101
 
100
102
 
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns_common
3
- Version: 1.3.2.8
3
+ Version: 1.3.3.0
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='mns_common',
5
- version='1.3.2.8',
5
+ version='1.3.3.0',
6
6
  # packages=["mns_common", "mns_common.api",
7
7
  # "mns_common.api.akshare",
8
8
  # "mns_common.api.em",
File without changes
File without changes