Python 12306抢火车票脚本 Python京东抢手机脚本
作者:sliderSun 发布时间:2023-02-13 14:22:21
标签:python,抢票脚本
本文实现12306抢火车票/京东抢手机示例,具体如下:
#12306秒抢Python代码
from splinter.browser import Browser
x = Browser(driver_name="chrome")
url = “https://kyfw.12306.cn/otn/leftTicket/init”
x = Browser(driver_name="chrome")
x.visit(url)
#填写登陆账户、密码
x.find_by_text(u"登录").click()
x.fill("loginUserDTO.user_name","your login name")
x.fill("userDTO.password","your password")
#填写出发点目的地
x.cookies.add({"_jc_save_fromStation":"%u4E0A%u6D77%2CSHH"})
x.cookies.add({"_jc_save_fromDate":"2016-01-20"})
x.cookies.add({u'_jc_save_toStation':'%u6C38%u5DDE%2CAOQ'})
#加载查询
x.reload()
x.find_by_text(u"查询").click()
#预定
x.find_by_text(u"预订")[1].click()
#选择乘客
x.find_by_text(u"数据分析侠")[1].click()
#-*- coding:utf-8 -*-
#京东抢手机脚本
from splinter.browser import Browser
import time
#登录页
def login(b): #登录京东
b.click_link_by_text("你好,请登录")
time.sleep(3)
b.fill("loginname","account*****") #填写账户密码
b.fill("nloginpwd","passport*****")
b.find_by_id("loginsubmit").click()
time.sleep(3)
return b
#订单页
def loop(b): #循环点击
try:
if b.title=="订单结算页 -京东商城":
b.find_by_text("保存收货人信息").click()
b.find_by_text("保存支付及配送方式").click()
b.find_by_id("order-submit").click()
return b
else: #多次抢购操作后,有可能会被转到京东首页,所以要再打开手机主页
b.visit("http://item.jd.com/2707976.html")
b.find_by_id("choose-btn-qiang").click()
time.sleep(10)
loop(b) #递归操作
except Exception as e: #异常情况处理,以免中断程序
b.reload() #重新刷新当前页面,此页面为订单提交页
time.sleep(2)
loop(b) #重新调用自己
b=Browser(driver_name="chrome") #打开浏览器
b.visit("http://item.jd.com/2707976.html")
login(b)
b.find_by_id("choose-btn-qiang").click() #找到抢购按钮,点击
time.sleep(10) #等待10sec
while True:
loop(b)
if b.is_element_present_by_id("tryBtn"): #订单提交后显示“再次抢购”的话
b.find_by_id("tryBtn").click() #点击再次抢购,进入读秒5,跳转订单页
time.sleep(6.5)
elif b.title=="订单结算页 -京东商城": #如果还在订单结算页
b.find_by_id("order-submit").click()
else:
print('恭喜你,抢购成功')
break
来源:http://blog.csdn.net/weixin_37947156/article/details/72930342
0
投稿
猜你喜欢
- 特点:1.图片预载入,载入后再显示。意图一次呈现,不会让一块一块下载破坏你的页面,绝佳的用户体验,颠覆传统的浏览器呈现图片的处理方式(需要后
- 为了防止某些别有用心的人从外部访问数据库,盗取数据库中的用户姓名、密码、信用卡号等其他重要信息,在我们创建数据库驱动的解决方案时,我们首先需
- 一、Node.js实现代码var http = require('http');var util = require(
- 网络开发的在分页上要是遇到数(几十)万以上的数据还是用ADO那样的分页会速度很慢的。有了存储过程速度就快多了。下面是本人用50万的数据进行的
- python封装利用begin end执行多条sql因为业务需求,优化模型运行时间。考虑到sql语句每一次执行都要建立连接,查询,获取数据耗
- 一、为什么要安装虚拟环境 情景一、项目A需要某个库的1.0版本,项目B需要这个库的2.0版本。如果没有安装虚拟环境
- asp 中处理文件上传以及删除时常用的自定义函数:删除文件,建立目录的程序,根据原文件名生成新的随机文件名,CMS替换函数,将所有开始,结束
- MySQL有多种存储引擎:MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、
- 话不多说,请看代码:<?phpdate_default_timezone_set("PRC"); error_re
- 前言这一期我们继续完善我们的魔塔小游戏。废话不多说,让我们愉快地开始吧~开发工具Python版本: 3.7.4相关模块:cpgam
- 理解 CPU 工作原理,重要的是理解 pc 不停地自增地址,顺序执行程序指令。当遇到跳转指令时,会将 pc 重置为新地址。在顺序执行程序指令
- 原始结构:Column1 Column2----------- ----------1 A1 B2 C2 D2 E3 F查询效果:Colum
- 我就废话不多说,直接上代码吧!from PIL import ImageGrabimport timeimport scheduleimpo
- 1.用一个栈【python中可以用List】就可以解决,时间和空间复杂度都是O(n)# -*- coding: utf8 -*-# 符号表S
- 小编语:小编我最早使用的网页制作工作就是FrontPage啦,FrongPage方便简单,会用Word就能做网页。如果你对网页制作要求不高,
- 如何在Typescript中使用for...in ?本人在TS中用for...in出现了些问题,也想到了一些解决方法。那么先来看看下面报错的
- 在日常学习工作过程中,我们难免需要复用以前的项目,这里讲下复用 Django 项目并重命名的过程。1.修改项目名称,使用 pycharm -
- 如何写入超长的字符串? 我们可使用Command写入,来完成大容量的字符串的操作: dim&n
- 本文实例讲述了python实现爬取千万淘宝商品的方法。分享给大家供大家参考。具体实现方法如下:import timeimport level
- 无论是在小得可怜的免费数据库空间或是大型电子商务网站,合理的设计表结构、充分利用空间是十分必要的。这就要求我们对数据库系统的常用数据类型有充