def get_winning_data(begin_date, end_date): ## ========== GET DATA FROM WEBSITE ========== ## date_begin = begin_date date_end = end_date print "Parsing data from " + date_begin + " to " + date_end raw_data = get_data(date_begin, date_end) ## ========== CONVERT RAW DATA INTO USABLE FORM ==========## combined_data = combine(raw_data) #combine separated data for one number into one element i24 = num_cat_sort_module.get_i24(combined_data) i12 = num_cat_sort_module.get_i12(combined_data) i6 = num_cat_sort_module.get_i6(combined_data) i4 = num_cat_sort_module.get_i4(combined_data) #separate combined_data into respective num_cat i24_num = [] for each in i24: i24_num.append(each[0]) i12_num = [] for each in i12: i12_num.append(each[0]) i6_num = [] for each in i6: i6_num.append(each[0]) i4_num = [] for each in i4: i4_num.append(each[0]) # we extract 4D number from each num_cat i24_winnings = analyze_num_bought(i24_num[20:30]) i12_winnings = analyze_num_bought(i12_num[:10]) i6_winnings = analyze_num_bought(i6_num[:10]) i4_winnings = analyze_num_bought(i4_num[:10]) #put each num_cat into calculator to get #[total_winning, draw_count, sorted_num_hit] return [i24_winnings,i12_winnings,i6_winnings,i4_winnings]
##from date_simulator import date_creator ## ##from file_handler import write_to ## # str_combine() has to be used to produce string data suitable for saving into txt file ##from i12_analysis import separate ##from i12_analysis import identify import prize_calc ## ===== WEB PARSING STAGE ===== ## print "result_24m : 2013/09/01 to 2013/09/30\n" result_24m_raw = get_data("2013/09/01", "2013/09/30") print "result_23m : 2013/10/01 to 2013/10/31\n" result_23m_raw = get_data("2013/10/01", "2013/10/31") print "result_22m : 2013/11/01 to 2013/11/30\n" result_22m_raw = get_data("2013/11/01", "2013/11/30") print "result_21m : 2013/12/01 to 2013/12/31\n" result_21m_raw = get_data("2013/12/01", "2013/12/31") print "result_20m : 2014/01/01 to 2014/01/31\n" result_20m_raw = get_data("2014/01/01", "2014/01/31") print "result_19m : 2014/02/01 to 2014/02/28\n" result_19m_raw = get_data("2014/02/01", "2014/02/28")
def analyze_num_bought(num_bought): ## ========== WEB PARSING STAGE ========== ## start = "2015/08/01" end = "2015/08/31" print "Getting winnings data: " + start + " - " + end raw_result = get_data(start, end) combined_result = combine(raw_result) i24 = num_cat_sort_module.get_i24(combined_result) i12 = num_cat_sort_module.get_i12(combined_result) i6 = num_cat_sort_module.get_i6(combined_result) i4 = num_cat_sort_module.get_i4(combined_result) ## ========== CALCULATE THE NUM OF DRAW WITHIN STIPULATED RANGE ==========# draw_count = 0 for each_draw in combined_result: draw_count += each_draw[3] ## ========== GET WINNING FOR EACH NUM ========== ## i24_num_winning = {} for each_draw in i24: num = each_draw[0] amount = prize_calc.i24_prize_calc(each_draw) if num in i24_num_winning: i24_num_winning[num] += amount else: i24_num_winning[num] = amount i12_num_winning = {} for each_draw in i12: num = each_draw[0] amount = prize_calc.i12_prize_calc(each_draw) if num in i12_num_winning: i12_num_winning[num] += amount else: i12_num_winning[num] = amount i6_num_winning = {} for each_draw in i6: num = each_draw[0] amount = prize_calc.i6_prize_calc(each_draw) if num in i6_num_winning: i6_num_winning[num] += amount else: i6_num_winning[num] = amount i4_num_winning = {} for each_draw in i4: num = each_draw[0] amount = prize_calc.i4_prize_calc(each_draw) if num in i4_num_winning: i4_num_winning[num] += amount else: i4_num_winning[num] = amount ## ========== CHECK NUM-WINNING DICT AGAINST GIVEN NUM LIST ========== ## num_hit = [] #list of num that hit total_winning = 0 # store total winning all_num_cat_winning = {24:i24_num_winning,12:i12_num_winning,6:i6_num_winning,4:i4_num_winning} #dict mapping each num_cat to its winning for each_num in num_bought: each_num_perm = gen_perm(each_num) # generate all possible permutations for num bought num_cat = check_num_cat(each_num) num_winning = all_num_cat_winning[num_cat] for each_perm in each_num_perm: str_each_num = str(each_perm) if str_each_num in num_winning: total_winning += num_winning[str_each_num] new = [str_each_num, num_winning[str_each_num]] num_hit.append(new) sorted_num_hit = sorted(num_hit, key=getKey, reverse=True) return_lst = [total_winning, draw_count, sorted_num_hit] return return_lst
def parse_data(self): ## ===== WEB PARSING STAGE ===== ## print "result_24m : 2013/09/01 to 2013/09/30\n" result_24m_raw = get_data("2013/09/01", "2013/09/30") print "result_23m : 2013/10/01 to 2013/10/31\n" result_23m_raw = get_data("2013/10/01", "2013/10/31") print "result_22m : 2013/11/01 to 2013/11/30\n" result_22m_raw = get_data("2013/11/01", "2013/11/30") print "result_21m : 2013/12/01 to 2013/12/31\n" result_21m_raw = get_data("2013/12/01", "2013/12/31") print "result_20m : 2014/01/01 to 2014/01/31\n" result_20m_raw = get_data("2014/01/01", "2014/01/31") print "result_19m : 2014/02/01 to 2014/02/28\n" result_19m_raw = get_data("2014/02/01", "2014/02/28") print "result_18m : 2014/03/01 to 2014/03/31\n" result_18m_raw = get_data("2014/03/01", "2014/03/31") print "result_17m : 2014/04/01 to 2014/04/30\n" result_17m_raw = get_data("2014/04/01", "2014/04/30") print "result_16m : 2014/05/01 to 2014/05/31\n" result_16m_raw = get_data("2014/05/01", "2014/05/31") print "result_15m : 2014/06/01 to 2014/06/30\n" result_15m_raw = get_data("2014/06/01", "2014/06/30") print "result_14m : 2014/07/01 to 2014/07/31\n" result_14m_raw = get_data("2014/07/01", "2014/07/31") print "result_13m : 2014/08/01 to 2014/08/31\n" result_13m_raw = get_data("2014/08/01", "2014/08/31") print "result_12m : 2014/09/01 to 2014/09/30\n" result_12m_raw = get_data("2014/09/01", "2014/09/30") print "result_11m : 2014/10/01 to 2014/10/31\n" result_11m_raw = get_data("2014/10/01", "2014/10/31") print "result_10m : 2014/11/01 to 2014/11/30\n" result_10m_raw = get_data("2014/11/01", "2014/11/30") print "result_9m : 2014/12/01 to 2014/12/31\n" result_9m_raw = get_data("2014/12/01", "2014/12/31") print "result_8m : 2015/01/01 to 2015/01/31\n" result_8m_raw = get_data("2015/01/01", "2015/01/31") print "result_7m : 2015/02/01 to 2015/02/28\n" result_7m_raw = get_data("2015/02/01", "2015/02/28") print "result_6m : 2015/03/01 to 2015/03/31\n" result_6m_raw = get_data("2015/03/01", "2015/03/31") print "result_5m : 2015/04/01 to 2015/04/30\n" result_5m_raw = get_data("2015/04/01", "2015/04/30") print "result_4m : 2015/05/01 to 2015/05/31\n" result_4m_raw = get_data("2015/05/01", "2015/05/31") print "result_3m : 2015/06/01 to 2015/06/30\n" result_3m_raw = get_data("2015/06/01", "2015/06/30") print "result_2m : 2015/07/01 to 2015/07/31\n" result_2m_raw = get_data("2015/07/01", "2015/07/31") print "result_1m : 2015/08/01 to 2015/08/31\n" result_1m_raw = get_data("2015/08/01", "2015/08/31") result_raw = [result_24m_raw,result_23m_raw,result_22m_raw,result_21m_raw,result_20m_raw, result_19m_raw,result_18m_raw,result_17m_raw,result_16m_raw,result_15m_raw, result_14m_raw,result_13m_raw,result_12m_raw,result_11m_raw,result_10m_raw, result_9m_raw,result_8m_raw,result_7m_raw,result_6m_raw,result_5m_raw, result_4m_raw,result_3m_raw,result_2m_raw,result_1m_raw] set_result_raw(result_raw)