From 03fe7a9ba9e9a9f3fcc55b1ecc9c29233b71b7b4 Mon Sep 17 00:00:00 2001 From: wenxianping <931128603@qq.com> Date: Mon, 8 Jan 2018 15:28:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E5=86=97=E4=BD=99=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- {yixing/.idea => .idea}/12306login.iml | 2 +- {yixing/.idea => .idea}/codeStyleSettings.xml | 0 .../dictionaries/wenxianping.xml | 0 .../inspectionProfiles/Project_Default.xml | 0 {yixing => agency}/__init__.py | 0 {yixing/agency => agency}/agency_tools.py | 0 {yixing/agency => agency}/proxy_list | 0 {yixing/agency => config}/__init__.py | 0 {yixing/config => config}/ticketConf.py | 0 {yixing/config => config}/ticket_config.yaml | 8 ++-- {yixing/config => damatuCode}/__init__.py | 0 .../damatuCode => damatuCode}/damatuWeb.py | 3 +- {yixing/damatuCode => init}/__init__.py | 0 {yixing/init => init}/login.py | 7 ++- {yixing/init => init}/select_ticket_info.py | 40 +++++++++--------- .../PassengerUserException.py | 0 {yixing/init => myException}/__init__.py | 0 .../balanceException.py | 0 .../ticketConfigException.py | 0 .../ticketIsExitsException.py | 0 {yixing/myException => myUrllib}/__init__.py | 0 {yixing/myUrllib => myUrllib}/myurllib2.py | 0 yixing/requirements.txt => requirements.txt | 0 yixing/run.py => run.py | 0 yixing/station_name.txt => station_name.txt | 0 tkcode | Bin 0 -> 13710 bytes yixing/myUrllib/__init__.py | 0 27 files changed, 30 insertions(+), 30 deletions(-) rename {yixing/.idea => .idea}/12306login.iml (69%) rename {yixing/.idea => .idea}/codeStyleSettings.xml (100%) rename {yixing/.idea => .idea}/dictionaries/wenxianping.xml (100%) rename {yixing/.idea => .idea}/inspectionProfiles/Project_Default.xml (100%) rename {yixing => agency}/__init__.py (100%) rename {yixing/agency => agency}/agency_tools.py (100%) rename {yixing/agency => agency}/proxy_list (100%) rename {yixing/agency => config}/__init__.py (100%) rename {yixing/config => config}/ticketConf.py (100%) rename {yixing/config => config}/ticket_config.yaml (93%) rename {yixing/config => damatuCode}/__init__.py (100%) rename {yixing/damatuCode => damatuCode}/damatuWeb.py (98%) rename {yixing/damatuCode => init}/__init__.py (100%) rename {yixing/init => init}/login.py (97%) rename {yixing/init => init}/select_ticket_info.py (95%) rename {yixing/myException => myException}/PassengerUserException.py (100%) rename {yixing/init => myException}/__init__.py (100%) rename {yixing/myException => myException}/balanceException.py (100%) rename {yixing/myException => myException}/ticketConfigException.py (100%) rename {yixing/myException => myException}/ticketIsExitsException.py (100%) rename {yixing/myException => myUrllib}/__init__.py (100%) rename {yixing/myUrllib => myUrllib}/myurllib2.py (100%) rename yixing/requirements.txt => requirements.txt (100%) rename yixing/run.py => run.py (100%) rename yixing/station_name.txt => station_name.txt (100%) create mode 100644 tkcode delete mode 100644 yixing/myUrllib/__init__.py diff --git a/yixing/.idea/12306login.iml b/.idea/12306login.iml similarity index 69% rename from yixing/.idea/12306login.iml rename to .idea/12306login.iml index 8cd72c9..774d532 100644 --- a/yixing/.idea/12306login.iml +++ b/.idea/12306login.iml @@ -2,7 +2,7 @@ - + diff --git a/yixing/.idea/codeStyleSettings.xml b/.idea/codeStyleSettings.xml similarity index 100% rename from yixing/.idea/codeStyleSettings.xml rename to .idea/codeStyleSettings.xml diff --git a/yixing/.idea/dictionaries/wenxianping.xml b/.idea/dictionaries/wenxianping.xml similarity index 100% rename from yixing/.idea/dictionaries/wenxianping.xml rename to .idea/dictionaries/wenxianping.xml diff --git a/yixing/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml similarity index 100% rename from yixing/.idea/inspectionProfiles/Project_Default.xml rename to .idea/inspectionProfiles/Project_Default.xml diff --git a/yixing/__init__.py b/agency/__init__.py similarity index 100% rename from yixing/__init__.py rename to agency/__init__.py diff --git a/yixing/agency/agency_tools.py b/agency/agency_tools.py similarity index 100% rename from yixing/agency/agency_tools.py rename to agency/agency_tools.py diff --git a/yixing/agency/proxy_list b/agency/proxy_list similarity index 100% rename from yixing/agency/proxy_list rename to agency/proxy_list diff --git a/yixing/agency/__init__.py b/config/__init__.py similarity index 100% rename from yixing/agency/__init__.py rename to config/__init__.py diff --git a/yixing/config/ticketConf.py b/config/ticketConf.py similarity index 100% rename from yixing/config/ticketConf.py rename to config/ticketConf.py diff --git a/yixing/config/ticket_config.yaml b/config/ticket_config.yaml similarity index 93% rename from yixing/config/ticket_config.yaml rename to config/ticket_config.yaml index 748f536..09ee8ce 100644 --- a/yixing/config/ticket_config.yaml +++ b/config/ticket_config.yaml @@ -21,7 +21,7 @@ #damatu:打码兔账号,用于自动登录 set: - station_date: "2018-02-05" + station_date: "2018-02-06" station_trains: - "G1353" - "G1329" @@ -47,10 +47,10 @@ ticke_peoples: - "梁敏" damatu: - uesr: "" - pwd: "" + uesr: "wenxianping" + pwd: "wen1995" 12306count: - uesr: "@qq.com" + uesr: "931128603@qq.com" pwd: "QWERTY" diff --git a/yixing/config/__init__.py b/damatuCode/__init__.py similarity index 100% rename from yixing/config/__init__.py rename to damatuCode/__init__.py diff --git a/yixing/damatuCode/damatuWeb.py b/damatuCode/damatuWeb.py similarity index 98% rename from yixing/damatuCode/damatuWeb.py rename to damatuCode/damatuWeb.py index b9822ce..9dc7f09 100644 --- a/yixing/damatuCode/damatuWeb.py +++ b/damatuCode/damatuWeb.py @@ -4,7 +4,8 @@ import hashlib import json import base64 import requests -from yixing.myException.balanceException import balanceException + +from myException.balanceException import balanceException def md5str(str): # md5加密字符串 diff --git a/yixing/damatuCode/__init__.py b/init/__init__.py similarity index 100% rename from yixing/damatuCode/__init__.py rename to init/__init__.py diff --git a/yixing/init/login.py b/init/login.py similarity index 97% rename from yixing/init/login.py rename to init/login.py index b0b3408..ebe8efb 100644 --- a/yixing/init/login.py +++ b/init/login.py @@ -4,11 +4,10 @@ import random import json import re from time import sleep -from yixing.config.ticketConf import _get_yaml - -from yixing.damatuCode.damatuWeb import DamatuApi -from yixing.myUrllib import myurllib2 +from config.ticketConf import _get_yaml +from damatuCode.damatuWeb import DamatuApi +from myUrllib import myurllib2 codeimg = 'https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew?module=login&rand=sjrand&%s' % random.random() diff --git a/yixing/init/select_ticket_info.py b/init/select_ticket_info.py similarity index 95% rename from yixing/init/select_ticket_info.py rename to init/select_ticket_info.py index a84bb15..dc587cf 100644 --- a/yixing/init/select_ticket_info.py +++ b/init/select_ticket_info.py @@ -8,11 +8,12 @@ import sys import time from collections import OrderedDict -from yixing.config.ticketConf import _get_yaml -from yixing.myException.PassengerUserException import PassengerUserException -from yixing.myException.ticketConfigException import ticketConfigException -from yixing.myException.ticketIsExitsException import ticketIsExitsException -from yixing.myUrllib import myurllib2 +from config.ticketConf import _get_yaml +from myException.PassengerUserException import PassengerUserException +from myException.ticketConfigException import ticketConfigException +from myException.ticketIsExitsException import ticketIsExitsException +from myException.ticketNumOutException import ticketNumOutException +from myUrllib import myurllib2 reload(sys) sys.setdefaultencoding('utf-8') @@ -399,8 +400,8 @@ class select: if int(ticket) < len(self.user_info): print("当前余票数小于乘车人数,放弃订票") else: - self.checkQueueOrder() - return True + if self.checkQueueOrder(): + return True else: print("正在排队,当前排队人数:" + str(countT) + "当前余票还剩余:" + getQueueCountResult["data"]["ticket"]+ "张") else: @@ -434,7 +435,8 @@ class select: c_data = checkQueueOrderResult["data"] if "data" in checkQueueOrderResult else {} if 'submitStatus' in c_data and c_data['submitStatus']: print("出票成功!") - self.queryOrderWaitTime() + if self.queryOrderWaitTime(): + return True else: if 'errMsg' in c_data and c_data['errMsg']: print("出票失败," + c_data['errMsg'] + "请重新选择。") @@ -470,7 +472,7 @@ class select: orderId = self.queryMyOrderNoComplete() if orderId: print ("恭喜您订票成功,订单号为:{0}, 请立即打开浏览器登录12306,访问‘未完成订单’,在30分钟内完成支付!".format(orderId)) - break + return True else: print("正在排队中,请耐心等待...") elif "msg" in queryOrderWaitTimeResult["data"] and queryOrderWaitTimeResult["data"]["msg"]: @@ -491,9 +493,13 @@ class select: queryMyOrderNoCompleteUrl = "https://kyfw.12306.cn/otn/queryOrder/queryMyOrderNoComplete" data = {"_json_att": None} queryMyOrderNoCompleteResult = json.loads(myurllib2.Post(queryMyOrderNoCompleteUrl, data)) - if "data" in queryMyOrderNoCompleteResult and queryMyOrderNoCompleteResult["data"]: + if "data" in queryMyOrderNoCompleteResult and queryMyOrderNoCompleteResult["data"] and "orderDBList" in queryMyOrderNoCompleteResult["data"] and queryMyOrderNoCompleteResult["data"]["orderDBList"]: orderId = queryMyOrderNoCompleteResult["data"]["orderDBList"][0]["sequence_no"] return orderId + elif "orderCacheDTO" in queryMyOrderNoCompleteResult["data"] and queryMyOrderNoCompleteResult["data"]["orderCacheDTO"]: + if "message" in queryMyOrderNoCompleteResult["data"]["orderCacheDTO"] and queryMyOrderNoCompleteResult["data"]["orderCacheDTO"]["message"]: + print(queryMyOrderNoCompleteResult["data"]["orderCacheDTO"]["message"]["message"]) + raise ticketNumOutException(queryMyOrderNoCompleteResult["data"]["orderCacheDTO"]["message"]["message"]) else: if "message" in queryMyOrderNoCompleteResult and queryMyOrderNoCompleteResult["message"]: print queryMyOrderNoCompleteResult["message"] @@ -532,16 +538,7 @@ class select: if time.strftime('%H:%M:%S', time.localtime(time.time())) > "23:00:00": print "12306休息时间,本程序自动停止,明天早上七点运行" break - set_type = self.submitOrderRequest() - # if set_type: - # if self.check_user(): - # self.submit_station() - # self.getPassengerTicketStr(set_type) - # self.getRepeatSubmitToken() - # self.user_info = self.getPassengerDTOs() - # if self.checkOrderInfo(): - # if self.getQueueCount(): - # break + self.submitOrderRequest() except PassengerUserException as e: print e.message break @@ -551,6 +548,9 @@ class select: except ticketIsExitsException as e: print e.message break + except ticketNumOutException as e: + print e.message + break except ValueError as e: if e.message == "No JSON object could be decoded": print("12306接口无响应,正在重试") diff --git a/yixing/myException/PassengerUserException.py b/myException/PassengerUserException.py similarity index 100% rename from yixing/myException/PassengerUserException.py rename to myException/PassengerUserException.py diff --git a/yixing/init/__init__.py b/myException/__init__.py similarity index 100% rename from yixing/init/__init__.py rename to myException/__init__.py diff --git a/yixing/myException/balanceException.py b/myException/balanceException.py similarity index 100% rename from yixing/myException/balanceException.py rename to myException/balanceException.py diff --git a/yixing/myException/ticketConfigException.py b/myException/ticketConfigException.py similarity index 100% rename from yixing/myException/ticketConfigException.py rename to myException/ticketConfigException.py diff --git a/yixing/myException/ticketIsExitsException.py b/myException/ticketIsExitsException.py similarity index 100% rename from yixing/myException/ticketIsExitsException.py rename to myException/ticketIsExitsException.py diff --git a/yixing/myException/__init__.py b/myUrllib/__init__.py similarity index 100% rename from yixing/myException/__init__.py rename to myUrllib/__init__.py diff --git a/yixing/myUrllib/myurllib2.py b/myUrllib/myurllib2.py similarity index 100% rename from yixing/myUrllib/myurllib2.py rename to myUrllib/myurllib2.py diff --git a/yixing/requirements.txt b/requirements.txt similarity index 100% rename from yixing/requirements.txt rename to requirements.txt diff --git a/yixing/run.py b/run.py similarity index 100% rename from yixing/run.py rename to run.py diff --git a/yixing/station_name.txt b/station_name.txt similarity index 100% rename from yixing/station_name.txt rename to station_name.txt diff --git a/tkcode b/tkcode new file mode 100644 index 0000000000000000000000000000000000000000..7fa38d5635df1fbff8363b410f00afcfc11f60a5 GIT binary patch literal 13710 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 G`9A=*fY{vt literal 0 HcmV?d00001 diff --git a/yixing/myUrllib/__init__.py b/yixing/myUrllib/__init__.py deleted file mode 100644 index e69de29..0000000