def get_make_info(maker_list, cur, conn): for maker in maker_list: values = [] count = 0 data_str = helper.read_data_str(conf.TARGET['make'], {'stkaccout': maker[0]}) data_json = json.loads(data_str[5:-1]) total = data_json[0]['totalElements'] total_page = data_json[0]['totalPages'] for i in range(0, total_page): values.append({'page': i, 'stkaccout': maker[0]}) for val in values: data_str = helper.read_data_str(conf.TARGET['make'], val) data_json = json.loads(data_str[5:-1]) make_list_content = data_json[0]['content'] for make in make_list_content: m_name, m_code = maker s_code = make['companyno'] s_name = make['companyName'] t_type = conf.TYPE_DICT[make['zrlx']] inserted_data = [m_name, m_code, s_code, s_name, t_type] run_insert(inserted_data, conf.INSERT_TEMPLATE['make'], cur, "MAKE") count += 1 if count == int(total): conn.commit() else: print(maker[0], "的做市数据读取失败")
def get_rec_info(maker_list, cur, conn): for maker in maker_list: values = [] count = 0 data_str = helper.read_data_str(conf.TARGET['recommend'], {'makerName': maker[0]}) data_json = json.loads(data_str[5:-1]) total = data_json[0]['totalElements'] total_page = data_json[0]['totalPages'] for i in range(0, total_page): values.append({'page': i, 'makerName': maker[0]}) for val in values: data_str = helper.read_data_str(conf.TARGET['recommend'], val) data_json = json.loads(data_str[5:-1]) rec_list_content = data_json[0]['content'] for rec in rec_list_content: m_name, m_code = maker s_code = rec['companyno'] s_name = rec['companyName'] t_type = conf.TYPE_DICT[rec['zrlx']] gp = helper.get_formatted(rec['gprq']) inserted_data = [m_name, m_code, s_code, s_name, t_type, gp] run_insert(inserted_data, conf.INSERT_TEMPLATE['recommend'], cur, "RECOMMEND") count += 1 if count == int(total): conn.commit() else: print(maker[0], "的推荐数据读取失败")
def update_class(f_date, cur, conn): values = [ { 'publishDate': f_date, 'xxfcbj': 0 }, { 'publishDate': f_date, 'xxfcbj': 1 }, ] for param in values: try: data_str = helper.read_data_str(conf.TARGET['tradingtips'], param) except: print('读取失败') continue data_json = json.loads(data_str[5:-1]) for item in data_json: type_code = item['typecode'] trading_list = item['tradingtipsList'] if len(trading_list) > 0: for trading_item in trading_list: comp_code = trading_item['companycode'] updated_data = [ param['xxfcbj'], comp_code, type_code, f_date ] run_update(updated_data, conf.UPDATE_RECORD_TEMPLATE, cur) conn.commit()
def get_maker_info(conn, cur): maker_list = [] count = 0 values = [] data_str = helper.read_data_str(conf.TARGET['maker'], {}) data_json = json.loads(data_str[5:-1]) total = data_json[0]['totalElements'] total_page = data_json[0]['totalPages'] for i in range(0, total_page): values.append({'page': i}) for param in values: try: data_str = helper.read_data_str(conf.TARGET['maker'], param) except: print('读取失败') continue data_json = json.loads(data_str[5:-1]) maker_list_content = data_json[0]['content'] for maker in maker_list_content: count += 1 m_name = maker['makername'] m_code = maker['stkaccout'] m_type = maker['makertype'] rec_num = maker['recnum'] maker_num = maker['makernum'] inserted_data = [m_name, m_code, m_type, rec_num, maker_num] maker_list.append([m_name, m_code]) run_insert(inserted_data, conf.INSERT_TEMPLATE['maker'], cur, "MAKER") if count == int(total): conn.commit() get_rec_info(maker_list, cur, conn) get_make_info(maker_list, cur, conn) else: print("做市商信息读取出错...")
def get_trading_tips_info(argv, conn, cur): cur_date = helper.get_current_time() if argv and len(argv) == 3: date_list = helper.generate_date_list(argv[1], argv[2]) else: date_list = [cur_date] for fetch_date in date_list: count = 0 if not helper.check_log(fetch_date, cur, 1): param = {'publishDate': fetch_date} try: data_str = helper.read_data_str(conf.TARGET['tradingtips'], param) except SyntaxError: print('读取失败') continue data_json = json.loads(data_str[5:-1]) for item in data_json: type_code, type_name = item['typecode'], item['typename'] trading_list = item['tradingtipsList'] if len(trading_list) > 0: for trading_item in trading_list: count += 1 comp_code = trading_item['companycode'] comp_name = trading_item['companyname'] inserted_data = [ type_code, type_name, comp_code, comp_name, 9, fetch_date ] run_insert(inserted_data, conf.INSERT_TEMPLATE['record'], cur, "RECORD") conn.commit update_class(fetch_date, cur, conn) is_success = helper.check_count('RECORD', count, fetch_date, cur) if is_success: print('{} 的数据已读取完毕 共{}条 \n'.format(fetch_date, count)) inserted_data = ['1', str(is_success), fetch_date] run_insert(inserted_data, conf.INSERT_TEMPLATE['syslog'], cur, 'SYSLOG') conn.commit()
def get_stat_info(argv): yesterday = helper.get_yesterday() if argv and len(argv) == 3: date_list = helper.generate_date_list(argv[1], argv[2]) else: date_list = [yesterday] for fetch_date in date_list: param_date = helper.get_plain(fetch_date) param = {'HQJSRQ': param_date} count = 0 if not helper.check_log(fetch_date, cursor, 2): cnx.commit() data_str = helper.read_data_str(conf.TARGET['stat'], param) data_json = json.loads(data_str[5:-1]) for item in data_json: type_name = conf.TYPE_DICT[item['xxzrlx']] gpgsjs = item['gpgsjs'] drxzjs = item['drxzjs'] xxzgb = round(float(item['xxzgb']) / 100000000, 2) xxfxsgb = round(float(item['xxfxsgb']) / 100000000, 2) hqcjzs = item['hqcjzs'] hqcjje = round(float(item['hqcjje']) / 10000, 2) hqcjsl = round(float(item['hqcjsl']) / 10000, 2) inserted_data = [ type_name, gpgsjs, drxzjs, xxzgb, xxfxsgb, hqcjzs, hqcjje, hqcjsl, fetch_date ] run_insert(inserted_data, conf.INSERT_TEMPLATE['stat'], cursor, 'STAT') count += 1 is_success = helper.check_count('STAT', count, fetch_date, cursor) if is_success: print("{} 的数据已读取完毕 共{}条 \n".format(fetch_date, count)) inserted_data = ["2", str(is_success), fetch_date] run_insert(inserted_data, conf.INSERT_TEMPLATE['syslog'], cursor, 'SYSLOG') cnx.commit() cnx.commit()