优化车票提交订单信息增加检查排队人数方法

remotes/test12306/master
MR.wen 2017-05-21 21:39:31 +08:00
parent c59d1cf8d3
commit c43dc1bab4
10 changed files with 205 additions and 136 deletions

View File

@ -26,9 +26,6 @@
</entry>
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="Python 2.7.11 (C:\Python27\python.exe)" project-jdk-type="Python SDK" />
<component name="SvnConfiguration">
<configuration>$USER_HOME$/.subversion</configuration>
</component>
<component name="VagrantProjectSettings">
<option name="instanceFolder" value="$USER_HOME$/dev/mduia" />
<option name="provider" value="" />

View File

@ -12,10 +12,10 @@
<component name="CoverageDataManager">
<SUITE FILE_PATH="coverage/12306login$test.coverage" NAME="test Coverage Results" MODIFIED="1492940750689" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/12306login$damatuWeb.coverage" NAME="damatuWeb Coverage Results" MODIFIED="1492931635132" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/damatuCode" />
<SUITE FILE_PATH="coverage/12306login$run.coverage" NAME="run Coverage Results" MODIFIED="1495023355687" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/12306login$haha__1_.coverage" NAME="haha (1) Coverage Results" MODIFIED="1493907049091" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/12306login$run.coverage" NAME="run Coverage Results" MODIFIED="1495373855351" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/12306login$haha__1_.coverage" NAME="haha (1) Coverage Results" MODIFIED="1495373303310" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/12306login$haha.coverage" NAME="haha Coverage Results" MODIFIED="1492950969460" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/init" />
<SUITE FILE_PATH="coverage/12306login$select_ticket_info.coverage" NAME="select_ticket_info Coverage Results" MODIFIED="1493048130983" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/init" />
<SUITE FILE_PATH="coverage/12306login$select_ticket_info.coverage" NAME="select_ticket_info Coverage Results" MODIFIED="1495357851023" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/init" />
</component>
<component name="CreatePatchCommitExecutor">
<option name="PATCH_PATH" value="" />
@ -38,10 +38,10 @@
<file leaf-file-name="haha.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/haha.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="114">
<caret line="6" column="0" lean-forward="false" selection-start-line="6" selection-start-column="0" selection-end-line="17" selection-end-column="0" />
<state relative-caret-position="587">
<caret line="32" column="0" lean-forward="false" selection-start-line="32" selection-start-column="0" selection-end-line="33" selection-end-column="0" />
<folding>
<element signature="e#23#34#0" expanded="true" />
<element signature="e#707#718#0" expanded="true" />
</folding>
</state>
</provider>
@ -50,18 +50,31 @@
<file leaf-file-name="select_ticket_info.py" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/init/select_ticket_info.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1176">
<caret line="257" column="80" lean-forward="true" selection-start-line="257" selection-start-column="80" selection-end-line="257" selection-end-column="80" />
<state relative-caret-position="228">
<caret line="228" column="115" lean-forward="false" selection-start-line="228" selection-start-column="113" selection-end-line="228" selection-end-column="115" />
<folding>
<element signature="e#23#34#0" expanded="true" />
<element signature="e#7749#7895#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="login.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/init/login.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="492">
<caret line="130" column="12" lean-forward="true" selection-start-line="130" selection-start-column="12" selection-end-line="130" selection-end-column="12" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="myurllib2.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/myUrllib/myurllib2.py">
<file leaf-file-name="damatuWeb.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/damatuCode/damatuWeb.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="9" lean-forward="false" selection-start-line="0" selection-start-column="9" selection-end-line="0" selection-end-column="9" />
<state relative-caret-position="568">
<caret line="114" column="67" lean-forward="true" selection-start-line="114" selection-start-column="67" selection-end-line="114" selection-end-column="67" />
<folding />
</state>
</provider>
@ -71,7 +84,7 @@
<entry file="file://$PROJECT_DIR$/run.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="152">
<caret line="8" column="5" lean-forward="false" selection-start-line="8" selection-start-column="5" selection-end-line="8" selection-end-column="5" />
<caret line="8" column="5" lean-forward="true" selection-start-line="8" selection-start-column="5" selection-end-line="8" selection-end-column="5" />
<folding />
</state>
</provider>
@ -114,11 +127,11 @@
<option value="$PROJECT_DIR$/init/haha.py" />
<option value="/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_LWPCookieJar.py" />
<option value="$PROJECT_DIR$/run.py" />
<option value="$PROJECT_DIR$/init/login.py" />
<option value="$PROJECT_DIR$/damatuCode/damatuWeb.py" />
<option value="$PROJECT_DIR$/myUrllib/myurllib2.py" />
<option value="$PROJECT_DIR$/init/select_ticket_info.py" />
<option value="$PROJECT_DIR$/init/login.py" />
<option value="$PROJECT_DIR$/haha.py" />
<option value="$PROJECT_DIR$/init/select_ticket_info.py" />
</list>
</option>
</component>
@ -177,6 +190,20 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="12306login" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="12306login" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="damatuCode" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
</panes>
@ -203,11 +230,11 @@
<recent name="$PROJECT_DIR$/headers" />
</key>
<key name="CopyFile.RECENT_KEYS">
<recent name="D:\pyWork\12306login\damatuCode" />
<recent name="D:\pyWork\12306login\init" />
<recent name="$PROJECT_DIR$" />
<recent name="$PROJECT_DIR$/init" />
<recent name="$PROJECT_DIR$/myException" />
<recent name="$PROJECT_DIR$/damatuCode" />
</key>
</component>
<component name="RunDashboard">
@ -540,6 +567,9 @@
<component name="ShelveChangesManager" show_recycled="false">
<option name="remove_strategy" value="false" />
</component>
<component name="SvnConfiguration">
<configuration>$USER_HOME$/.subversion</configuration>
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="2e718905-1b98-4837-bcda-7f12f0a86ca3" name="Default" comment="" />
@ -567,7 +597,7 @@
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.27698308" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.27641654" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3297587" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.15234375" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
@ -618,37 +648,15 @@
<watches-manager />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/init/select_ticket_info.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="702">
<caret line="41" column="28" lean-forward="false" selection-start-line="41" selection-start-column="28" selection-end-line="41" selection-end-column="60" />
<folding>
<element signature="e#23#34#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/run.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/myUrllib/myurllib2.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="5" column="38" lean-forward="false" selection-start-line="5" selection-start-column="38" selection-end-line="5" selection-end-column="38" />
<folding />
</state>
</provider>
</entry>
<entry file="file:///Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_LWPCookieJar.py" />
<entry file="file://$PROJECT_DIR$/init/login.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="378">
<caret line="25" column="49" lean-forward="false" selection-start-line="25" selection-start-column="40" selection-end-line="25" selection-end-column="49" />
<folding>
<element signature="e#41#54#0" expanded="false" />
<element signature="e#1259#1274#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
@ -664,7 +672,7 @@
<state relative-caret-position="702">
<caret line="41" column="28" lean-forward="false" selection-start-line="41" selection-start-column="28" selection-end-line="41" selection-end-column="60" />
<folding>
<element signature="e#23#34#0" expanded="false" />
<element signature="e#23#34#0" expanded="true" />
</folding>
</state>
</provider>
@ -690,6 +698,10 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="378">
<caret line="25" column="49" lean-forward="false" selection-start-line="25" selection-start-column="40" selection-end-line="25" selection-end-column="49" />
<folding>
<element signature="e#41#54#0" expanded="false" />
<element signature="e#1259#1274#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
@ -705,7 +717,7 @@
<state relative-caret-position="702">
<caret line="41" column="28" lean-forward="false" selection-start-line="41" selection-start-column="28" selection-end-line="41" selection-end-column="60" />
<folding>
<element signature="e#23#34#0" expanded="false" />
<element signature="e#23#34#0" expanded="true" />
</folding>
</state>
</provider>
@ -731,6 +743,10 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="162">
<caret line="11" column="130" lean-forward="true" selection-start-line="11" selection-start-column="34" selection-end-line="11" selection-end-column="130" />
<folding>
<element signature="e#41#54#0" expanded="false" />
<element signature="e#1259#1274#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
@ -738,6 +754,10 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding>
<element signature="e#41#54#0" expanded="false" />
<element signature="e#1259#1274#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
@ -747,6 +767,10 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="144">
<caret line="10" column="24" lean-forward="false" selection-start-line="10" selection-start-column="24" selection-end-line="10" selection-end-column="24" />
<folding>
<element signature="e#41#54#0" expanded="false" />
<element signature="e#1259#1274#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
@ -782,6 +806,10 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252">
<caret line="14" column="0" lean-forward="true" selection-start-line="14" selection-start-column="0" selection-end-line="14" selection-end-column="0" />
<folding>
<element signature="e#41#54#0" expanded="false" />
<element signature="e#1259#1274#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
@ -816,51 +844,82 @@
</provider>
</entry>
<entry file="file:///Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py" />
<entry file="file://$PROJECT_DIR$/damatuCode/damatuWeb.py">
<entry file="file://$PROJECT_DIR$/run.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="546">
<caret line="110" column="20" lean-forward="false" selection-start-line="110" selection-start-column="20" selection-end-line="110" selection-end-column="20" />
<state relative-caret-position="152">
<caret line="8" column="5" lean-forward="true" selection-start-line="8" selection-start-column="5" selection-end-line="8" selection-end-column="5" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/init/login.py">
<entry file="file://$PROJECT_DIR$/damatuCode/damatuWeb.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-120">
<caret line="36" column="0" lean-forward="false" selection-start-line="36" selection-start-column="0" selection-end-line="36" selection-end-column="0" />
<state relative-caret-position="568">
<caret line="114" column="67" lean-forward="true" selection-start-line="114" selection-start-column="67" selection-end-line="114" selection-end-column="67" />
<folding />
</state>
</provider>
</entry>
<entry file="file://C:/Python27/Lib/urllib2.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1176">
<caret line="225" column="8" lean-forward="false" selection-start-line="225" selection-start-column="8" selection-end-line="225" selection-end-column="8" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/myUrllib/myurllib2.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="9" lean-forward="false" selection-start-line="0" selection-start-column="9" selection-end-line="0" selection-end-column="9" />
<state relative-caret-position="454">
<caret line="41" column="29" lean-forward="false" selection-start-line="41" selection-start-column="29" selection-end-line="41" selection-end-column="29" />
<folding>
<element signature="e#0#14#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/init/login.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="492">
<caret line="130" column="12" lean-forward="true" selection-start-line="130" selection-start-column="12" selection-end-line="130" selection-end-column="12" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/run.py">
<entry file="file://$USER_HOME$/.PyCharm2017.1/system/python_stubs/-762174762/time.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="152">
<caret line="8" column="5" lean-forward="false" selection-start-line="8" selection-start-column="5" selection-end-line="8" selection-end-column="5" />
<state relative-caret-position="297">
<caret line="103" column="11" lean-forward="true" selection-start-line="103" selection-start-column="11" selection-end-line="103" selection-end-column="11" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.PyCharm2017.1/system/python_stubs/-762174762/datetime.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="477">
<caret line="178" column="8" lean-forward="false" selection-start-line="178" selection-start-column="8" selection-end-line="178" selection-end-column="8" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/haha.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="114">
<caret line="6" column="0" lean-forward="false" selection-start-line="6" selection-start-column="0" selection-end-line="17" selection-end-column="0" />
<state relative-caret-position="587">
<caret line="32" column="0" lean-forward="false" selection-start-line="32" selection-start-column="0" selection-end-line="33" selection-end-column="0" />
<folding>
<element signature="e#23#34#0" expanded="true" />
<element signature="e#707#718#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/init/select_ticket_info.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1176">
<caret line="257" column="80" lean-forward="true" selection-start-line="257" selection-start-column="80" selection-end-line="257" selection-end-column="80" />
<folding />
<state relative-caret-position="228">
<caret line="228" column="115" lean-forward="false" selection-start-line="228" selection-start-column="113" selection-end-line="228" selection-end-column="115" />
<folding>
<element signature="e#23#34#0" expanded="true" />
<element signature="e#7749#7895#0" expanded="false" />
</folding>
</state>
</provider>
</entry>

