Python 12306抢火车票脚本 Python京东抢手机脚本


Posted in Python onFebruary 06, 2018

本文实现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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
rhythmbox中文名乱码问题解决方法
Sep 06 Python
python 实现将txt文件多行合并为一行并将中间的空格去掉方法
Dec 20 Python
python 实现多维数组转向量
Nov 30 Python
python requests包的request()函数中的参数-params和data的区别介绍
May 05 Python
python中JWT用户认证的实现
May 18 Python
python如何进入交互模式
Jul 06 Python
在CentOS7下安装Python3教程解析
Jul 09 Python
Python性能分析工具py-spy原理用法解析
Jul 27 Python
基于python模拟TCP3次握手连接及发送数据
Nov 06 Python
python 元组和列表的区别
Dec 30 Python
python 详解turtle画爱心代码
Feb 15 Python
基于PyQt5制作一个群发邮件工具
Apr 08 Python
TensorFlow高效读取数据的方法示例
Feb 06 #Python
django使用xlwt导出excel文件实例代码
Feb 06 #Python
Python使用装饰器进行django开发实例代码
Feb 06 #Python
Python yield与实现方法代码分析
Feb 06 #Python
Django中间件工作流程及写法实例代码
Feb 06 #Python
Django数据库表反向生成实例解析
Feb 06 #Python
Python使用functools实现注解同步方法
Feb 06 #Python
You might like
php防止SQL注入详解及防范
2013/11/12 PHP
Windows下Apache + PHP SESSION丢失的解决过程全纪录
2015/04/07 PHP
thinkPHP的表达式查询用法详解
2016/09/14 PHP
PHP获取路径和目录的方法总结【必看篇】
2017/03/04 PHP
PHP从数组中删除元素的四种方法实例
2017/05/12 PHP
PHP getID3类的使用方法学习笔记【附getID3源码下载】
2019/10/18 PHP
探讨javascript是不是面向对象的语言
2013/11/21 Javascript
NodeJS学习笔记之网络编程
2014/08/03 NodeJs
JS实现的竖向折叠菜单代码
2015/10/21 Javascript
javascript如何实现360度全景照片问题汇总
2016/04/04 Javascript
JavaScript 监控微信浏览器且自带返回按钮时间
2016/11/27 Javascript
jQuery中map函数的两种方式
2017/04/07 jQuery
5分钟打造简易高效的webpack常用配置
2017/07/04 Javascript
angularJs select绑定的model取不到值的解决方法
2018/10/08 Javascript
Vuex新手的理解与使用详解
2019/05/31 Javascript
vuejs中父子组件之间通信方法实例详解
2020/01/17 Javascript
[02:04]2020年夜魇暗潮预告片
2020/10/30 DOTA
详解Python读取配置文件模块ConfigParser
2017/05/11 Python
用python处理MS Word的实例讲解
2018/05/08 Python
解决pycharm无法调用pip安装的包问题
2018/05/18 Python
sklearn-SVC实现与类参数详解
2019/12/10 Python
在django中form的label和verbose name的区别说明
2020/05/20 Python
Lancome兰蔻官方旗舰店:来自法国的世界知名美妆品牌
2018/06/14 全球购物
南非最大的在线时尚商店:Zando
2019/07/21 全球购物
PHP面试题附答案
2015/11/28 面试题
如何在Cookie里面保存Unicode和国际化字符
2013/05/25 面试题
销售总监岗位职责
2014/01/04 职场文书
村党的群众路线教育实践活动工作总结
2014/10/25 职场文书
爱情保证书
2015/01/17 职场文书
股份转让协议书范本
2015/01/27 职场文书
故宫英文导游词
2015/01/31 职场文书
大学生党员个人总结
2015/02/13 职场文书
MySQL性能压力基准测试工具sysbench的使用简介
2021/04/21 MySQL
Redis中一个String类型引发的惨案
2021/07/25 Redis
javascript Number 与 Math对象的介绍
2021/11/17 Javascript
MySQL优化之慢日志查询
2022/06/10 MySQL