mns-common 1.3.5.4__tar.gz → 1.3.5.6__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 (150) hide show
  1. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/PKG-INFO +1 -1
  2. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/em/east_money_stock_us_api.py +2 -0
  3. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/em/east_money_stock_v2_api.py +6 -1
  4. mns_common-1.3.5.6/mns_common/api/xueqiu/xue_qiu_k_line_api.py +88 -0
  5. mns_common-1.3.5.6/mns_common/component/task/real_time_data_sync_check.py +97 -0
  6. mns_common-1.3.5.6/mns_common/component/tfp/__init__.py +7 -0
  7. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/constant/db_name_constant.py +2 -0
  8. mns_common-1.3.5.6/mns_common/db/v2/__init__.py +7 -0
  9. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common.egg-info/PKG-INFO +1 -1
  10. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common.egg-info/SOURCES.txt +4 -0
  11. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/setup.py +1 -1
  12. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/README.md +0 -0
  13. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/__init__.py +0 -0
  14. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/__init__.py +0 -0
  15. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/akshare/__init__.py +0 -0
  16. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/akshare/k_line_api.py +0 -0
  17. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/akshare/stock_bid_ask_api.py +0 -0
  18. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/akshare/stock_dt_pool.py +0 -0
  19. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/akshare/stock_zb_pool.py +0 -0
  20. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/akshare/stock_zt_pool_api.py +0 -0
  21. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/akshare/yjyg_sync_api.py +0 -0
  22. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/em/__init__.py +0 -0
  23. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/em/east_money_debt_api.py +0 -0
  24. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/em/east_money_etf_api.py +0 -0
  25. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/em/east_money_stock_api.py +0 -0
  26. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/em/east_money_stock_gdfx_free_top_10_api.py +0 -0
  27. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/em/east_money_stock_hk_api.py +0 -0
  28. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/em/em_concept_index_api.py +0 -0
  29. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/hk/__init__.py +0 -0
  30. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/hk/ths_hk_company_info_api.py +0 -0
  31. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/k_line/__init__.py +0 -0
  32. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/k_line/stock_k_line_data_api.py +0 -0
  33. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/k_line/stock_minute_data_api.py +0 -0
  34. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/kpl/__init__.py +0 -0
  35. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/kpl/common/__init__.py +0 -0
  36. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/kpl/common/kpl_common_api.py +0 -0
  37. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/kpl/common/kpl_common_field_constant.py +0 -0
  38. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/kpl/concept/__init__.py +0 -0
  39. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/kpl/concept/kpl_concept_api.py +0 -0
  40. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/kpl/constant/__init__.py +0 -0
  41. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/kpl/constant/kpl_constant.py +0 -0
  42. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/kpl/industry/__init__.py +0 -0
  43. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/kpl/industry/kpl_industry_api.py +0 -0
  44. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/kpl/selection/__init__.py +0 -0
  45. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/kpl/selection/kpl_selection_plate_api.py +0 -0
  46. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/kpl/symbol/__init__.py +0 -0
  47. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/kpl/symbol/kpl_real_time_quotes_api.py +0 -0
  48. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/kpl/symbol/kpl_symbol_common_field_constant.py +0 -0
  49. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/kpl/symbol/symbol_his_quotes_api.py +0 -0
  50. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/msg/__init__.py +0 -0
  51. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/msg/push_msg_api.py +0 -0
  52. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/qmt/__init__.py +0 -0
  53. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/qmt/qmt_minunte_tick_data.py +0 -0
  54. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/ths/__init__.py +0 -0
  55. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/ths/big_deal/__init__.py +0 -0
  56. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/ths/big_deal/ths_big_deal_api.py +0 -0
  57. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/ths/company/__init__.py +0 -0
  58. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/ths/company/ths_company_announce_api.py +0 -0
  59. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/ths/company/ths_company_info_api.py +0 -0
  60. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/ths/concept/__init__.py +0 -0
  61. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/ths/concept/app/__init__.py +0 -0
  62. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/ths/concept/app/ths_concept_detail_app.py +0 -0
  63. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/ths/concept/app/ths_concept_index_app.py +0 -0
  64. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/ths/concept/web/__init__.py +0 -0
  65. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/ths/concept/web/ths_common_js_api.py +0 -0
  66. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/ths/concept/web/ths_company_info_web.py +0 -0
  67. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/ths/concept/web/ths_concept_detail_web.py +0 -0
  68. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/ths/concept/web/ths_concept_index_web.py +0 -0
  69. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/ths/self_choose/__init__.py +0 -0
  70. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/ths/self_choose/ths_self_choose_api.py +0 -0
  71. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/ths/wen_cai/__init__.py +0 -0
  72. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/ths/wen_cai/ths_wen_cai_api.py +0 -0
  73. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/ths/zt/__init__.py +0 -0
  74. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/ths/zt/ths_stock_zt_pool_api.py +0 -0
  75. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/ths/zt/ths_stock_zt_pool_v2_api.py +0 -0
  76. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/us/__init__.py +0 -0
  77. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/api/us/ths_us_company_info_api.py +0 -0
  78. {mns_common-1.3.5.4/mns_common/component/classify → mns_common-1.3.5.6/mns_common/api/xueqiu}/__init__.py +0 -0
  79. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/__init__.py +0 -0
  80. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/cache/__init__.py +0 -0
  81. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/cache/cache_service.py +0 -0
  82. {mns_common-1.3.5.4/mns_common/component/cookie → mns_common-1.3.5.6/mns_common/component/classify}/__init__.py +0 -0
  83. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/classify/symbol_classify_api.py +0 -0
  84. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/classify/symbol_classify_param.py +0 -0
  85. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/common_service_fun_api.py +0 -0
  86. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/company/__init__.py +0 -0
  87. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/company/company_common_service_api.py +0 -0
  88. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/company/company_common_service_new_api.py +0 -0
  89. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/concept/__init__.py +0 -0
  90. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/concept/kpl_concept_common_service_api.py +0 -0
  91. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/concept/ths_concept_common_service_api.py +0 -0
  92. {mns_common-1.3.5.4/mns_common/component/deal → mns_common-1.3.5.6/mns_common/component/cookie}/__init__.py +0 -0
  93. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/cookie/cookie_info_service.py +0 -0
  94. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/data/__init__.py +0 -0
  95. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/data/data_init_api.py +0 -0
  96. {mns_common-1.3.5.4/mns_common/component/hk → mns_common-1.3.5.6/mns_common/component/deal}/__init__.py +0 -0
  97. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/deal/deal_service_api.py +0 -0
  98. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/deal/terminal_enum.py +0 -0
  99. {mns_common-1.3.5.4/mns_common/component/price → mns_common-1.3.5.6/mns_common/component/hk}/__init__.py +0 -0
  100. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/hk/company_hk_service_api.py +0 -0
  101. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/industry/__init__.py +0 -0
  102. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/industry/ths_industry_index_api.py +0 -0
  103. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/k_line/__init__.py +0 -0
  104. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/k_line/clean/__init__.py +0 -0
  105. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/k_line/clean/k_line_param.py +0 -0
  106. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/k_line/clean/sh_small_normal_zt_k_line_check_api.py +0 -0
  107. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/k_line/common/__init__.py +0 -0
  108. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/k_line/common/k_line_common_service_api.py +0 -0
  109. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/k_line/patterns/__init__.py +0 -0
  110. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/k_line/patterns/k_line_patterns_service_api.py +0 -0
  111. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/k_line/patterns/pattern_Enum.py +0 -0
  112. {mns_common-1.3.5.4/mns_common/component/qmt → mns_common-1.3.5.6/mns_common/component/price}/__init__.py +0 -0
  113. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/price/trade_price_service_api.py +0 -0
  114. {mns_common-1.3.5.4/mns_common/component/redis_msg → mns_common-1.3.5.6/mns_common/component/qmt}/__init__.py +0 -0
  115. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/qmt/qmt_buy_service.py +0 -0
  116. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/real_time/__init__.py +0 -0
  117. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/real_time/real_time_common_service_api.py +0 -0
  118. {mns_common-1.3.5.4/mns_common/component/self_choose → mns_common-1.3.5.6/mns_common/component/redis_msg}/__init__.py +0 -0
  119. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/redis_msg/redis_msg_publish_service.py +0 -0
  120. {mns_common-1.3.5.4/mns_common/component/tfp → mns_common-1.3.5.6/mns_common/component/self_choose}/__init__.py +0 -0
  121. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/self_choose/black_list_service_api.py +0 -0
  122. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/self_choose/self_choose_service_api.py +0 -0
  123. {mns_common-1.3.5.4/mns_common/db/v2 → mns_common-1.3.5.6/mns_common/component/task}/__init__.py +0 -0
  124. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/tfp/stock_tfp_api.py +0 -0
  125. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/trade_date/__init__.py +0 -0
  126. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/trade_date/trade_date_common_service_api.py +0 -0
  127. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/zt/__init__.py +0 -0
  128. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/component/zt/zt_common_service_api.py +0 -0
  129. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/constant/__init__.py +0 -0
  130. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/constant/black_list_classify_enum.py +0 -0
  131. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/constant/east_money_stock_api.py +0 -0
  132. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/constant/extra_income_db_name.py +0 -0
  133. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/constant/price_enum.py +0 -0
  134. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/constant/redis_msg_constant.py +0 -0
  135. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/constant/self_choose_constant.py +0 -0
  136. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/db/MongodbUtil.py +0 -0
  137. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/db/MongodbUtilLocal.py +0 -0
  138. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/db/__init__.py +0 -0
  139. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/db/v2/MongodbUtilV2.py +0 -0
  140. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/utils/__init__.py +0 -0
  141. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/utils/async_fun.py +0 -0
  142. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/utils/cmd_util.py +0 -0
  143. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/utils/data_frame_util.py +0 -0
  144. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/utils/date_handle_util.py +0 -0
  145. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/utils/db_util.py +0 -0
  146. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/utils/file_util.py +0 -0
  147. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common/utils/ip_util.py +0 -0
  148. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common.egg-info/dependency_links.txt +0 -0
  149. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/mns_common.egg-info/top_level.txt +0 -0
  150. {mns_common-1.3.5.4 → mns_common-1.3.5.6}/setup.cfg +0 -0
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns_common
3
- Version: 1.3.5.4
3
+ Version: 1.3.5.6
@@ -220,6 +220,8 @@ if __name__ == '__main__':
220
220
  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'
