diff --git a/init/select_ticket_info.py b/init/select_ticket_info.py index b1bcb02..6defe99 100644 --- a/init/select_ticket_info.py +++ b/init/select_ticket_info.py @@ -423,21 +423,21 @@ class select: if "status" in getQueueCountResult and getQueueCountResult["status"] is True: if "countT" in getQueueCountResult["data"]: ticket = getQueueCountResult["data"]["ticket"] - ticket_split = ticket.split(",")[1] if ticket.find(",") != -1 else ticket - if set_type == "无座": # 修改无座和硬座的座位号提交是个字符串的问题 - ticket = ticket_split[1] - elif set_type == "硬座": - ticket = ticket_split[0] + ticket_split = sum(ticket.split(",")) if ticket.find(",") != -1 else ticket + # if set_type == "无座": # 修改无座和硬座的座位号提交是个字符串的问题 + # ticket = ticket_split[1] + # elif set_type == "硬座": + # ticket = ticket_split[0] countT = getQueueCountResult["data"]["countT"] if int(countT) is 0: - if int(ticket) < len(self.user_info): + if int(ticket_split) < len(self.user_info): print("当前余票数小于乘车人数,放弃订票") else: - print("排队成功, 当前余票还剩余:" + ticket + "张") + print("排队成功, 当前余票还剩余:" + ticket_split + "张") if self.checkQueueOrder(): return True else: - print("当前排队人数:" + str(countT) + "当前余票还剩余:" + getQueueCountResult["data"]["ticket"]+ "张,继续排队中") + print("当前排队人数:" + str(countT) + "当前余票还剩余:" + ticket_split + "张,继续排队中") else: print("排队发现未知错误{0},将此列车 {1}加入小黑屋".format(getQueueCountResult, train_no)) self.ticket_black_list[train_no] = datetime.datetime.now() @@ -543,7 +543,7 @@ class select: 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"]: + elif "data" in queryMyOrderNoCompleteResult and "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"]) diff --git a/myUrllib/httpUtils.py b/myUrllib/httpUtils.py new file mode 100644 index 0000000..e0f6504 --- /dev/null +++ b/myUrllib/httpUtils.py @@ -0,0 +1,54 @@ +# -*- coding: utf8 -*- +import datetime +import requests + + +class HTTPClient(object): + + def __init__(self): + """ + :param method: + :param headers: Must be a dict. Such as headers={'Content_Type':'text/html'} + """ + self.session = requests.session() + self._set_header() + + def _set_header(self): + """设置header""" + add_header = { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8", + "X-Requested-With": "xmlHttpRequest", + "User-Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36", + "Referer": "https://kyfw.12306.cn/otn/login/init", + "Accept": "*/*", + } + self.session.headers.update(add_header) + + def get(self, url, proxy=None, **kwargs): + if proxy: + proxies = {"http": proxy} + else: + proxies = "" + response = self.session.request(method="GET", + url=url, + proxies=proxies, + **kwargs) + if response.status_code == 200: + return response.content + else: + print("请求失败。{0}".format(response)) + + def post(self, url, data=None, proxy=None, **kwargs): + if proxy: + proxies = {"http": proxy} + else: + proxies = "" + response = self.session.request(method="POST", + url=url, + data=data, + proxies=proxies, + **kwargs) + if response.status_code == 200: + return response.content + else: + print("请求失败。{0}".format(response)) \ No newline at end of file diff --git a/tkcode b/tkcode index 164ba77..5f1fef3 100644 Binary files a/tkcode and b/tkcode differ