From 0bdccd45266e2c0fdf459d250460d318052246c1 Mon Sep 17 00:00:00 2001 From: wenxianping <931128603@qq.com> Date: Thu, 25 Jan 2018 15:52:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=20expect=5Frefresh=5Finterva?= =?UTF-8?q?l=20=E6=97=A0=E7=94=A8=E5=AD=97=E6=AE=B5=EF=BC=8C=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 ++ config/ticket_config.yaml | 36 ++++++++++++++++-------------------- init/select_ticket_info.py | 9 +++------ tkcode | Bin 13119 -> 10842 bytes 4 files changed, 21 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 691990e..81820e5 100644 --- a/README.md +++ b/README.md @@ -189,5 +189,7 @@ - 修复bug - 优化抢票功能 +- 2018.1.25更新 + - 删除 expect_refresh_interval 无用字段,优化代码 diff --git a/config/ticket_config.yaml b/config/ticket_config.yaml index 5f6aac1..6a90bec 100644 --- a/config/ticket_config.yaml +++ b/config/ticket_config.yaml @@ -38,21 +38,18 @@ # password: "授权码" # host: "smtp.qq.com" - set: station_dates: -# - "2018-01-27" -# - "2018-01-28" - - "2018-02-09" - - "2018-02-10" -# - "2018-02-09" + - "2018-02-22" + - "2018-02-21" + station_trains: - - "G4741" - - "G2365" - - "G1371" - - "G1337" - - "G1377" - - "G1329" + - "G2366" +# - "G2365" +# - "G1371" +# - "G1337" +# - "G1377" +# - "G1329" # - "G1302" # - "G1372" # - "G1326" @@ -65,8 +62,8 @@ set: # - "G1373" # - "G1363" # - "G4933" - from_station: "上海" - to_station: "邵阳" + from_station: "邵阳" + to_station: "上海" set_type: - "二等座" is_more_ticket: True @@ -76,25 +73,24 @@ set: 12306count: # - uesr: "" # - pwd: "apple1995" - - uesr: "931128603@qq.com" + - uesr: "@qq.com" - pwd: "QWERTY" -select_refresh_interval: 0.5 -expect_refresh_interval: 0.1 +select_refresh_interval: 1 ticket_black_list_time: 3 is_aotu_code: True aotu_code_type: 2 #enable_proxy: False damatu: - uesr: "931128603" + uesr: "" pwd: "qazWSX1995" email_conf: is_email: True - email: "931128603@qq.com " + email: "@qq.com " notice_email_list: "61995120@qq.com" - username: "931128603" + username: "" password: "xwopwxbkupbqbfgb" host: "smtp.qq.com" diff --git a/init/select_ticket_info.py b/init/select_ticket_info.py index 1ac496b..14fa0f8 100644 --- a/init/select_ticket_info.py +++ b/init/select_ticket_info.py @@ -26,7 +26,7 @@ sys.setdefaultencoding('utf-8') class select: def __init__(self): - self.from_station, self.to_station, self.station_dates, self._station_seat, self.is_more_ticket, self.ticke_peoples, self.select_refresh_interval, self.station_trains, self.expect_refresh_interval, self.ticket_black_list_time = self.get_ticket_info() + self.from_station, self.to_station, self.station_dates, self._station_seat, self.is_more_ticket, self.ticke_peoples, self.select_refresh_interval, self.station_trains, self.ticket_black_list_time = self.get_ticket_info() self.is_aotu_code = _get_yaml()["is_aotu_code"] self.aotu_code_type = _get_yaml()["aotu_code_type"] self.order_request_params = {} # 订单提交时的参数 @@ -56,10 +56,9 @@ class select: ticke_peoples = ticket_info_config["set"]["ticke_peoples"] select_refresh_interval = ticket_info_config["select_refresh_interval"] station_trains = ticket_info_config["set"]["station_trains"] - expect_refresh_interval = ticket_info_config["expect_refresh_interval"] ticket_black_list_time = ticket_info_config["ticket_black_list_time"] print "*"*20 - print "当前配置:出发站:{0}\n到达站:{1}\n乘车日期:{2}\n坐席:{3}\n是否有票自动提交:{4}\n乘车人:{5}\n刷新间隔:{6}\n候选购买车次:{7}\n未开始刷票间隔时间:{8}\n僵尸票关小黑屋时长:{9}\n".format\ + print "当前配置:出发站:{0}\n到达站:{1}\n乘车日期:{2}\n坐席:{3}\n是否有票自动提交:{4}\n乘车人:{5}\n刷新间隔:{6}\n候选购买车次:{7}\n僵尸票关小黑屋时长:{8}\n".format\ ( from_station, to_station, @@ -69,11 +68,10 @@ class select: ",".join(ticke_peoples), select_refresh_interval, ",".join(station_trains), - expect_refresh_interval, ticket_black_list_time, ) print "*"*20 - return from_station, to_station, station_dates, set_type, is_more_ticket, ticke_peoples, select_refresh_interval, station_trains, expect_refresh_interval, ticket_black_list_time + return from_station, to_station, station_dates, set_type, is_more_ticket, ticke_peoples, select_refresh_interval, station_trains, ticket_black_list_time def get_order_request_params(self): return self.order_request_params @@ -240,7 +238,6 @@ class select: pass else: pass - time.sleep(self.expect_refresh_interval) else: print "车次配置信息有误,或者返回数据异常,请检查 {}".format(station_ticket) diff --git a/tkcode b/tkcode index e3e73b3bc3ddf2563ba97e9f6a22ba920d9a51ce..8fec99236681e9cb2cf0da1e02d850c3931777cc 100644 GIT binary patch delta 9726 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 T=R}{-9^S(u`vKfe;Nt!VglYfp delta 11919 zcma*Nbx@qqvn@Jgkl^m_1WRxRm*7Ezdmuo7AOj3A5crS)!7aE32@U}Um*DR15Zv7% zaPvD=@7z=Gy<2tvSXEv1?cG&fy?TASckc!5-`2mrA_K9dw_&rg_CQUii|+cz0KrJG zV{9WEdB3Ezfhm5=l<%x}{_4u&ih`w+OL+k9Ce$Ut~8-n316Q zbJEQ1_1a63qSVE$n>eobGp9+s4ciuMBE-~!Cv{8Hvuh)*)Ve+Hb9FqWets4)htBF! z+G`Pi*#V=bMH7kT=p zZ_-y;e))yd*TRyy&0R|Yjcf#(dUUi+N;3WqABa)>QCr_mekkWT>hE^9b{0_~sz7Gj zhvT0g^_d&PG2$zhC|tsXQ=oyfCwVOjgdVgeQND6ch20+bdH}Z#H*o zd%T=+f;9lMmr~atSO?AZR_}W|%)|TaMbG*I%T$tToj0YR4U$a;5ot{Pao5h@RM2%; z5#UqUX+Bd#=N`BH0ZTEEsTN(*4@2o*+mL;~lYUZYu^rUkn3~{tpj^I|67TIpy z^P1)9{ilb++TFKy?ap5xv+XAKjs3tY{U>gw>nr7)d`ey>O#4)`Ix zTPzqSFZ4ncwKCIw7)vg{9HvTUuc_JLoC3=_Ra!;6Z5?>4ns3WZ4X z{{yPX-oWG6Fj~RmbC#M1<2p<{e@b(!wuk-p&|_zw9?^IJC+&}kJeQ~zqCQ+LQ~-V4 zD%5=-Q;H1gPh@8hERV5f0}<|qt+-`f9KGKD{is9p-xdg(`=>liNnyfGmQbK0j=vs^ z>}yH)^`ZYp!9rwnCS~&Kc1vk&??U++e^HG>A@XgQexe4^sfXKj*)vE){q8#H!t9AX zUI`sj67rW(Wu~nBGNHwY-r>W?>#gjR`HV_3Yu7%1Iy<7`F7MV$kA4MaUlp;4=NrHPYhwt^QumsrBsK2S&2W_r|xD@{=lnOp;*aXVwHI z0|nKnHB{v`$=(Lpy)QF-2l+b!awA-}SlmrG9#zodc{a^Zxg?E!OFTUq>8Ij|h!&2H1?yN& z*RD7f=kOZqOqs*nao3J$E0FHA?2ghiNMhp2{u$J*`9Ew8WW(Srl6>4)=W{sg2?NBW zb1Zg*1Fg%Hz^H{{feSxgy=8LqqBMgPqihL(R{^zAGF}Ru=r!AdbdkxYSlMDR&E>{* zS4TCTCGes|4e@F)|3eBxBBMawczJi?^tIrs47{)GzxEjMaUn>n5vgPXqP20>OBe5S zR%rtL(6$Unp71|5PGL7+>>Zn63B8Fi=vnaq&!+zWW))-=nQO36`Whxah*LEpZT;v+ z8&e{H`yXP`ND*pk{Lf7N@1!9K5dYsU0sdcJG?1q>wFO$##3|plOy#4*&5(RA6z1~J z$X&X8{Pf~4@%iCDT10(O^=5wbS}AaJH2JDK!`oNVCdtn5YZvL}&cy}Ji8ynL`a)kO z>j5ve)6?W$6HKS!#3HxCMn3sh7Wr4#G=} zC|g{$?cI?@(i(WiE@o^0X}t7L&k#LTkCAw-sb|pmX|>X=oy_u^jX)zuOAgnPh_79z~5 zXLrS%+;#Nb&Skcq09zqlebl-@B6*zRl9d4^U9{y&UjJ3LWyW}1`QRy+P*E!`!c0~dSs7;|~zY~X$|bgVN^>uqWh zOyNfr3^;@MTVfr|*CYAbCun4x;)Y_=6=A8)zb8IlK76uBe1aQT%7gd)DX$S2so@V2|`!#ME(vjGRvH?HKkDDJF{7wM!r~J{^cL||ss1UEeWwhE- zxi+!(+=MI`(uq3rzP#Q!=oPLoB&sJu+BU_%wULM{TU_0Lzc^GI{_s`C7?Iqwy_Agw zBcpcq>;|;Y+!GUNIQTk>f7`_}ndgEz^VNI?xdDo+FXql1p|^qdPmxYuMbWPUMWe6v z&3)x|!DW+<*ehxFE}hu?Y@0q(k~5_e&|brl)5DV2A&1JB`nr5qnuw?Dnee|$Hsskj zfEkJK2M?PflO(BDxx$15f8otnFC__ti97aF%Yh%+iy`AM@}r}a&E5)snzo9E{@;^cU4>m7_ZSWTR(jI`|5BNtTN#hIkDfCnni0>dS*D{Y)SA zRDnOLYWFKs)Pj`SdUpl!1Kw#3Be+AFxC42YSc4HetPm%#iECj1H8t#iC3v_lulLE~ zQz&C~?w5g1aU5?NzOd<1GaP~W8iphEH8`M^ap!iF#dqU(Lx0i#CtAA3uq>+P*FV1Y zNQALvBReJx?n`jsscyBE{MzLBt$Xh)-x$1SY;~OkEf^J+V_7h+s?!jUE)aj1fl6rq|)joeI?l*@j$-Ga<@|rJ8^M>X`v*qcePLknRc4O7Va$rqq6}rPk3`YI?HgTeK zJRBkLEQNse^3PIx-E@LxgUci@j>J=;$Wk$@r5Vk>h8%xtUC7a&L;<(B31C5~>g9<1 zP7lwq?VJ&H4e=05_&Q8=bbT8xihH;l;LBJpxn@wvEv8cB`MKy!pwz)!k#?c><%+Ry z=I6JG5dea`w|qegHleF(sXN|9ya5@X@dQyX6{8*W+mh zpsUab;DOmmNEwu0sEX1OF<}fEJL+WNYZ9}hzL;q4H5D?v>~mt`aGZFR2*YoLR!s@i7C<~pT*@SW98)lNYJod%k^lK+vJq}dniv&<@M5t?X} z$YKyC!U@W0^EXFAXOxQg@xVjoOfNcd^hjtSIMVCfg=^r@>QR3Dj_~Sopv+TCFO9!I z8PK85@n)8TV!dxWRV7d%%FfL#-?Cyv#vcpd7;*TbP*K+1-Tk+Drqmb?jc*k5*z1uL zIdLmFE1E0qmU3!5m_zTX*b>K45zH!NWWg zwIzm-Xh#qXH=HxH;r#kne_z;>qe{~Uiv)<^pBN<=ULT7J1pPD*Whx=Lrem*mZs?~r z!rY1#4d!Bh~3x2zsN#&vcj%Z&Gt=4__mhi5r1mK`aJg+N+Zdz)Wz%2#<3zh~Ui=S3~cvoyP+LY2dc$1XwW7+SrwPIuUyYW!iuD zs53veO0zgu7)E5e#;z7nSDKhb{9##Hd7tqk?2lLa+M1Wo!rISzo!YyP`cY$DztD!r zcFs0xzWCbHUKjWlj9ZVHaDeos}Xi$>)}4z5-AO^AlMhJRX?;rqqZcs@Lf z2J+a49IX=bp92*OFN2n~yHKq-)lGTgdo6quWYt{-mUys=IAuvjaMbBt$2``51@R}0 zs-!Ug*iWoB&5tZ=Qs>qp#vpywrvd5xZK)+!I%+968@q{er)$xL+j~|zS^5IYnd(Ta zPeDE3YGr@iphSrWlnBbq+nJnw29;@IS$P<+4H{*tbOIbgOkO#)Qjk8zivk^L_T!lc zwP0^SY$RhA)Hi5kB^|Bnq)@F~pSvKpSNM zte)ok47sreTDqr1yMQRV^~*u3;<#erPL?$n+}~u6l8~#{sB(hqMYDxJ=lZg6zersR z*;RT1nz6bAp6eY(ifUqYkmG+%w~M+|xAzu0-O`(X^>Uea^-7cm;=P8%)-%B~QT_Xm zSz|iN$&y|p<)^uGq~aUAg~d*$^C|^^%FbZ<8EIGv@_ojAv8se_)`RQAj>bAZ* zBWc+1E(|qF`x)Hd=)2{dTR=?=^v0VuQ7|y%uwmqaaQxoWH$~@!y^15!lmig~A;_*O z@@z=OC1eZPNV8$a<6%7iF0ATvi9p|ll#R9UQ$Zs${Fl@G^A2Qd^>^w&sG=|SQqQry z<)`>78I}y2p^58KU%D2Tb|BzMXKM97$CN(%ugWYkCAsCWTEFVCFruk7ZF^_ve=*+u zR4W0E+h@f3vweX?sS(55aL~gJV&>KK|N|kC{(1W zn>&V>i{aFbWsz*m*2Nn%ud~s

wWUiYA+=fz(=XNu2Al9tV-N-<05cs&r8tjm0Tq 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