View File

@ -71,7 +71,7 @@ class DamatuApi():
jres = json.loads(res)
if jres['ret'] == 0:
# 注意这个json里面有retidresultcookie根据自己的需要获取
return (jres['result'])
return jres['result']
else:
return jres['ret']
@ -108,12 +108,11 @@ class DamatuApi():
def main(self):
balance = self.getBalance()
if balance > 40:
if int(balance) > 40:
img_code = self.decode(287).replace('|', ',')
print img_code
return img_code
else:
raise balanceException(u'余额不足,当前余额为: {}'.format(balance))
raise balanceException('余额不足,当前余额为: {}'.format(balance))
# # 调用类型实例:
# # 1.实例化类型 参数是打码兔用户账号和密码

Binary file not shown.

View File

@ -1,32 +1,42 @@
# -*- coding=utf-8 -*-
import json
import sys
import urllib
import urllib2
# # -*- coding=utf-8 -*-
# import json
# import sys
# import urllib
# import urllib2
#
# submitParams = [
# ('secretStr', 1), # 预订提交令牌
# ('train_date', 1), # 车票日期
# ('back_train_date', 1), # 返程日期,没有则为当前日期
# ('tour_flag', 1), # 旅行类型单程dc,与返程fc
# ('purpose_codes', 1), # 标记是否为成人(ADULT)与学生(0X00)
# ('query_from_station_name', 1), # 发站名称,汉字
# ('query_to_station_name', 1) # 到站名称,汉字
# ]
#
# print urllib.unquote()
#
#
#
#
# class a:
# def __init__(self, factory):
# pass
# def b(self):
# pass
#
# class c:
# def __init__(self):
# pass
# def d(self):
# return a().b()
import time
submitParams = [
('secretStr', 1), # 预订提交令牌
('train_date', 1), # 车票日期
('back_train_date', 1), # 返程日期,没有则为当前日期
('tour_flag', 1), # 旅行类型单程dc,与返程fc
('purpose_codes', 1), # 标记是否为成人(ADULT)与学生(0X00)
('query_from_station_name', 1), # 发站名称,汉字
('query_to_station_name', 1) # 到站名称,汉字
]
import datetime
print urllib.unquote()
class a:
def __init__(self, factory):
pass
def b(self):
pass
class c:
def __init__(self):
pass
def d(self):
return a().b()
str = "2017052100:00:00"
m_time = time.mktime(time.strptime(str, "%Y%m%d%H:%M:%S"))
a_time = time.localtime(m_time)
print time.strftime("%a %b %d %Y %H:%M:%S", a_time)
# time_b = time.asctime("%a %b %d %H:%M:%S %Y", str)
# print time_b

