
文章插图
前言
Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以小的给各位看官们准备了高价值Python学习视频教程及相关电子版书籍,欢迎前来领取!
利用Python制作自动抢火车票小程序,过年再也不要担心没票了!
前言每次过年很多人都会因为抢不到火车票而回不了家,所以小编利用Python写了一个自动抢火车票的工具,希望大家能抢到火车票,回家过个好年!

文章插图
话不多说,直接上代码:
【用Python抢火车票的简单小程序】@@ -0,0 +1,124 @@# -*- coding: utf-8 -*-"""@author: liuyw"""from splinter.browser import Browserfrom time import sleepimport tracebackimport time, sysclass huoche(object): driver_name = '' executable_path = '' #用户名,密码 username = u"xxx" passwd = u"xxx" # cookies值得自己去找, 下面两个分别是沈阳, 哈尔滨 starts = u"%u6C88%u9633%2CSYT" ends = u"%u54C8%u5C14%u6EE8%2CHBB" # 时间格式2018-01-19 dtime = u"2018-01-19" # 车次,选择第几趟,0则从上之下依次点击 order = 0 ###乘客名 users = [u"xxx",u"xxx"] ##席位 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" def __init__(self): self.driver_name = 'chrome' self.executable_path = 'D:/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: break def 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 = 0 if self.order != 0: while self.driver.url == self.ticket_url: self.driver.find_by_text(u"查询").click() count += 1 print(u"循环点击查询... 第 %s 次" % count) # sleep(1) try: self.driver.find_by_text(u"预订")[self.order - 1].click() except Exception as e: print(e) print(u"还没开始预订") continue else: while self.driver.url == self.ticket_url: self.driver.find_by_text(u"查询").click() count += 1 print(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) continue print(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()
推荐阅读
-
-
活着的弟弟被公证"死亡",哥哥独自继承房产,公证处:这算家庭矛盾
-
时尚穿搭范|普通女孩想要穿得好看,这些重点需要熟背
-
华龙网|嘉陵江上又添一抹亮眼“中国红” 曾家岩嘉陵江大桥今年年底可达通车条件
-
-
姐姐|刘志强儿子保送北大不去,考入国防科大,王者之战失利又能如何?
-
『深扒娱乐圈圈』四年残值率70%,还不怕坏,加价都一车难求,Q5都怕的“大厂造”
-
-
「realmeQ」realme真我大师版盘点 无意识设计与realme本真设计融合
-
-
博科园■将量子杂质理论,应用到光的量子流体!,从冷原子到固态半导体
-
陈牧驰再添新料,牵扯出多位当红男星,邓为黄景瑜罗云熙均受牵连
-
装置分析|当着美军面命中美后院,不是俄罗斯所为!一枚洲际导弹飞越大西洋
-
#薛之谦#Theshy罕见唱歌,粉丝却吐槽他在“念经”,歌词全靠编加吨吨吨
-
印度|我军再划禁飞区,美军机还敢硬闯当活靶?专家:可击落,合法!
-
那一夕艾草的憧影|掏出280多根金条,结果让人意想不到,保洁阿姨清理男生厕所时
-
大众网·海报新闻@您家菜籽油是低芥酸吗?鲁花低芥酸菜籽油 又香
-
硕士|预增!首创股份:预计2020年半年度净利润同比增加25%~35%
-
成都兴城|15-7到2-1!斩5劲敌+92分钟绝杀!冲超黑马一路狂飙,争3年奇迹
-
逍遥阁娱乐1|,看完你中了几个,高僧:人走运前有3个征兆,有两个以上恭喜了