221
221
  while True:
222
222
  us_df = get_us_stock_real_time_quotes(cookie_test)
223
+ us_df = us_df.loc[us_df['flow_mv'] != 0]
224
+ us_df = us_df.sort_values(by=['amount'], ascending=False)
223
225
  us_stock_df = us_df[[
224
226
  "symbol",
225
227
  "name",
@@ -161,8 +161,13 @@ def rename_real_time_quotes_df(temp_df):
161
161
  "f103": "concept",
162
162
  "f352": "average_price",
163
163
  "f191": "hk_stock_code",
164
- "f193": "hk_stock_name"
164
+ "f193": "hk_stock_name",
165
+ "f24": "sixty_day_chg",
166
+ "f25": "now_year_chg",
165
167
  })
168
+ temp_df.loc[temp_df['sixty_day_chg'] == '-', 'total_share'] = 0
169
+
170
+ temp_df.loc[temp_df['now_year_chg'] == '-', 'now_year_chg'] = 0
166
171
  temp_df.loc[temp_df['total_share'] == '-', 'total_share'] = 0
167
172
  temp_df.loc[temp_df['flow_share'] == '-', 'flow_share'] = 0
168
173
  temp_df.loc[temp_df['pe_ttm'] == '-', 'pe_ttm'] = 0
