mns-common 1.3.0.1__tar.gz → 1.3.0.3__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 (135) hide show
  1. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/PKG-INFO +1 -1
  2. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/ths/concept/app/ths_concept_detail_app.py +1 -1
  3. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/ths/concept/app/ths_concept_index_app.py +1 -0
  4. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/ths/concept/web/ths_concept_detail_web.py +14 -28
  5. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/constant/db_name_constant.py +3 -0
  6. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common.egg-info/PKG-INFO +1 -1
  7. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/setup.py +1 -1
  8. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/README.md +0 -0
  9. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/__init__.py +0 -0
  10. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/__init__.py +0 -0
  11. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/akshare/__init__.py +0 -0
  12. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/akshare/k_line_api.py +0 -0
  13. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/akshare/stock_bid_ask_api.py +0 -0
  14. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/akshare/stock_dt_pool.py +0 -0
  15. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/akshare/stock_zb_pool.py +0 -0
  16. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/akshare/stock_zt_pool_api.py +0 -0
  17. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/akshare/yjyg_sync_api.py +0 -0
  18. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/em/__init__.py +0 -0
  19. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/em/east_money_debt_api.py +0 -0
  20. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/em/east_money_etf_api.py +0 -0
  21. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/em/east_money_stock_api.py +0 -0
  22. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/em/east_money_stock_gdfx_free_top_10_api.py +0 -0
  23. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/em/east_money_stock_hk_api.py +0 -0
  24. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/em/east_money_stock_v2_api.py +0 -0
  25. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/em/em_concept_index_api.py +0 -0
  26. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/em/self_choose/__init__.py +0 -0
  27. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/hk/__init__.py +0 -0
  28. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/hk/ths_hk_company_info_api.py +0 -0
  29. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/kpl/__init__.py +0 -0
  30. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/kpl/common/__init__.py +0 -0
  31. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/kpl/common/kpl_common_api.py +0 -0
  32. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/kpl/common/kpl_common_field_constant.py +0 -0
  33. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/kpl/concept/__init__.py +0 -0
  34. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/kpl/concept/kpl_concept_api.py +0 -0
  35. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/kpl/constant/__init__.py +0 -0
  36. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/kpl/constant/kpl_constant.py +0 -0
  37. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/kpl/industry/__init__.py +0 -0
  38. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/kpl/industry/kpl_industry_api.py +0 -0
  39. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/kpl/selection/__init__.py +0 -0
  40. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/kpl/selection/kpl_selection_plate_api.py +0 -0
  41. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/kpl/symbol/__init__.py +0 -0
  42. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/kpl/symbol/kpl_real_time_quotes_api.py +0 -0
  43. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/kpl/symbol/kpl_symbol_common_field_constant.py +0 -0
  44. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/kpl/symbol/symbol_his_quotes_api.py +0 -0
  45. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/msg/__init__.py +0 -0
  46. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/msg/push_msg_api.py +0 -0
  47. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/ths/__init__.py +0 -0
  48. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/ths/big_deal/__init__.py +0 -0
  49. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/ths/big_deal/ths_big_deal_api.py +0 -0
  50. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/ths/company/__init__.py +0 -0
  51. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/ths/company/ths_company_announce_api.py +0 -0
  52. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/ths/company/ths_company_info_api.py +0 -0
  53. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/ths/concept/__init__.py +0 -0
  54. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/ths/concept/app/__init__.py +0 -0
  55. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/ths/concept/web/__init__.py +0 -0
  56. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/ths/concept/web/ths_common_js_api.py +0 -0
  57. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/ths/concept/web/ths_company_info_web.py +0 -0
  58. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/ths/concept/web/ths_concept_index_web.py +0 -0
  59. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/ths/self_choose/__init__.py +0 -0
  60. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/ths/self_choose/ths_self_choose_api.py +0 -0
  61. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/ths/wen_cai/__init__.py +0 -0
  62. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/ths/wen_cai/ths_wen_cai_api.py +0 -0
  63. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/ths/zt/__init__.py +0 -0
  64. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/ths/zt/ths_stock_zt_pool_api.py +0 -0
  65. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/api/ths/zt/ths_stock_zt_pool_v2_api.py +0 -0
  66. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/__init__.py +0 -0
  67. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/cache/__init__.py +0 -0
  68. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/cache/cache_service.py +0 -0
  69. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/classify/__init__.py +0 -0
  70. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/classify/symbol_classify_api.py +0 -0
  71. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/classify/symbol_classify_param.py +0 -0
  72. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/common_service_fun_api.py +0 -0
  73. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/company/__init__.py +0 -0
  74. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/company/company_common_service_api.py +0 -0
  75. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/company/company_common_service_new_api.py +0 -0
  76. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/concept/__init__.py +0 -0
  77. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/concept/kpl_concept_common_service_api.py +0 -0
  78. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/concept/ths_concept_common_service_api.py +0 -0
  79. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/cookie/__init__.py +0 -0
  80. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/cookie/cookie_info_service.py +0 -0
  81. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/data/__init__.py +0 -0
  82. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/data/data_init_api.py +0 -0
  83. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/deal/__init__.py +0 -0
  84. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/deal/deal_service_api.py +0 -0
  85. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/deal/terminal_enum.py +0 -0
  86. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/hk/__init__.py +0 -0
  87. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/hk/company_hk_service_api.py +0 -0
  88. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/industry/__init__.py +0 -0
  89. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/industry/ths_industry_index_api.py +0 -0
  90. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/k_line/__init__.py +0 -0
  91. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/k_line/clean/__init__.py +0 -0
  92. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/k_line/clean/k_line_param.py +0 -0
  93. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/k_line/clean/sh_small_normal_zt_k_line_check_api.py +0 -0
  94. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/k_line/common/__init__.py +0 -0
  95. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/k_line/common/k_line_common_service_api.py +0 -0
  96. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/k_line/patterns/__init__.py +0 -0
  97. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/k_line/patterns/k_line_patterns_service_api.py +0 -0
  98. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/k_line/patterns/pattern_Enum.py +0 -0
  99. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/price/__init__.py +0 -0
  100. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/price/trade_price_service_api.py +0 -0
  101. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/qmt/__init__.py +0 -0
  102. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/qmt/qmt_buy_service.py +0 -0
  103. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/real_time/__init__.py +0 -0
  104. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/real_time/real_time_common_service_api.py +0 -0
  105. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/redis_msg/__init__.py +0 -0
  106. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/redis_msg/redis_msg_publish_service.py +0 -0
  107. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/self_choose/__init__.py +0 -0
  108. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/self_choose/black_list_service_api.py +0 -0
  109. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/self_choose/self_choose_service_api.py +0 -0
  110. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/tfp/__init__.py +0 -0
  111. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/tfp/stock_tfp_api.py +0 -0
  112. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/trade_date/__init__.py +0 -0
  113. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/trade_date/trade_date_common_service_api.py +0 -0
  114. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/zt/__init__.py +0 -0
  115. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/component/zt/zt_common_service_api.py +0 -0
  116. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/constant/__init__.py +0 -0
  117. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/constant/black_list_classify_enum.py +0 -0
  118. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/constant/price_enum.py +0 -0
  119. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/constant/redis_msg_constant.py +0 -0
  120. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/constant/self_choose_constant.py +0 -0
  121. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/db/MongodbUtil.py +0 -0
  122. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/db/MongodbUtilLocal.py +0 -0
  123. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/db/__init__.py +0 -0
  124. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/utils/__init__.py +0 -0
  125. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/utils/async_fun.py +0 -0
  126. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/utils/cmd_util.py +0 -0
  127. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/utils/data_frame_util.py +0 -0
  128. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/utils/date_handle_util.py +0 -0
  129. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/utils/db_util.py +0 -0
  130. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/utils/file_util.py +0 -0
  131. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common/utils/ip_util.py +0 -0
  132. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common.egg-info/SOURCES.txt +0 -0
  133. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common.egg-info/dependency_links.txt +0 -0
  134. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/mns_common.egg-info/top_level.txt +0 -0
  135. {mns_common-1.3.0.1 → mns_common-1.3.0.3}/setup.cfg +0 -0
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns_common
3
- Version: 1.3.0.1
3
+ Version: 1.3.0.3
@@ -182,5 +182,5 @@ def get_ths_concept_detail_by_app(symbol: str = "886019") -> pd.DataFrame:
182
182
 
