def ticketQuery(self, query): def run(self, query): try: url = 'https://kyfw.12306.cn/otn/leftTicket/query?' queryDate = ['leftTicketDTO.train_date=' + str(query['orderRequest.train_date']), 'leftTicketDTO.from_station=' + str(query['orderRequest.from_station_telecode']), 'leftTicketDTO.to_station=' + str(query['orderRequest.to_station_telecode']), 'purpose_codes=' + str(query['includeStudent'])] response = urllib.request.urlopen(url + '&'.join(queryDate)) return {'s': True, 'r': response.read().decode()} except: return {'s': False, 'r': ''} re = run(self, query) while not re['s']: re = run(self, query) return stringHander.trimTrains(re['r'])
response = self.opener.open(req) self.updateCookie() return stringHander.checkOrderImageCode(response.read().decode()) if __name__ == '__main__': core = Core() #core.getRandCodeImage() #print(core.checkLoginCodeValidate('s9xy')) #print(core.loginAyncSuggest('xuzhixiong_909090','city909124951','s9xy')) request = urllib.request.urlopen( 'https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date=2013-12-31&leftTicketDTO.from_station=GZQ&leftTicketDTO.to_station=QVQ&purpose_codes=ADULT' ) request = stringHander.trimTrains(request.read().decode()) s = request[0] '''s = { "train_no": "63000K912607", "station_train_code": "K9126", "start_station_telecode": "GZQ", "start_station_name": "广州", "end_station_telecode": "AOQ", "end_station_name": "永州", "from_station_telecode": "GZQ", "from_station_name": "广州", "to_station_telecode": "QWQ", "to_station_name": "祁阳", "start_time": "23:35", "arrive_time": "07:31", "day_difference": "1", "train_class_name": "", "lishi": "07:56", "canWebBuy": "Y", "lishiValue": "476", "yp_info": "1008603563403050001410086003243015600000", "control_train_day": "20991231", "start_train_date": "20131231", "seat_feature": "W3431333", "yp_ex": "10401030", "train_seat_feature": "3", "seat_types": "1413", "location_code": "Q6", "from_station_no": "01", "to_station_no": "06", "control_day": 19, "sale_time": "1200", "is_support_card": "0", "gg_num": "--", "gr_num": "--", "qt_num": "--", "rw_num": "14", "rz_num": "--", "tz_num": "--", "wz_num": "有", "yb_num": "--", "yw_num": "无", "yz_num": "有", "ze_num": "--", "zy_num": "--", "swz_num": "--",
req.add_header('X-Requested-With', 'XMLHttpRequest') response = self.opener.open(req) self.updateCookie() return stringHander.checkOrderImageCode(response.read().decode()) if __name__ == '__main__': core = Core() #core.getRandCodeImage() #print(core.checkLoginCodeValidate('s9xy')) #print(core.loginAyncSuggest('xuzhixiong_909090','city909124951','s9xy')) request = urllib.request.urlopen( 'https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date=2013-12-31&leftTicketDTO.from_station=GZQ&leftTicketDTO.to_station=QVQ&purpose_codes=ADULT') request = stringHander.trimTrains(request.read().decode()) s = request[0] '''s = { "train_no": "63000K912607", "station_train_code": "K9126", "start_station_telecode": "GZQ", "start_station_name": "广州", "end_station_telecode": "AOQ", "end_station_name": "永州", "from_station_telecode": "GZQ", "from_station_name": "广州", "to_station_telecode": "QWQ", "to_station_name": "祁阳", "start_time": "23:35", "arrive_time": "07:31", "day_difference": "1", "train_class_name": "", "lishi": "07:56", "canWebBuy": "Y", "lishiValue": "476", "yp_info": "1008603563403050001410086003243015600000", "control_train_day": "20991231", "start_train_date": "20131231", "seat_feature": "W3431333", "yp_ex": "10401030", "train_seat_feature": "3", "seat_types": "1413", "location_code": "Q6", "from_station_no": "01", "to_station_no": "06", "control_day": 19, "sale_time": "1200", "is_support_card": "0", "gg_num": "--", "gr_num": "--", "qt_num": "--", "rw_num": "14", "rz_num": "--", "tz_num": "--", "wz_num": "有",