Python小试牛刀:抢手机/抢票神器!

code

import time
from splinter.browser import Browser

#url = "https://item.jd.com/100013976326.html"
def login(b): #登录京东
    b.click_link_by_text("你好,请登录")
    time.sleep(3)
    b.click_link_by_text("账户登录")
    b.fill("loginname","xxx") #填写账户密码
    b.fill("nloginpwd","xxx")
    b.find_by_id("loginsubmit").click()
    time.sleep(3)
    return b

def loop(b):
    try:
#        b.click_link_by_text("加入购物车")
        b.click_link_by_text(btn)
#        b.click_link_by_text("立即抢购")
        if b.title== "商品已成功加入购物车":
            print("加入购物车成功")
        else: #多次抢购操作后,有可能会被转到京东首页,所以要再打开手机主页
            print("抢购出错")
         # b.visit("https://item.jd.com/6086957.html")
        b.visit(url)#"https://item.jd.com/6063140.html")
        time.sleep(3)
#        b.click_link_by_text("立即抢购")
#        b.click_link_by_text("加入购物车")
        b.click_link_by_text(btn)
    except:
        print("没找到抢购按钮")
    b.reload()
    time.sleep(2)
    loop(b)
b=Browser(driver_name= "chrome") 
in_url = input("输入网址:\n") #https://item.jd.com/14441923664.html
btn_name = input("输入按钮名称(中英文都可):\n")

global url
url = in_url
b.visit(url)#"https://item.jd.com/6063140.html")

global btn
btn = btn_name
#time.sleep(15)
#login(b)
time.sleep(20)
loop(b)

 

  • 尝试过,"立即抢购“、”加入购物车“没问题;部分手机、票仍然需要付款,那么可能需要预先login方式设置自己的支付宝或微信或银行卡的账号-密码。以及立即付款的按钮
  • 为了账户安全和退款的麻烦,建议优先特定的银行卡,并且只存入你所购对应商品2倍的钱(最多只能抢购成功两个)不要购太多。容易有法律和账号被查封的风险

可能问题

  • 基于chrome浏览器,需要chromeDrive插件,下载匹配自己浏览器版本的插件后,直接放入chrome根目录和python所用的环境的目录:(下面是86版本,最高当前支持87,还不太稳定,其它版本可以点击parentDirectory到服务器上级目录去查找)。
    https://chromedriver.storage.googleapis.com/index.html?path=86.0.4240.22/

下载 解压缩,放到 C:\Program Files (x86)\Google\Chrome\Application
Chrome浏览器的主目录下;

  • 推荐chrome浏览器,注意drive版本和chrome默认版本要一致,(一般是86版本,少数87, chrome右上角》帮助》关于chrome里面可查。

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入