mns-scheduler 1.0.1.1__tar.gz → 1.0.1.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-scheduler might be problematic. Click here for more details.
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/PKG-INFO +1 -1
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py +2 -3
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/ths/symbol/sync_symbol_all_concepts_api.py +3 -3
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/ths/web/sync_ths_concept_by_ak_api.py +18 -19
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/ths/web/sync_ths_new_concept_by_web_api.py +3 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler.egg-info/PKG-INFO +1 -1
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/setup.py +1 -1
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/README.md +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/big_deal/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/big_deal/ths_big_deal_sync.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/company_info/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/company_info/company_constant_data.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/company_info/company_info_sync_api.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/clean/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/clean/ths_effective_concept_clean_api.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/em/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/em/em_new_concept_his_sync.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/em/em_new_concept_sync_common_api.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/em/em_new_concept_sync_web.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/ths/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/ths/app/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/ths/app/ths_new_concept_sync_app.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/ths/common/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/ths/symbol/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/ths/symbol/sync_concept_all_symbols_api.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/ths/web/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/ths/wen_cai/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/ths/wen_cai/wen_cai_concept_sync.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/db/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/db/col_move_service.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/db/db_status.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/dt/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/dt/stock_dt_pool_sync.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/ipo/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/ipo/auto_ipo_buy_api.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/k_line/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/k_line/clean/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/k_line/clean/k_line_info_clean_impl.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/k_line/clean/k_line_info_clean_service.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/k_line/sync/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/k_line/sync/daily_week_month_line_sync.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/kpl/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/kpl/selection/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/kpl/selection/index/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/kpl/selection/index/sync_best_choose_index.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/kpl/selection/symbol/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/kpl/selection/total/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/real_time/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/real_time/realtime_quotes_now_create_db_index.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/real_time/realtime_quotes_now_sync.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/zb/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/zb/stock_zb_pool_sync.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/zt/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/zt/export_open_data_to_excel.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/zt/realtime_quotes_now_zt_kc_sync.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/zt/today_high_chg_pool_sync_api.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/zt/zt_five_boards_sync_api.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/zt/zt_pool_sync_api.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/zz_task/__init__.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/zz_task/data_sync_task.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/zz_task/sync_realtime_quotes_task.py +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler.egg-info/SOURCES.txt +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler.egg-info/dependency_links.txt +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler.egg-info/top_level.txt +0 -0
- {mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/setup.cfg +0 -0
|
@@ -40,9 +40,8 @@ def push_msg_to_we_chat_web(concept_code, concept_name, url):
|
|
|
40
40
|
def save_ths_concept_list(concept_code, concept_name, str_day, str_now_time):
|
|
41
41
|
url = 'http://q.10jqka.com.cn/thshy/detail/code/' + str(concept_code)
|
|
42
42
|
ths_concept_list = pd.DataFrame([
|
|
43
|
-
[concept_code, concept_code, concept_name, str_day, url, str_now_time, True],
|
|
44
|
-
], columns=['_id', 'symbol', 'name', 'str_day', 'url', 'str_now_time', 'success'])
|
|
45
|
-
ths_concept_list['name'] = ths_concept_list['name'].replace(" ", "")
|
|
43
|
+
[concept_code, concept_code, concept_name, str_day, url, str_now_time, True, True],
|
|
44
|
+
], columns=['_id', 'symbol', 'name', 'str_day', 'url', 'str_now_time', 'success', 'valid'])
|
|
46
45
|
mongodb_util.save_mongo(ths_concept_list, 'ths_concept_list')
|
|
47
46
|
|
|
48
47
|
|
|
@@ -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 =
|
|
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
|
|
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=
|
|
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
|
|
|
@@ -30,54 +30,52 @@ def sync_new_ths_concept_by_ak_api():
|
|
|
30
30
|
})
|
|
31
31
|
|
|
32
32
|
stock_board_concept_name_ths_df['str_day'].fillna(datetime(1970, 1, 1), inplace=True)
|
|
33
|
+
stock_board_concept_name_ths_df.concept_name = stock_board_concept_name_ths_df.concept_name.str.replace('(', '(')
|
|
34
|
+
stock_board_concept_name_ths_df.concept_name = stock_board_concept_name_ths_df.concept_name.str.replace(')', ')')
|
|
33
35
|
|
|
34
36
|
stock_board_concept_name_ths_df['str_day'] = stock_board_concept_name_ths_df['str_day'].apply(
|
|
35
37
|
lambda x: datetime.strftime(x, '%Y-%m-%d'))
|
|
36
38
|
|
|
37
39
|
# 同花顺概念列表
|
|
38
|
-
|
|
40
|
+
ths_concept_list_exist = mongodb_util.find_all_data('ths_concept_list')
|
|
39
41
|
|
|
40
42
|
for concept_one in stock_board_concept_name_ths_df.itertuples():
|
|
41
43
|
try:
|
|
42
|
-
exist_concept_df_one =
|
|
43
|
-
|
|
44
|
+
exist_concept_df_one = ths_concept_list_exist.loc[
|
|
45
|
+
(ths_concept_list_exist['name'] == concept_one.concept_name)
|
|
46
|
+
| (ths_concept_list_exist['web_concept_code'] == concept_one.concept_code)]
|
|
47
|
+
now_date = datetime.now()
|
|
48
|
+
str_now_time = now_date.strftime('%Y-%m-%d %H:%M:%S')
|
|
44
49
|
str_day = concept_one.str_day
|
|
45
50
|
if data_frame_util.is_empty(exist_concept_df_one):
|
|
51
|
+
concept_code = concept_one.concept_code
|
|
52
|
+
|
|
46
53
|
diff_one = {
|
|
47
|
-
'_id': int(
|
|
48
|
-
'symbol': int(
|
|
54
|
+
'_id': int(concept_code),
|
|
55
|
+
'symbol': int(concept_code),
|
|
49
56
|
'name': concept_one.concept_name,
|
|
50
57
|
'url': concept_one.url,
|
|
51
58
|
'str_day': str_day,
|
|
52
59
|
'success': True,
|
|
53
60
|
'str_now_time': str_now_time,
|
|
54
61
|
'web_concept_code': concept_one.concept_code,
|
|
55
|
-
'web_concept_url': concept_one.url
|
|
62
|
+
'web_concept_url': concept_one.url,
|
|
63
|
+
'valid': True
|
|
56
64
|
}
|
|
57
65
|
diff_one_df = pd.DataFrame(diff_one, index=[1])
|
|
58
66
|
mongodb_util.save_mongo(diff_one_df, 'ths_concept_list')
|
|
59
67
|
url = 'http://q.10jqka.com.cn/gn/detail/code/' + str(concept_one.concept_code)
|
|
60
68
|
# 推送新概念信息到微信
|
|
61
|
-
ths_concept_sync_common_api.push_msg_to_we_chat_web(
|
|
69
|
+
ths_concept_sync_common_api.push_msg_to_we_chat_web(concept_code, concept_one.concept_name,
|
|
62
70
|
url)
|
|
63
|
-
new_concept_symbol_df = get_concept_detail_info_web(
|
|
71
|
+
new_concept_symbol_df = get_concept_detail_info_web(concept_code)
|
|
64
72
|
if new_concept_symbol_df is None or new_concept_symbol_df.shape[0] == 0:
|
|
65
73
|
return None
|
|
66
74
|
new_concept_symbol_df.loc[:, 'way'] = 'index_sync'
|
|
67
75
|
ths_concept_sync_common_api.save_ths_concept_detail(new_concept_symbol_df, concept_one.concept_name,
|
|
68
76
|
str_day,
|
|
69
|
-
str_now_time,
|
|
70
|
-
|
|
77
|
+
str_now_time, concept_code)
|
|
71
78
|
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
79
|
except BaseException as e:
|
|
82
80
|
logger.error("同步概念:{},信息异常:{}", concept_one.concept_name, e)
|
|
83
81
|
|
|
@@ -93,4 +91,5 @@ def get_concept_detail_info_web(concept_code):
|
|
|
93
91
|
|
|
94
92
|
|
|
95
93
|
if __name__ == '__main__':
|
|
94
|
+
get_concept_detail_info_web(886068)
|
|
96
95
|
sync_new_ths_concept_by_ak_api()
|
|
@@ -53,6 +53,9 @@ 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
|
+
|
|
56
59
|
url = 'http://q.10jqka.com.cn/thshy/detail/code/' + str(concept_code)
|
|
57
60
|
# 推送新概念信息到微信
|
|
58
61
|
ths_concept_sync_common_api.push_msg_to_we_chat_web(concept_code, concept_name, url)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/company_info/company_constant_data.py
RENAMED
|
File without changes
|
{mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/company_info/company_info_sync_api.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/em/em_new_concept_his_sync.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/em/em_new_concept_sync_web.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/ths/common/__init__.py
RENAMED
|
File without changes
|
{mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/ths/symbol/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/concept/ths/wen_cai/__init__.py
RENAMED
|
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
|
{mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/k_line/clean/k_line_info_clean_impl.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/kpl/selection/index/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/kpl/selection/symbol/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/kpl/selection/total/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/real_time/realtime_quotes_now_sync.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/zt/export_open_data_to_excel.py
RENAMED
|
File without changes
|
{mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/zt/realtime_quotes_now_zt_kc_sync.py
RENAMED
|
File without changes
|
{mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/zt/today_high_chg_pool_sync_api.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.1.1 → mns-scheduler-1.0.1.3}/mns_scheduler/zz_task/sync_realtime_quotes_task.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|