@@ -0,0 +1,88 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 16
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
8
+ from loguru import logger
9
+ import requests
10
+ import pandas as pd
11
+
12
+
13
+ # year 年
14
+ # quarter 季度
15
+ # month 月度
16
+ # week 周
17
+ # day 日
18
+ def get_xue_qiu_k_line(symbol, period):
19
+ url = "https://stock.xueqiu.com/v5/stock/chart/kline.json"
20
+
21
+ params = {
22
+ "symbol": symbol,
23
+ "begin": "1742574377493",
24
+ "period": period,
25
+ "type": "before",
26
+ "count": "-120084",
27
+ "indicator": "kline,pe,pb,ps,pcf,market_capital,agt,ggt,balance"
28
+ }
29
+
30
+ headers = {
31
+ "accept": "application/json, text/plain, */*",
32
+ "accept-language": "zh-CN,zh;q=0.9",
33
+ "origin": "https://xueqiu.com",
34
+ "priority": "u=1, i",
35
+ "referer": "https://xueqiu.com/S/SZ300879?md5__1038=n4%2BxgDniDQeWqxYwq0y%2BbDyG%2BYDtODuD7q%2BqRYID",
36
+ "sec-ch-ua": '"Chromium";v="134", "Not:A-Brand";v="24", "Google Chrome";v="134"',
37
+ "sec-ch-ua-mobile": "?0",
38
+ "sec-ch-ua-platform": '"Windows"',
39
+ "sec-fetch-dest": "empty",
40
+ "sec-fetch-mode": "cors",
41
+ "sec-fetch-site": "same-site",
42
+ "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",
43
+ "cookie": "xq_a_token=cc9943aa6d41f0ae420f49b428f2f90a472b070a;"
44
+ " xqat=cc9943aa6d41f0ae420f49b428f2f90a472b070a; "
45
+ "xq_r_token=20869bd02083b2ef75d4d4b7654f827f00fdcd22;"
46
+ " xq_id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJ1aWQiOi0xLCJpc3MiOiJ1YyIsImV4cCI6MTc0NDc2NTA3MCwiY3RtIjoxNzQyNDg4OD"
47
+ "kyNDc1LCJjaWQiOiJkOWQwbjRBWnVwIn0.Ep9IIWPMwb85xYIJ_pmYTDmUmcySD4t5nv4LpYSqdLJzNzqgvzGFx6vowXm-ZtyePuppJxd2YjJDREHu7OkvZk"
48
+ "qHRGMGQOhuCDzyMQjpND2yTgyOTNkn2hNs0e5p4FihaSeRmLu8vQDU17No3LjM3y4-0caZ-8LNJnOm0Wet1uOD7h9ASf7sLRQCjGyB-Pd4D2r-213umj7c6TD"
49
+ "V5ud3rfTsUlCG7DwWMAdIZGkew5CX2WRXOz-G2Duf3d4GMRggiaLHVsP6PSTzOGUQBF1zAg5hprkxK3J_dV1SdiuaAZxJDp3FCFQ5vG0JkcOs9CLB5z-92kQ2-"
50
+ "YEhAkd3PCpGKQ; cookiesu=251742488951389; u=251742488951389; is_overseas=0; Hm_lvt_1db88642e346389874251b5a1eded6e3=1742488952; "
51
+ "Hm_lpvt_1db88642e346389874251b5a1eded6e3=1742488952; HMACCOUNT=A216813C8A2D1B76; device_id=e7bd664c2ad4091241066c3a2ddbd736; "
52
+ "ssxmod_itna=eqIxgDB7q+0=ei7qqAKG7D8D9DQqqiIqGHDyxW9P0CGDLxn4GQDUiHxttBmPvc7EkqE5gD0yG3wDA5Dnzx7YDt=SpND0mTAc3qACQIwPw+Ocyrm2tfA"
53
+ "br4MWHlPP5jokUkpQw5xB3DExGkeeu77xiirx0rD0eDPxDYDGbWD7PDoxDrF8YDjl7pOUgwoz4DKx0kDY5Dw1RADiPD7ZBDkOcwXSvmFxDzFZLaqle42Di3N+EsEzRfDi5"
54
+ "x79cwD7v3DlaPFsdD0119FgoIiya2PpBEv40OD0ILF4BfuYoA8872wprrZQ4F2G0YjEDQ0DO03e7qSh5tY7t0sOGe2GDNQKc3xeY5ldw7xDipwGg2QIhxjhrCtccU5ZUB="
55
+ "+VcwwiGxCeBGPyew=jp=lDqQ4ZAqzBqPj0=jh1Fxq7De903iYLYD; ssxmod_itna2=eqIxgDB7q+0=ei7qqAKG7D8D9DQqqiIqGHDyxW9P0CGDLxn4GQDUiHxttBmPvc7E"
56
+ "kqE5wDDcA73imLDD7Djbb5NZaEoD/zpofwEa9m=Fn7T5jOiFKWsbAb9Qi=utFFLry0Ii9=+TINLqBPqzemrFP/ehSZRDixpiEh5WeA5WXGvaHoKw+rEINZbPjOApkpEQG8cm="
57
+ "rHCN=0DUoI+HxcF6Zohnh3hUEcTYQykDVyXyfHsX9eFZAlAHxdWq/5qZ=Eh0KCAV2xA2/yKFtivK+DzQb0sajPwql5xkzLh966v0g6MzzUlc4SFYAv3YKBjP7rhhOdqmKEa"
58
+ "j6C6PKp+Pq2QEP6heBX7BU7iG=GGLA6IrDjYvHCDh1tr93XpUr9X9rPjYUvWxPI0RBwHUpC+fs6xsg07+ifjd9gU26do2K0lLwRhhPfppAKj5+gow2IN3KLQ0K1P/mY9BKKYAt"
59
+ "2Qx/34rb5evohIrUI=DKe1djnDvrDnjwcBbgK2lzA3eQVix=46cxf77D9GKug6PLBL0Fi67Htrl2K5CP9PQDHb1Yjx0ttRKjCU7hE3GIs2Y88AdxfF+Iuc2=IenBfqW52ngad82Y"
60
+ "8KvKqn5xEiODXgYCKgGxyOjl4+v9bvIm120i2pN6o6dBRZqxpvsA4S9YP2TPjS+1/4ZnVeYQ+4=UCevs5P3Qf2x6w8s=U7dD=cvG1skhxiD8Kjl32RGPC=4FDHIrQQoKGnixsWzp"
61
+ "Fb7F=PlrD/3=0F6DNx2hDnr4RDW7WGYSiPQFihqY15iS7GAr44w1+x/3wnYQ4=rN/wOitjqZ0N0FRpxlw/7PGeZADD"
62
+ }
63
+ try:
64
+ response = requests.get(
65
+ url=url,
66
+ params=params,
67
+ headers=headers
68
+ )
69
+
70
+ if response.status_code == 200:
71
+ response_data = response.json()
72
+ df = pd.DataFrame(
73
+ data=response_data['data']['item'],
74
+ columns=response_data['data']['column']
75
+ )
76
+ # 处理DataFrame列(秒级时间戳)
77
+ df['str_day'] = pd.to_datetime(df['timestamp'], unit='ms').dt.normalize()
78
+ df["str_day"] = df["str_day"].dt.strftime("%Y-%m-%d")
79
+ return df
80
+ else:
81
+ return pd.DataFrame()
82
+ except BaseException as e:
83
+ logger.error("同步股票年度数据出现异常:{},{}", symbol, e)
84
+
85
+
86
+ if __name__ == '__main__':
87
+ test_df = get_xue_qiu_k_line('SZ000001', 'year')
88
+ print(test_df)
@@ -0,0 +1,97 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 16
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
8
+
9
+ import datetime
10
+ import mns_common.utils.date_handle_util as date_util
11
+ from mns_common.db.MongodbUtil import MongodbUtil
12
+ import mns_common.constant.db_name_constant as db_name_constant
13
+ import mns_common.utils.cmd_util as cmd_util
14
+ import mns_common.utils.data_frame_util as data_frame_util
15
+ import time
16
+ from loguru import logger
17
+
18
+ mongodb_util = MongodbUtil('27017')
19
+ REAL_TIME_SCHEDULER_NAME = "realtime_quotes_now_sync"
20
+ # 实时同步 bat
21
+ REAL_TIME_TASK_NAME_PATH = 'H:\\real_time_task.bat'
22
+
23
+
24
+ # 获取同步任务pid
25
+ def get_real_time_quotes_task(all_cmd_processes):
26
+ return all_cmd_processes[
27
+ (all_cmd_processes['total_info'].str.contains(REAL_TIME_SCHEDULER_NAME, case=False, na=False))
28
+ | (all_cmd_processes['total_info'].str.contains(REAL_TIME_SCHEDULER_NAME, case=False, na=False))]
29
+
30
+
31
+ # 关闭实时行情任务
32
+ def real_time_sync_task_close():
33
+ all_cmd_processes = cmd_util.get_all_process()
34
+ if data_frame_util.is_empty(all_cmd_processes):
35
+ return False
36
+ all_cmd_processes_real_time_task = get_real_time_quotes_task(all_cmd_processes)
37
+ if data_frame_util.is_empty(all_cmd_processes_real_time_task):
38
+ return False
39
+ for match_task_one in all_cmd_processes_real_time_task.itertuples():
40
+ try:
41
+ processes_pid = match_task_one.process_pid
42
+ # 关闭当前进程
43
+ cmd_util.kill_process_by_pid(processes_pid)
44
+ except BaseException as e:
45
+ logger.error("关闭实时行情任务异常:{}", e)
46
+
47
+
48
+ # 重开定时任务同步
49
+ def real_time_sync_task_open():
50
+ all_cmd_processes = cmd_util.get_all_process()
51
+ if data_frame_util.is_empty(all_cmd_processes):
52
+ return False
53
+ all_cmd_processes_real_time_task = get_real_time_quotes_task(all_cmd_processes)
54
+ if data_frame_util.is_empty(all_cmd_processes_real_time_task):
55
+ # 重开定时任务
56
+ cmd_util.open_bat_file(REAL_TIME_TASK_NAME_PATH)
57
+ # 防止太快重开多个
58
+ time.sleep(3)
59
+
60
+
61
+ def query_data_exist(str_day):
62
+ col_name = db_name_constant.REAL_TIME_QUOTES_NOW + '_' + str_day
63
+ query = {'symbol': '000001'}
64
+ return mongodb_util.exist_data_query(col_name, query)
65
+
66
+
67
+ def exist_sync_task():
68
+ all_cmd_processes = cmd_util.get_all_process()
69
+ if data_frame_util.is_empty(all_cmd_processes):
70
+ return False
71
+ all_cmd_processes_real_time_task = get_real_time_quotes_task(all_cmd_processes)
72
+ if data_frame_util.is_empty(all_cmd_processes_real_time_task):
73
+ return False
74
+ else:
75
+ return True
76
+
77
+
78
+ def check_data_sync_task_status():
79
+ now_date = datetime.datetime.now()
80
+ str_day = now_date.strftime('%Y-%m-%d')
81
+ while True:
82
+ if bool(date_util.is_trade_time(now_date)):
83
+ if bool(1 - query_data_exist(str_day)) or bool(1 - exist_sync_task()):
84
+ real_time_sync_task_open()
85
+ time.sleep(2)
86
+ elif bool(date_util.is_no_trade_time(now_date)):
87
+ break
88
+ else:
89
+ time.sleep(5)
90
+
91
+
92
+ if __name__ == '__main__':
93
+ # check_data_sync_task_status()
94
+ d = query_data_exist('2025-03-27')
95
+ print(d)
96
+ s = exist_sync_task()
97
+ print(s)
@@ -0,0 +1,7 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 16
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
@@ -162,3 +162,5 @@ THS_INDUSTRY_LIST = 'ths_industry_list'
162
162
  # 同花顺行业股票详情
