mns-scheduler 1.0.1.1__py3-none-any.whl → 1.0.1.3__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.
- mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py +2 -3
- mns_scheduler/concept/ths/symbol/sync_symbol_all_concepts_api.py +3 -3
- mns_scheduler/concept/ths/web/sync_ths_concept_by_ak_api.py +18 -19
- mns_scheduler/concept/ths/web/sync_ths_new_concept_by_web_api.py +3 -0
- {mns_scheduler-1.0.1.1.dist-info → mns_scheduler-1.0.1.3.dist-info}/METADATA +1 -1
- {mns_scheduler-1.0.1.1.dist-info → mns_scheduler-1.0.1.3.dist-info}/RECORD +8 -8
- {mns_scheduler-1.0.1.1.dist-info → mns_scheduler-1.0.1.3.dist-info}/WHEEL +0 -0
- {mns_scheduler-1.0.1.1.dist-info → mns_scheduler-1.0.1.3.dist-info}/top_level.txt +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)
|
|
@@ -15,13 +15,13 @@ mns_scheduler/concept/ths/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlIm
|
|
|
15
15
|
mns_scheduler/concept/ths/app/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
16
16
|
mns_scheduler/concept/ths/app/ths_new_concept_sync_app.py,sha256=yBr3RN24zCWgmRVCKgY6fwm0tdJA5XKliK3CSB-75tY,5148
|
|
17
17
|
mns_scheduler/concept/ths/common/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
18
|
-
mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py,sha256=
|
|
18
|
+
mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py,sha256=PCwqAwJs5bAg2U4kyH6xs8ETJN7svHk8LLrRcn4R9xQ,10290
|
|
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
|
|
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=
|
|
24
|
-
mns_scheduler/concept/ths/web/sync_ths_new_concept_by_web_api.py,sha256=
|
|
23
|
+
mns_scheduler/concept/ths/web/sync_ths_concept_by_ak_api.py,sha256=Ge5fQZ8cSfZhkXUW-lbzjs6zM5ilZCFnO2fw_ZopQIA,4996
|
|
24
|
+
mns_scheduler/concept/ths/web/sync_ths_new_concept_by_web_api.py,sha256=Yv3Gp6qwAnpg3qM_MguWNSH7NDpxQkvH_SLWcsJfYo8,3605
|
|
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
|
|
@@ -59,7 +59,7 @@ mns_scheduler/zt/zt_pool_sync_api.py,sha256=AhWYrpHzO3KOKecyGqQFvopYd2KFmf1ykRiv
|
|
|
59
59
|
mns_scheduler/zz_task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
60
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.
|
|
63
|
-
mns_scheduler-1.0.1.
|
|
64
|
-
mns_scheduler-1.0.1.
|
|
65
|
-
mns_scheduler-1.0.1.
|
|
62
|
+
mns_scheduler-1.0.1.3.dist-info/METADATA,sha256=CQ9Zml0ww6pRAXdKR52iZnQSMSo3nq_5LTuybAttAuo,64
|
|
63
|
+
mns_scheduler-1.0.1.3.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
64
|
+
mns_scheduler-1.0.1.3.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
|
|
65
|
+
mns_scheduler-1.0.1.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|