这是一个系列,记录我练习python时的代码,有些是参考网上代码,送给那些想要学习python的人。可以相互交流, wx: Lxp911221 喜欢的加我吧

这篇是一个抢票软件,有登录,自动选座,自动下单功能。用的splinter.browser 测试库实现主要功能

from splinter.browser import Browser
from time import sleep
import traceback
import time, sysclass huoche(object):"""docstring for huoche"""driver_name=''executable_path=''#用户名,密码username = u"用户名"passwd = u"密码"# cookies值得自己去找, 下面两个分别是上海, 太原南starts = u"%u4E0A%u6D77%2CSHH"ends = u"%u6F4D%u574A%2CWFK"# 时间格式2018-01-19dtime = u"2018-01-31"# 车次,选择第几趟,0则从上之下依次点击order = 0###乘客名users = [u"user1",u"user2"]##席位xb = u"二等座"pz=u"成人票""""网址"""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"buy="https://kyfw.12306.cn/otn/confirmPassenger/initDc"login_url='https://kyfw.12306.cn/otn/login/init'def __init__(self):self.driver_name='chrome'self.executable_path='/usr/local/bin/chromedriver'def login(self):self.driver.visit(self.login_url)self.driver.fill("loginUserDTO.user_name", self.username)# sleep(1)self.driver.fill("userDTO.password", self.passwd)print (u"等待验证码,自行输入...")while True:if self.driver.url != self.initmy_url:sleep(1)else:breakdef start(self):self.driver=Browser(driver_name=self.driver_name,executable_path=self.executable_path)self.driver.driver.set_window_size(1400, 1000)self.login()# sleep(1)self.driver.visit(self.ticket_url)try:print (u"购票页面开始...")# sleep(1)# 加载查询信息self.driver.cookies.add({"_jc_save_fromStation": self.starts})self.driver.cookies.add({"_jc_save_toStation": self.ends})self.driver.cookies.add({"_jc_save_fromDate": self.dtime})self.driver.reload()count=0if self.order!=0:while self.driver.url==self.ticket_url:self.driver.find_by_text(u"查询").click()count += 1print (u"循环点击查询... 第 %s 次" % count)# sleep(1)try:self.driver.find_by_text(u"预订")[self.order - 1].click()except Exception as e:print (e)print (u"还没开始预订")continueelse:while self.driver.url == self.ticket_url:self.driver.find_by_text(u"查询").click()count += 1print (u"循环点击查询... 第 %s 次" % count)# sleep(0.8)try:for i in self.driver.find_by_text(u"预订"):i.click()sleep(1)except Exception as e:print (e)print (u"还没开始预订 %s" %count)continueprint (u"开始预订...")# sleep(3)# self.driver.reload()sleep(1)print (u'开始选择用户...')for user in self.users:self.driver.find_by_text(user).last.click()print (u"提交订单...")sleep(1)# self.driver.find_by_text(self.pz).click()# self.driver.find_by_id('').select(self.pz)# # sleep(1)# self.driver.find_by_text(self.xb).click()# sleep(1)self.driver.find_by_id('submitOrder_id').click()# print u"开始选座..."# self.driver.find_by_id('1D').last.click()# self.driver.find_by_id('1F').last.click()sleep(1.5)print (u"确认选座...")self.driver.find_by_id('qr_submit_id').click()except Exception as e:print (e)if __name__ == '__main__':huoche=huoche()huoche.start()