163
163
  THS_STOCK_INDUSTRY_DETAIL = 'ths_stock_industry_detail'
164
164
 
165
+ # 年k线前复权
166
+ STOCK_QFQ_YEAR = 'stock_qfq_year'
@@ -0,0 +1,7 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 16
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-common
3
- Version: 1.3.5.4
3
+ Version: 1.3.5.6
@@ -71,6 +71,8 @@ mns_common/api/ths/zt/ths_stock_zt_pool_api.py
71
71
  mns_common/api/ths/zt/ths_stock_zt_pool_v2_api.py
72
72
  mns_common/api/us/__init__.py
73
73
  mns_common/api/us/ths_us_company_info_api.py
74
+ mns_common/api/xueqiu/__init__.py
75
+ mns_common/api/xueqiu/xue_qiu_k_line_api.py
74
76
  mns_common/component/__init__.py
75
77
  mns_common/component/common_service_fun_api.py
76
78
  mns_common/component/cache/__init__.py
@@ -115,6 +117,8 @@ mns_common/component/redis_msg/redis_msg_publish_service.py
115
117
  mns_common/component/self_choose/__init__.py
116
118
  mns_common/component/self_choose/black_list_service_api.py
117
119
  mns_common/component/self_choose/self_choose_service_api.py
120
+ mns_common/component/task/__init__.py
121
+ mns_common/component/task/real_time_data_sync_check.py
118
122
  mns_common/component/tfp/__init__.py
119
123
  mns_common/component/tfp/stock_tfp_api.py
120
124
  mns_common/component/trade_date/__init__.py
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='mns_common',
5
- version='1.3.5.4',
5
+ version='1.3.5.6',
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