183
183
 
184
184
  if __name__ == '__main__':
185
- ths_concept_detail = get_ths_concept_detail_by_app('886077')
185
+ ths_concept_detail = get_ths_concept_detail_by_app('881165')
186
186
  print(ths_concept_detail)
@@ -88,6 +88,7 @@ def get_ths_concept_his_info(begin_time, end_time, page_size, query_type):
88
88
  result_list = result_json['data']['list']
89
89
  result_total = result_json['data']['total']
90
90
  result_df = pd.DataFrame(result_list)
91
+ result_df.fillna(0, inplace=True)
91
92
  result_df['chg'] = round(result_df['margin_of_increase'] * 100, 2)
92
93
  del result_df['margin_of_increase']
93
94
  result_df['result_total'] = result_total
@@ -15,6 +15,7 @@ from io import StringIO
15
15
  import pandas as pd
16
16
  from bs4 import BeautifulSoup
17
17
  from akshare.utils.tqdm import get_tqdm
18
+ import mns_common.component.cookie.cookie_info_service as cookie_info_service
18
19
 
19
20
  '''
20
21
  获取单只股票代码 symbol 所有概念详情
@@ -60,38 +61,23 @@ def stock_board_cons_ths(symbol: str = "301558") -> pd.DataFrame:
60
61
  :return: 行业板块或者概念板块的成份股
61
62
  :rtype: pandas.DataFrame
62
63
  """
64
+ ths_cookie = cookie_info_service.get_ths_cookie()
65
+
63
66
  headers = {
64
67
  "Accept": "text/html, */*; q=0.01",
65
- "Accept-Encoding": "gzip, deflate, br, zstd",
66
68
  "Accept-Language": "zh-CN,zh;q=0.9",
67
69
  "Connection": "keep-alive",
68
- "Cookie": ("searchGuide=sg; Hm_lvt_722143063e4892925903024537075d0d=1717667296,1718442548; "
69
- "Hm_lpvt_722143063e4892925903024537075d0d=1718442548; "
70
- "Hm_lvt_929f8b362150b1f77b477230541dbbc2=1717667296,1718442548; "
71
- "Hm_lpvt_929f8b362150b1f77b477230541dbbc2=1718442548; "
72
- "Hm_lvt_78c58f01938e4d85eaf619eae71b4ed1=1717667297,1718105758,1718442548; "
73
- "u_ukey=A10702B8689642C6BE607730E11E6E4A; u_uver=1.0.0; "
74
- "u_dpass=FiQNmw4Vyp2vyGzE6%2FEbtrgPtUViMbFi%2BSUJ1bTSIaqQP7Dl6EmBT0Xu4HBksFjJHi80LrSsTFH9a%2B6rtRvqGg%3D%3D; "
75
- "u_did=0112000691F9476ABA607A0E4F06AF9B; u_ttype=WEB; "
76
- "user=MDq%2BsNDQcE06Ok5vbmU6NTAwOjYxMzk4NTQ0ODo3LDExMTExMTExMTExLDQwOzQ0LDExLDQwOzYsMSw0MDs1LDEsNDA7MSwxMDEsNDA7MiwxLDQwOzMsMSw0MDs1LDEsNDA7OCwwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSw0MDsxMDIsMSw0MDoyNzo6OjYwMzk4NTQ0ODoxNzE4NDQyNTkzOjo6MTYzNDU2Njk4MDo4NjQwMDowOjE5NjMyMzc1ZWNjOGUzNTJmYTczMmFhZjM4OTg3ZGMzNDpkZWZhdWx0XzQ6MQ%3D%3D; "
77
- "userid=602085498; u_name=%BE%B0%D0%D0pM; "
78
- "escapename=%25u666f%25u884cpM; "
79
- "ticket=092428c703980b80d5d407acddb6b474; user_status=0; "
80
- "utk=628aa7def3a67c0b3c66869803ab9e23; "
81
- "historystock=688272%7C*%7C301041%7C*%7C002156; "
82
- "spversion=20130314; "
83
- "Hm_lpvt_78c58f01938e4d85eaf619eae71b4ed1=1718504236; "
84
- "v=A6WXXy9vL7nJNkuWRIoO2C1psmra4ll0o5Y9yKeKYVzrvsuUbzJpRDPmT4I0"),
85
- "Host": "q.10jqka.com.cn",
86
- "Referer": "https://q.10jqka.com.cn/thshy",
70
+ "Referer": "https://q.10jqka.com.cn/thshy/detail/code/881160/",
87
71
  "Sec-Fetch-Dest": "empty",
88
72
  "Sec-Fetch-Mode": "cors",
89
73
  "Sec-Fetch-Site": "same-origin",
90
- "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36",
74
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
91
75
  "X-Requested-With": "XMLHttpRequest",
92
- "sec-ch-ua": "\"Google Chrome\";v=\"125\", \"Chromium\";v=\"125\", \"Not.A/Brand\";v=\"24\"",
76
+ "hexin-v": "A8KlBtusEcYFfQ2aigv4OairE8Mhk8SaeJa61gzb7ZTh7mx99CMWvUgnCuLf",
77
+ "sec-ch-ua": "\"Google Chrome\";v=\"131\", \"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"",
93
78
  "sec-ch-ua-mobile": "?0",
94
- "sec-ch-ua-platform": "\"macOS\""
79
+ "sec-ch-ua-platform": "\"Windows\"",
80
+ "cookie": ths_cookie
95
81
  }
96
82
  url = f"https://q.10jqka.com.cn/thshy/detail/field/199112/order/desc/page/1/ajax/1/code/{symbol}"
97
83
  r = requests.get(url, headers=headers)
@@ -100,8 +86,8 @@ def stock_board_cons_ths(symbol: str = "301558") -> pd.DataFrame:
100
86
  soup = BeautifulSoup(r.text, "lxml")
101
87
  url_flag = "thshy"
102
88
  if soup.find(name="td", attrs={"colspan": "14"}):
103
- url = f"https://q.10jqka.com.cn/gn/detail/field/199112/order/desc/page/1/ajax/1/code/{symbol}"
104
- r = requests.get(url, headers=headers)
89
+ new_url = f"https://q.10jqka.com.cn/gn/detail/field/199112/order/desc/page/1/ajax/1/code/{symbol}"
90
+ r = requests.get(new_url, headers=headers)
105
91
  soup = BeautifulSoup(r.text, features="lxml")
106
92
  url_flag = "gn"
107
93
  try:
@@ -115,10 +101,10 @@ def stock_board_cons_ths(symbol: str = "301558") -> pd.DataFrame:
115
101
  for page in tqdm(range(1, page_num + 1), leave=False):
116
102
  try:
117
103
  time.sleep(2)
118
- url = f"https://q.10jqka.com.cn/{url_flag}/detail/field/199112/order/desc/page/{page}/ajax/1/code/{symbol}"
119
- r_detail = requests.get(url, headers=headers)
104
+ new_url = f"https://q.10jqka.com.cn/{url_flag}/detail/field/199112/order/desc/page/{page}/ajax/1/code/{symbol}"
105
+ r_detail = requests.get(new_url, headers=headers)
120
106
  if r_detail.status_code == 200:
121
- temp_df = pd.read_html(StringIO(r.text))[0]
107
+ temp_df = pd.read_html(StringIO(r_detail.text))[0]
122
108
  big_df = pd.concat(objs=[big_df, temp_df], ignore_index=True)
123
109
  except BaseException as e:
124
110
  logger.error("获取概念详细信息异常:{},{}", symbol, e)
@@ -155,3 +155,6 @@ STOCK_GDFX_FREE_TOP_10 = 'stock_gdfx_free_top_10'
155
155
 
156
156
  # 十大股东
157
157
  STOCK_GDFX_TOP_10 = 'stock_gdfx_top_10'
158
+
159
+ # 同花顺行业列表
160
+ THS_INDUSTRY_LIST = 'ths_industry_list'
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns_common
3
- Version: 1.3.0.1
3
+ Version: 1.3.0.3
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='mns_common',
5
- version='1.3.0.1',
5
+ version='1.3.0.3',
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