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

所属分类: 脚本专栏 / python 阅读数: 1339
收藏 0 赞 0 分享

本文实现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实现按学生年龄排序的实际问题详解

这篇文章主要给大家介绍了关于Python实现按学生年龄排序实际问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
收藏 0 赞 0 分享

Python开发的HTTP库requests详解

Requests是用Python语言编写,基于urllib,采用Apache2 Licensed开源协议的HTTP库。它比urllib更加方便,可以节约我们大量的工作,完全满足HTTP测试需求。Requests的哲学是以PEP 20 的习语为中心开发的,所以它比urllib更加P
收藏 0 赞 0 分享

Python网络爬虫与信息提取(实例讲解)

下面小编就为大家带来一篇Python网络爬虫与信息提取(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

在python3环境下的Django中使用MySQL数据库的实例

下面小编就为大家带来一篇在python3环境下的Django中使用MySQL数据库的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Python 3.x读写csv文件中数字的方法示例

在我们日常开发中经常需要对csv文件进行读写,下面这篇文章主要给大家介绍了关于Python 3.x读写csv文件中数字的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
收藏 0 赞 0 分享

Python实现解析Bit Torrent种子文件内容的方法

这篇文章主要介绍了Python实现解析Bit Torrent种子文件内容的方法,结合实例形式分析了Python针对Torrent文件的读取与解析相关操作技巧与注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

Python实现文件内容批量追加的方法示例

这篇文章主要介绍了Python实现文件内容批量追加的方法,结合实例形式分析了Python文件的读写相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

Python简单实现自动删除目录下空文件夹的方法

这篇文章主要介绍了Python简单实现自动删除目录下空文件夹的方法,涉及Python针对文件与目录的读取、判断、删除等相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

简单学习Python多进程Multiprocessing

这篇文章主要和大家一起简单的学习Python多进程Multiprocessing ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Python导入模块时遇到的错误分析

这篇文章主要给大家详细解释了在Python处理导入模块的时候出现错误以及具体的情况分析,非常的详尽,有需要的小伙伴可以参考下
收藏 0 赞 0 分享
查看更多