您现在的位置是:亿华云 > 数据库
自动抢票之 12306 抢票篇
亿华云2025-10-09 07:02:26【数据库】5人已围观
简介本文转载自微信公众号「Python技术」,作者派森酱。转载本文请联系Python技术公众号。大家好,这一篇是 12306 的自动预订车票篇,前篇已经撸完了 12306 的自动登录。小编希望小伙伴们能多
本文转载自微信公众号「Python技术」,自动之抢作者派森酱。抢票转载本文请联系Python技术公众号。票篇
大家好,自动之抢这一篇是抢票 12306 的自动预订车票篇,前篇已经撸完了 12306 的票篇自动登录。小编希望小伙伴们能多给几个赞,自动之抢以示鼓励。抢票
查询车票
首先 selenium 打开到 https://kyfw.12306.cn/otn/leftTicket/init 购票查询车票页面。票篇这个页面只有 2 个需要要模拟人工的自动之抢操作:
填写 出发地、目的抢票地、出发日,票篇点击查询按钮
12306 的自动之抢出发地、目的抢票地、出发日的票篇文本框用下面的代码自动写入似乎是高防服务器没什么作用的。
ticket_url = https://kyfw.12306.cn/otn/leftTicket/init self.driver.get(ticket_url) self.wait.until(self.findElement(By.ID, fromStationText)).send_keys(上海) self.wait.until(self.findElement(By.ID, toStationText)).send_keys(常州) self.wait.until(self.findElement(By.ID, train_date)).send_keys(2021-07-23) self.wait.until(EC.visibility_of_element_located((By.LINK_TEXT, 查询))).click()只能另辟蹊径了。在页面将目的地、出发地、出发日 填入,点击查询查询,惊喜的发现在 F12 控制面板下 cookie 中存放了日期值。
可是没有看到出发地和目的地的汉字,猜测可能这些汉字被编码过了,在编码网站解析一番。
于是就可以照猫画虎将编码过的目的地、出发地、出发日设置到 cookie 中,并刷新页面。服务器租用
self.driver.add_cookie({ name: _jc_save_fromStation, value: %u5E38%u5DDE%2CCZH}) #常州 self.driver.add_cookie({ name: _jc_save_toStation, value: %u4E0A%u6D77%2CSHH}) #上海 self.driver.add_cookie({ name: _jc_save_fromDate, value: 2021-08-02}) self.driver.refresh() # 一个温馨提示弹窗 self.wait.until(self.findElement(By.LINK_TEXT, 确认)).click() self.wait.until(self.findElement(By.LINK_TEXT, 查询)).click()这时就将车票刷新出来了。
找到车次所在的行,点击预定
这里用 XPath 语法找到车次所在的预订单元格,用判断浏览器地址是否改变的方式判断是否进入到预订页面。
预订
在预订页面就简单了,只需要选择乘车人和票种、席别。将这些信息定义在数组中,有几个乘车人就定义几个数组元素。
到这里就可以使用手机支付火车票了。
总结
两篇文章写完了 12306 的抢票软件,大伙们只需要按照自己的需稍微的修改一下脚本,就可以在逢年过节抢抢抢了。
网站模板很赞哦!(179)
相关文章
- 第六:这个圈子里的域名确实是赚钱的一些大玩家,至于小米农,有多少赚钱?几乎没有,也就是说,轿子里只有一个人,而且大多数人都抬着轿子。
- 域名注册的常见问题有哪些?怎么解决这些问题?
- 域名转入失败什么情况?域名转入失败如何解决?
- 域名经纪人需要考证吗?
- 为什么大家都选优质域名?到底存在着什么好处?
- 域名投资要知道什么基础知识?
- 泛解析要了解什么?新手域名如何做泛解析?
- 如何争抢电商行业域名?有什么好的技巧?
- 为了避免将来给我们的个人站长带来的麻烦,在选择域名后缀时,我们的站长最好省略不稳定的后缀域名,比如n,因为我们不知道策略什么时候会改变,更不用说我们将来是否还能控制这个域名了。因此,如果站长不是企业,或者有选择的话,如果不能选择域名的cn类,最好不要选择它。
- 什么叫误植域名?新手要了解误植域名吗?