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

yipeiwu_com6年前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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python采用getopt解析命令行输入参数实例

本文实例讲述了python采用getopt解析命令行输入参数的方法,分享给大家供大家参考。 具体实例代码如下: import getopt import sys config...

Python学习笔记之图片人脸检测识别实例教程

Python学习笔记之图片人脸检测识别实例教程

前言 随着科技的发展,人脸识别技术在许多领域得到的非常广泛的应用,手机支付、银行身份验证、手机人脸解锁等等。 识别 废话少说,这里我们使用 opencv 中自带了 haar人脸特征分...

Python 常用的安装Module方式汇总

一、方法1: 单文件模块 直接把文件拷贝到 $python_dir/Lib 二、方法2: 多文件模块,带setup.py 下载模块包,进行解压,进入模块文件夹,执行: python...

pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法

pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法

1:listWidget 以滚动窗口显示文件下的所有文件: self.listWidget = QtWidgets.QListWidget(self.gridLayout...

浅谈python的输入输出,注释,基本数据类型

1.输入与输出 python中输入与输出函数为:print、input help() 帮助的使用:help() help(print) print(value, ..., sep=...