Python火车票代码

简介:

前言:我想在源文章里加入下面一段来着,但是实在加不上,报什么405,造成安全威胁,不好意思哈各位,这么点内容还另起一章实在不好意思哈。

    千万别一直挂着会封ip的,别问我怎么知道的,我不想说T_T


代码如下:

虽然还是存在很多的问题,但是真的不愿意改了,票买到了就没什么动力,大家懂得,上面的代码的确存在问题不好意思:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# -*- coding: utf-8 -*-
"""
Created on Fri Dec 04 00:35:24 2015
 
@author: Ye
"""
 
from  splinter.browser  import  Browser
from  time  import  sleep
 
#用户名,密码
username  =  "用户名"
passwd  =  "密码"
#cookies值得自己去找,下面两个分别是上海,长沙,怎么找blog中说明了
starts  =  "%u4E0A%u6D77%2CSHH"
ends  =  "%u957F%u6C99%2CCSQ"
#时间格式2016-01-31
dtime  =  "2016-02-02"
#车次,选择第几趟,0则从上之下依次点击
order  =  0
###乘客名
pa  =  u "乘客名(常用联系人)"
###车次类型
ttype = "GC-高铁/城际"
 
#网址
ticket_url  =  "https://kyfw.12306.cn/otn/leftTicket/init"
login_url  =  "https://kyfw.12306.cn/otn/login/init"
initmy_url  =  "https://kyfw.12306.cn/otn/index/initMy12306"
config_url  =  "https://kyfw.12306.cn/otn/confirmPassenger/initDc"
 
def  login():
b.find_by_text(u "登录" ).click()
sleep( 3 )
b.fill( "loginUserDTO.user_name" ,username)
sleep( 1 )
b.fill( "userDTO.password" ,passwd)
sleep( 1 )
b.execute_script( 'alert("自行输入验证码吧~")' )
print  u "等待验证码,自行输入..."
sleep( 10 )
 
def  huoche():
global  b
=  Browser(driver_name = "chrome" )
b.visit(ticket_url)
b.execute_script( 'alert("开始刷票喽~~~~")' )
sleep( 2 )
b.get_alert().dismiss()
 
while  b.is_text_present(u "登录" ):
sleep( 1 )
login()
if  b.url  = =  initmy_url:
break
 
try :
#跳回购票页面
b.visit(ticket_url)
 
#加载查询信息
b.cookies.add({ "_jc_save_fromStation" :starts})
b.cookies.add({ "_jc_save_toStation" :ends})
b.cookies.add({ "_jc_save_fromDate" :dtime})
b. reload ()
=  1
 
#循环点击预订
if  order ! =  0 :
while  b.url  = =  ticket_url:
b.find_by_text(u "查询" ).click()
#                b.find_by_text(ttype).click()
 
if  b.find_by_text(u "预订" ):
sleep( 0.3 )
b.find_by_text(u "预订" )[order  -  1 ].click()
print  b.url
 
if  b.is_text_present(u "证件号码" ,wait_time = 0.2 ):
#                        print [ i.text for i in b.find_by_text(pa) ]
b.find_by_text(pa)[ 1 ].click()
 
else :
b.execute_script( 'alert("似乎没有可预订选项")' )
b.get_alert().dismiss()
pass
 
else :
while  b.url  = =  ticket_url:
b.find_by_text(u "查询" ).click()
if  b.find_by_text(u "预订" ):
sleep( 0.3 )
for  in  b.find_by_text(u "预订" ):
i.click()
sleep( 0.1 )
if  b.is_text_present(u "证件号码" ):
b.find_by_text(pa)[ 1 ].click()
 
else :
b.execute_script( 'alert("似乎没有可预订选项")' )
b.get_alert().dismiss()
pass
 
b.execute_script( 'alert("能做的都做了")' )
b.get_alert().dismiss()
 
print   u "能做的都做了.....不再对浏览器进行任何操作"
 
except  Exception:
print  u "出错了...."
 
if  __name__  = =  "__main__" :
huoche()

放上来怎么没有缩进了T_T

好吧,还是百度云吧

http://pan.baidu.com/s/1gdTu7cR


本文转自 youerning 51CTO博客,原文链接:http://blog.51cto.com/youerning/1719911


相关文章
|
5天前
|
并行计算 C语言 开发者
优化Python代码的五大技巧
Python作为一种流行的编程语言,在各种应用场景中广泛使用。然而,随着项目规模的增长和需求的变化,Python代码的性能和可维护性也成为了关键问题。本文将介绍优化Python代码的五大技巧,帮助开发者提升代码效率和质量。
|
15天前
|
监控 Python
Python中的装饰器:提升代码灵活性与可读性
在Python编程中,装饰器是一种强大的工具,能够提升代码的灵活性和可读性。本文将介绍装饰器的基本概念、使用方法以及实际应用场景,帮助读者更好地理解和利用这一功能。
|
17天前
|
人工智能 数据可视化 数据挖掘
【python】Python航空公司客户价值数据分析(代码+论文)【独一无二】
【python】Python航空公司客户价值数据分析(代码+论文)【独一无二】
|
22天前
|
数据采集 JSON 数据可视化
【python】python懂车帝数据可视化(代码+报告)
【python】python懂车帝数据可视化(代码+报告)
|
22天前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
|
16天前
|
缓存 监控 算法
优化Python代码性能的10个技巧
提高Python代码性能是每个开发者都需要关注的重要问题。本文将介绍10个实用的技巧,帮助你优化Python代码,提升程序的运行效率和性能表现。无论是避免内存泄漏、减少函数调用次数,还是使用适当的数据结构,都能在不同场景下发挥作用,使你的Python应用更加高效稳定。
|
2天前
|
人工智能 Python
【Python实用技能】建议收藏:自动化实现网页内容转PDF并保存的方法探索(含代码,亲测可用)
【Python实用技能】建议收藏:自动化实现网页内容转PDF并保存的方法探索(含代码,亲测可用)
19 0
|
2天前
|
人工智能 Python
【AI大模型应用开发】【LangChain系列】实战案例1:用LangChain写Python代码并执行来生成答案
【AI大模型应用开发】【LangChain系列】实战案例1:用LangChain写Python代码并执行来生成答案
6 0
|
2天前
|
Linux 网络安全 开发工具
【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github
【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github
10 0
|
2天前
|
数据安全/隐私保护 Python
Python中的装饰器:提升代码可读性和灵活性
Python中的装饰器是一种强大的编程工具,能够提升代码的可读性和灵活性。本文将深入探讨装饰器的原理和用法,以及如何利用装饰器来简化代码、实现日志记录、权限控制等功能,从而让你的Python代码更加优雅和高效。

热门文章

最新文章