View File

@ -3,6 +3,8 @@
import random
import json
import re
from time import sleep
from damatuCode.damatuWeb import DamatuApi
from myUrllib import myurllib2
@ -30,13 +32,13 @@ def cookietp():
def readImg():
global randCode
stoidinput("下载验证码...")
img_path = '/tmp/tkcode'
img_path = 'd:/tkcode'
result = myurllib2.get(codeimg)
try:
open(img_path, 'wb').write(result)
randCode = DamatuApi('wenxianping', 'wen1995', img_path).main()
except OSError as e:
print e
print (e)
pass
@ -126,12 +128,14 @@ def login(user, passwd):
errorinput("验证码有误,第%s次尝试重试" )
else:
stoidinput("验证码通过,开始登录..")
sleep(1)
try:
tresult = json.loads(myurllib2.Post(logurl, logdata), encoding='utf8')
if tresult['data'].__len__() == 0:
if 'data' not in tresult:
errorinput("登录失败: %s" % tresult['messages'][0])
elif 'messages' in tresult and tresult['messages']:
errorinput("登录失败: %s" % tresult['messages'])
else:
stoidinput("登录成功")
myurllib2.Post(surl, ldata)
getUserinfo()

Binary file not shown.

View File

@ -1,14 +1,13 @@
# -*- coding=utf-8 -*-
import json
import time
import datetime
import re
import urllib
import sys
import time
from myUrllib import myurllib2
reload(sys)
sys.setdefaultencoding('utf-8')
class select:
def __init__(self, from_station, to_station):
@ -205,29 +204,16 @@ class select:
oldPassengersStr: 乘客名,证件类型,证件号,乘客类型
:return:
"""
passengerTicketStr = []
oldPassengerStr = []
passengerTicketStr.append(user_info[0]['passenger_id_type_code'])
passengerTicketStr.append(user_info[0]['passenger_name'])
passengerTicketStr.append(user_info[0]['passenger_type'])
passengerTicketStr.append(user_info[0]['passenger_id_no'])
passengerTicketStr.append(user_info[0]['mobile_no'])
oldPassengerStr.append(user_info[0]['passenger_name'])
oldPassengerStr.append(user_info[0]['passenger_type'])
oldPassengerStr.append(user_info[0]['passenger_id_no'])
oldPassengerStr.append(user_info[0]['passenger_type'])
checkOrderInfoUrl = 'https://kyfw.12306.cn/otn/confirmPassenger/checkOrderInfo'
data = {
'cancel_flag': 2,
'bed_level_order_num': 000000000000000000000000000000,
'passengerTicketStr': self.set_type+',0,'+str(passengerTicketStr)+',N',
'oldPassengerStr': str(oldPassengerStr)+'_',
'bed_level_order_num': "000000000000000000000000000000",
'passengerTicketStr': self.set_type+',0,'+user_info[0]['passenger_id_type_code']+","+user_info[0]["passenger_name"]+","+user_info[0]['passenger_type']+","+user_info[0]['passenger_id_no']+","+user_info[0]['mobile_no']+',N',
'oldPassengerStr': user_info[0]['passenger_name']+","+user_info[0]['passenger_type']+","+user_info[0]['passenger_id_no']+","+user_info[0]['passenger_type']+'_',
'tour_flag': 'dc',
'REPEAT_SUBMIT_TOKEN': self.token,
}
checkOrderInfo = json.loads(myurllib2.Post(checkOrderInfoUrl, data))
print (checkOrderInfo)
checkOrderInfo = json.loads(myurllib2.Post(checkOrderInfoUrl, data, ))
if 'data' in checkOrderInfo and checkOrderInfo['data']['submitStatus'] is True:
print ('车票提交通过,正在尝试排队')
elif 'messages' in checkOrderInfo and checkOrderInfo['messages']:
@ -240,23 +226,37 @@ class select:
:param token:
:return:
"""
old_train_date = self.get_ticketInfoForPassengerForm()['queryLeftTicketRequestDTO']['train_date']+"00:00:00" # 模仿12306格式 Sun May 21 2017 00:00:00 GMT+0800 (中国标准时间)
m_time = time.mktime(time.strptime(old_train_date, "%Y%m%d%H:%M:%S"))
l_time = time.localtime(m_time)
new_train_date = time.strftime("%a %b %d %Y %H:%M:%S", l_time)
getQueueCountUrl = 'https://kyfw.12306.cn/otn/confirmPassenger/getQueueCount'
data = {
# 'train_date': 'Sun May 07 2017 00:00:00 GMT+0800',
'train_date': self.ticketInfoForPassengerForm['queryLeftTicketRequestDTO']['train_date'],
'train_no': self.ticketInfoForPassengerForm['queryLeftTicketRequestDTO']['train_no'],
'stationTrainCode': self.ticketInfoForPassengerForm['queryLeftTicketRequestDTO']['station_train_code'],
'train_date': new_train_date,
'train_no': self.get_ticketInfoForPassengerForm()['queryLeftTicketRequestDTO']['train_no'],
'stationTrainCode': self.get_ticketInfoForPassengerForm()['queryLeftTicketRequestDTO']['station_train_code'],
'seatType': self.set_type,
'fromStationTelecode': self.ticketInfoForPassengerForm['queryLeftTicketRequestDTO']['from_station'],
'toStationTelecode': self.ticketInfoForPassengerForm['queryLeftTicketRequestDTO']['to_station'],
'leftTicket': self.ticketInfoForPassengerForm['leftTicketStr'],
'purpose_codes': self.ticketInfoForPassengerForm['purpose_codes'],
'train_location': self.ticketInfoForPassengerForm['train_location'],
'fromStationTelecode': self.get_ticketInfoForPassengerForm()['queryLeftTicketRequestDTO']['from_station'],
'toStationTelecode': self.get_ticketInfoForPassengerForm()['queryLeftTicketRequestDTO']['to_station'],
'leftTicket': self.get_ticketInfoForPassengerForm()['leftTicketStr'],
'purpose_codes': self.get_ticketInfoForPassengerForm()['purpose_codes'],
'train_location': self.get_ticketInfoForPassengerForm()['train_location'],
'REPEAT_SUBMIT_TOKEN': self.token,
}
print(data)
getQueueCountResult = json.loads(myurllib2.Post(getQueueCountUrl, data))
print(getQueueCountResult)
if "status" in getQueueCountResult and getQueueCountResult["status"] is True:
if "countT" in getQueueCountResult["data"]:
countT = getQueueCountResult["data"]["countT"]
if int(countT) is 0:
print("排队成功, 当前余票还剩余 " + getQueueCountResult["data"]["ticket"]+ "")
else:
print("正在排队,当前排队人数 " + str(countT) + "当前余票还剩余 " + getQueueCountResult["data"]["ticket"]+ "")
else:
print("排队发现未知错误")
elif "messages" in getQueueCountResult and getQueueCountResult["messages"]:
print("排队异常,错误信息:"+getQueueCountResult)
else:
print(getQueueCountResult["validateMessages"])
def main(self):
set_type = self.submitOrderRequest()

Binary file not shown.