mns-scheduler 1.0.1.0__py3-none-any.whl → 1.0.1.2__py3-none-any.whl

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-scheduler might be problematic. Click here for more details.

@@ -18,7 +18,7 @@ project_path = file_path[0:end]
18
18
  sys.path.append(project_path)
19
19
  mongodb_util = MongodbUtil('27017')
20
20
  # 分页大小
21
- MAX_PAGE_NUMBER = 2500
21
+ MAX_PAGE_NUMBER = 12500
22
22
  # 获取单只股票新增概念
23
23
 
24
24
  db_name = 'ths_stock_concept_detail_app'
@@ -81,7 +81,7 @@ def choose_type_new_concept(ths_concept_df):
81
81
 
82
82
 
83
83
  # 同步新概念 多线程实现
84
- def update_symbol_new_update(symbol_df, page_number):
84
+ def update_symbol_new_concept(symbol_df, page_number):
85
85
  for stock_one in symbol_df.itertuples():
86
86
  try:
87
87
  ths_concept_json = ths_stock_api.get_symbol_add_new_concept(stock_one.symbol)
@@ -159,7 +159,7 @@ def sync_symbol_all_concept(symbol):
159
159
  end_count = (page + 1) * MAX_PAGE_NUMBER
160
160
  begin_count = page * MAX_PAGE_NUMBER
161
161
  page_df = real_time_quotes_now.loc[begin_count:end_count]
162
- thread = threading.Thread(target=update_symbol_new_update, args=(page_df, page_number))
162
+ thread = threading.Thread(target=update_symbol_new_concept, args=(page_df, page_number))
163
163
  threads.append(thread)
164
164
  thread.start()
165
165
 
@@ -31,21 +31,30 @@ def sync_new_ths_concept_by_ak_api():
31
31
 
32
32
  stock_board_concept_name_ths_df['str_day'].fillna(datetime(1970, 1, 1), inplace=True)
33
33
 
34
+ stock_board_concept_name_ths_df.concept_name = stock_board_concept_name_ths_df.concept_name.str.replace(' ', '')
35
+ stock_board_concept_name_ths_df.concept_name = stock_board_concept_name_ths_df.concept_name.str.replace('(', '(')
36
+ stock_board_concept_name_ths_df.concept_name = stock_board_concept_name_ths_df.concept_name.str.replace(')', ')')
37
+
34
38
  stock_board_concept_name_ths_df['str_day'] = stock_board_concept_name_ths_df['str_day'].apply(
35
39
  lambda x: datetime.strftime(x, '%Y-%m-%d'))
36
40
 
37
41
  # 同花顺概念列表
38
- ths_concept_list = mongodb_util.find_all_data('ths_concept_list')
42
+ ths_concept_list_exist = mongodb_util.find_all_data('ths_concept_list')
39
43
 
40
44
  for concept_one in stock_board_concept_name_ths_df.itertuples():
41
45
  try:
42
- exist_concept_df_one = ths_concept_list.loc[ths_concept_list['name'] == concept_one.concept_name]
43
- str_now_time = concept_one.str_day + " 00:00:00"
46
+ exist_concept_df_one = ths_concept_list_exist.loc[
47
+ (ths_concept_list_exist['name'] == concept_one.concept_name)
48
+ | (ths_concept_list_exist['web_concept_code'] == concept_one.concept_code)]
49
+ now_date = datetime.now()
50
+ str_now_time = now_date.strftime('%Y-%m-%d %H:%M:%S')
44
51
  str_day = concept_one.str_day
45
52
  if data_frame_util.is_empty(exist_concept_df_one):