python 学习笔记一 自动抢票软件相关推荐

  1. 【Bypass】12306铁路自动抢票软件,增强通知

    Bypass12306分流抢票软件(全自动抢票+后补) 一年一度的抢票大战又要开始啦.Bypass-(分流抢票),来自大佬@Cheney.小风,原12306Bypass分流抢票客户端,它是一款电脑端自 ...

  2. 五一出行一票难求,用Python实现12306火车票自动抢票,省心省力!

    最近在学Python,所以用Python写了这个12306抢票脚本,分享出来,与大家共同交流和学习,有不对的地方,请大家多多指正.话不多说,进入正题: 在进入正题之前,我想说明一下,由于12306官网 ...

  3. python学习:12306火车票抢票代码公开揭秘

    火车票抢票代码公开揭秘 市场上很多火车票抢票软件大家应该非常熟悉,但很少有人研究具体是怎么实现的,所以觉得很神秘,其实很简单.下面使用Python模拟抢票程序,给大家揭秘抢票到底是怎么回事. 该代码仅 ...

  4. 12306自动抢票软件哪个好?记者亲测体验

    春运期间的火车票可谓一票难求,广大购票者抢票需求难以满足.在网上,铺天盖地的抢票插件也弄不清到底选哪家好.不要急,下面为大家介绍几款小编亲身实践过的功能强大的抢票软件,希望可以帮助大家顺利回家过年! ...

  5. 自动抢票软件哪个好?

    抢票软件介绍 随着互联网的进一步普及,全民抢票的时代已经到来,移动互联网的到来让互联网抢票也在悄然的发生改变. 从最开始的网页抢票再到现在的手机APP抢票,都在印证着互联网发展方向的改变.最开始的抢票 ...

  6. 火车票·自动抢票软件

    本文介绍的是用Python语言实现 12306 自动预定列车票,也就是坊间常说的"抢票",但个人觉得,这不算是"抢",只不过是一定程度的自动化. 软件作者个人觉 ...

  7. python学习笔记9:SQLite Expert Professional软件的安装

    SQLite Expert Professional 是一款可视化 SQLite数据库管理工具,SQLite Expert允许用户在SQLite 服务器上执行创建.编辑.复制.提取等操作. SQLit ...

  8. 【python学习笔记】自动抓取雅虎新闻的内容

    在雅虎新闻(http://news.yahoo.com/)搜索,过滤掉来源自雅虎新闻的新闻,提取在html源代码中包含的新闻正文,采用计算文段密度并提取最长文段为正文.对文本进行清洗,去除html标记 ...

  9. 周杰伦演唱会总是抢不到票?教你用Python做一个自动抢票脚本!

    相信想去周董演唱会的大家都用过大麦网抢票吧? 可是 抢不到啊 该说不说 我抢到了 那么,今天带大家用Python来制作一个自动抢票的脚本小程序! 知识点: 面向对象编程 selenium 操作浏览器 ...

最新文章

  1. 11月最热论文Top10、五大学科最热论文Top3!
  2. 皮一皮:选第一个选项的人是咋想的?
  3. Theano2.1.5-基础知识之打印出theano的图
  4. 服务器扩充后问题总结:Value too large for defined data type
  5. mysql 自后向前截取函数_【转载】Sqlserver使用Right函数从最右边向前截取固定长度字符串...
  6. Spring中的事务回滚 网上比较不错的文章
  7. 已知若干点求圆心_【求精干货】高中数学知识点总结归纳高一学生必须掌握
  8. Objective-C GCD深入理解
  9. property中的read,write是什么意思?
  10. 搞定Android开发环境部署——非常详细的Android开发环境搭建教程
  11. 流传甚少的seo排名爆破技术全解析
  12. javascript回调函数有什么用
  13. 淘宝CPC、CPM和CPS分别是什么,有什么区别?
  14. CISSP知识点汇总(已完结并通过考试)
  15. Mac环境安装Win虚拟机
  16. IT互联网的一些职位的简称
  17. Mikrotik ROS软路由配置PCC负载均衡实现双宽带叠加
  18. java思路_java编程的思路
  19. 页面布局(1):淘宝首页
  20. Java拆分为姓和名

热门文章

  1. 三运营商拼抢“手机支付”:成本技术大PK
  2. 往届亚洲杯经典回顾。
  3. 在Windows Vista中禁用混合睡眠模式
  4. html绘制图形的关键三步,基于HTML5的绘图——绘制简单图形
  5. java创建excel(不用设置样式,支持xlsx、xls格式, 不支持合并单元格)
  6. qq udp tcp机制
  7. D3D计算着色器入门
  8. UE4风格化水体制作
  9. 三维建筑动画制作流程
  10. 如何使用PhotoShop压缩图片