53
+ concept_code = ths_concept_sync_common_api.get_max_concept_code()
54
+
46
55
  diff_one = {
47
- '_id': int(concept_one.concept_code),
48
- 'symbol': int(concept_one.concept_code),
56
+ '_id': int(concept_code),
57
+ 'symbol': int(concept_code),
49
58
  'name': concept_one.concept_name,
50
59
  'url': concept_one.url,
51
60
  'str_day': str_day,
@@ -58,26 +67,16 @@ def sync_new_ths_concept_by_ak_api():
58
67
  mongodb_util.save_mongo(diff_one_df, 'ths_concept_list')
59
68
  url = 'http://q.10jqka.com.cn/gn/detail/code/' + str(concept_one.concept_code)
60
69
  # 推送新概念信息到微信
61
- ths_concept_sync_common_api.push_msg_to_we_chat_web(concept_one.concept_code, concept_one.concept_name,
70
+ ths_concept_sync_common_api.push_msg_to_we_chat_web(concept_code, concept_one.concept_name,
62
71
  url)
63
- new_concept_symbol_df = get_concept_detail_info_web(concept_one.concept_code)
72
+ new_concept_symbol_df = get_concept_detail_info_web(concept_code)
64
73
  if new_concept_symbol_df is None or new_concept_symbol_df.shape[0] == 0:
65
74
  return None
66
75
  new_concept_symbol_df.loc[:, 'way'] = 'index_sync'
67
76
  ths_concept_sync_common_api.save_ths_concept_detail(new_concept_symbol_df, concept_one.concept_name,
68
77
  str_day,
69
- str_now_time, concept_one.concept_code)
70
-
78
+ str_now_time, concept_code)
71
79
  logger.info("新增同花顺新概念:{}", concept_one.concept_name)
72
- else:
73
- # 更新概念关联关系
74
- web_concept_code = concept_one.concept_code
75
- web_concept_url = concept_one.url
76
- concept_code = list(exist_concept_df_one['symbol'])[0]
77
-
78
- update_query = {'_id': concept_code}
79
- new_values = {"$set": {"web_concept_code": int(web_concept_code), 'web_concept_url': web_concept_url}}
80
- mongodb_util.update_many(update_query, new_values, 'ths_concept_list')
81
80
  except BaseException as e:
82
81
  logger.error("同步概念:{},信息异常:{}", concept_one.concept_name, e)
83
82
 
@@ -93,4 +92,5 @@ def get_concept_detail_info_web(concept_code):
93
92
 
94
93
 
95
94
  if __name__ == '__main__':
95
+ get_concept_detail_info_web(886068)
96
96
  sync_new_ths_concept_by_ak_api()
@@ -53,6 +53,10 @@ def sync_new_concept_data_by_web():
53
53
  continue
54
54
  time.sleep(2)
55
55
  concept_name = ths_stock_api.get_concept_name(concept_code)
56
+ concept_name = concept_name.replace(' ', '')
57
+ concept_name = concept_name.replace('(', '(')
58
+ concept_name = concept_name.replace(')', ')')
59
+
56
60
  url = 'http://q.10jqka.com.cn/thshy/detail/code/' + str(concept_code)
57
61
  # 推送新概念信息到微信
58
62
  ths_concept_sync_common_api.push_msg_to_we_chat_web(concept_code, concept_name, url)
@@ -224,12 +224,12 @@ def sync_symbol_all_concept():
224
224
  logger.info('同步单只股票所有概念组成')
225
225
 
226
226
 
227
- # 同步同花顺新增概念指数通过web端接口爬取
227
+ # 同步同花顺新增概念指数通过web端接口爬取 8开头
228
228
  def sync_new_concept_data_by_web():
229
229
  sync_ths_new_concept_by_web_api.sync_new_concept_data_by_web()
230
230
 
231
231
 
232
- # 同步同花顺新增概念指数通过ak_share接口爬取
232
+ # 同步同花顺新增概念指数通过ak_share接口爬取 3开头
233
233
  def sync_new_ths_concept_by_ak_api():
234
234
  sync_ths_concept_by_ak_api.sync_new_ths_concept_by_ak_api()
235
235
 
@@ -310,7 +310,7 @@ blockingScheduler.add_job(sync_today_trade_k_line_info, 'cron', hour='08', minut
310
310
  # 同步十大流通股东信息
311
311
  blockingScheduler.add_job(sync_stock_gdfx_free_top_10_one_day, 'cron', hour='08,22', minute='23')
312
312
 
313
- # 同步概念下所有股票组成
313
+ # 更新概念指数下所有股票组成 by 概念代码
314
314
  blockingScheduler.add_job(update_concept_all_symbol_detail, 'cron', hour='08,18,12', minute='30')
315
315
 
316
316
  # 同步单只股票下所有概念 by 股票代码
@@ -319,7 +319,10 @@ blockingScheduler.add_job(sync_symbol_all_concept, 'cron', hour='09,18,12', minu
319
319
  # 开盘前同步同花顺新概念指数
320
320
  blockingScheduler.add_job(sync_new_concept_data_web, 'cron', hour='09', minute='05,10,15,20,25')
321
321
 
322
- # 同步开盘啦精选概念(定时轮训,暂时五分钟)
322
+ # 同步同花顺新增概念指数(定时轮训,暂时10分钟)
323
+ blockingScheduler.add_job(sync_new_concept_data_web, 'interval', minutes=10, max_instances=4)
324
+
325
+ # 同步开盘啦新增精选概念(定时轮训,暂时五分钟)
323
326
  blockingScheduler.add_job(sync_all_kpl_plate_info, 'interval', minutes=5, max_instances=4)
324
327
 
325
328
  # 同步公司基本信息
@@ -1,4 +1,4 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.0.1.0
3
+ Version: 1.0.1.2
4
4
 
@@ -18,10 +18,10 @@ mns_scheduler/concept/ths/common/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiN
18
18
  mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py,sha256=f3g8mx1Ii5QrPVStsnXa68hrsGlvhbVc9v4gOdS9SWk,10349
19
19
  mns_scheduler/concept/ths/symbol/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
20
20
  mns_scheduler/concept/ths/symbol/sync_concept_all_symbols_api.py,sha256=ipRtiihpHlbxuces7YpHfvBtCDxgzrVXjcCKZiFBPaw,1928
21
- mns_scheduler/concept/ths/symbol/sync_symbol_all_concepts_api.py,sha256=-FyzLcuP8H-_G6IyH1rLb1078apS4HtaMsksyX1D37I,8261
21
+ mns_scheduler/concept/ths/symbol/sync_symbol_all_concepts_api.py,sha256=9-cp2ZmZJ7ZQwQUJNVBY99DthA-7gtwvDRQxIQ-QF4Q,8264
22
22
  mns_scheduler/concept/ths/web/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
23
- mns_scheduler/concept/ths/web/sync_ths_concept_by_ak_api.py,sha256=z5zQUWp4QJFprCdpw8ky16MvncdW5rNUZyYMOWfKOzk,5017
24
- mns_scheduler/concept/ths/web/sync_ths_new_concept_by_web_api.py,sha256=U5e-TJtNTuM5ux2QB6mbndyITMsV79GYv2IoAXN_7gg,3481
23
+ mns_scheduler/concept/ths/web/sync_ths_concept_by_ak_api.py,sha256=FIJ552806hDba0l1I_w_AMGhRXUUhWV0RiRMRqn74dM,5106
24
+ mns_scheduler/concept/ths/web/sync_ths_new_concept_by_web_api.py,sha256=u2TRPWDk7B9mocuCp23f964arZKFD_TMg4dHYnIkMuk,3710
25
25
  mns_scheduler/concept/ths/wen_cai/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
26
26
  mns_scheduler/concept/ths/wen_cai/wen_cai_concept_sync.py,sha256=boKtgOIXIsRny5n1keZm4luDFCiooudbPDsEFIGImIw,1747
27
27
  mns_scheduler/db/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
@@ -57,9 +57,9 @@ mns_scheduler/zt/today_high_chg_pool_sync_api.py,sha256=G6FXMH7HnvhyMFoE-RszggkB
57
57
  mns_scheduler/zt/zt_five_boards_sync_api.py,sha256=HfjPHKD99fU9c37kSenEX2_qNvFAjQGgy8ERuacSxwk,10916
58
58
  mns_scheduler/zt/zt_pool_sync_api.py,sha256=AhWYrpHzO3KOKecyGqQFvopYd2KFmf1ykRiv2R9Pjo4,7490
59
59
  mns_scheduler/zz_task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
60
- mns_scheduler/zz_task/data_sync_task.py,sha256=KI3yGAUj72rJqoJDr1jqCmwGf93OynjlFrOvq8is4zs,13412
60
+ mns_scheduler/zz_task/data_sync_task.py,sha256=jWwmUZ47ZZ6zdVriqiftkV22b8iyfYtlsGbX8lIFDTo,13619
61
61
  mns_scheduler/zz_task/sync_realtime_quotes_task.py,sha256=DN3bq2XCDZC-PHlbD2NTog48bR44EruIEc2QVGKg7Tk,932
62
- mns_scheduler-1.0.1.0.dist-info/METADATA,sha256=fjHbjlpwfqoTzSi3TK8ZHrb-331m5PRHAvKQTxkr5Vk,64
63
- mns_scheduler-1.0.1.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
64
- mns_scheduler-1.0.1.0.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
65
- mns_scheduler-1.0.1.0.dist-info/RECORD,,
62
+ mns_scheduler-1.0.1.2.dist-info/METADATA,sha256=OTFm540p3k0VA-apegBT2hZn6mHGxyE0oZ6eRnfN9p4,64
63
+ mns_scheduler-1.0.1.2.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
64
+ mns_scheduler-1.0.1.2.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
65
+ mns_scheduler-1.0.1.2.dist-info/RECORD,,