├── .idea ├── miao_sha.iml ├── misc.xml ├── modules.xml └── vcs.xml ├── miao_sha.py ├── qianggou.py └── yijiangou.py /.idea/miao_sha.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 11 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /miao_sha.py: -------------------------------------------------------------------------------- 1 | #京东秒杀 2 | #加入购物车 再结算 3 | from splinter.browser import Browser 4 | from selenium import webdriver 5 | import time 6 | import datetime 7 | 8 | #登录页面 9 | def login(b): #登录京东 10 | b.click_link_by_text("你好,请登录") 11 | b.click_link_by_text("账户登录") 12 | time.sleep(1) 13 | b.fill("loginname","tmaccs") #填写账户密码 14 | b.fill("nloginpwd","Zz236668777") 15 | b.find_by_id("loginsubmit").click() 16 | # time.sleep(0.1) 17 | return b 18 | 19 | #订单页面 20 | def loop(b): #循环点击 21 | try: 22 | if b.title=="订单结算页 -京东商城": 23 | # b.find_by_text("保存收货人信息").click() 24 | # b.find_by_text("保存支付及配送方式").click() 25 | b.find_by_id("order-submit").click() 26 | return b 27 | else: #多次抢购操作后,有可能会被转到京东首页,所以要再打开手机主页 28 | b.visit("https://item.jd.com/1013408443.html") 29 | b.find_by_id("choose-btn-qiang").click() 30 | time.sleep(10) 31 | loop(b) #递归操作 32 | except Exception as e: #异常情况处理,以免中断程序 33 | b.reload() #重新刷新当前页面,此页面为订单提交页 34 | time.sleep(2) 35 | loop(b) #重新调用自己 36 | 37 | def buy_time(buytime): 38 | while True: 39 | now = datetime.datetime.now() 40 | #print(now.strftime('%Y-%m-%d %H:%m:%S')) 41 | if now.strftime('%Y-%m-%d %H:%M:%S') == buytime: 42 | while True: 43 | b.find_by_id("InitCartUrl").click() # 找到抢购按钮,点击 44 | #b.find_by_id("btn-onkeybuy").click() # 一键购 45 | #time.sleep(1) 46 | #b.find_link_by_href('//cart.jd.com/cart.action').click() 47 | #b.click_link_by_href('//cart.jd.com/cart.action') 48 | b.find_by_id("GotoShoppingCart").click()#只有使用这个才能配套使用 b.find_by_css(".submit-btn").click() 49 | # pattern = re.compile(r'去结算') 50 | #b.find_link_by_text('去结算').click() 51 | #time.sleep(1) 52 | b.find_by_css(".submit-btn").click() 53 | #b.visit('https://trade.jd.com/shopping/order/getOrderInfo.action') 54 | loop(b) 55 | if b.is_element_present_by_id("tryBtn"): # 订单提交后显示“再次抢购”的话 56 | b.find_by_id("tryBtn").click() # 点击再次抢购,进入读秒5,跳转订单页 57 | time.sleep(6.5) 58 | elif b.title == "订单结算页 -京东商城": # 如果还在订单结算页 59 | time.sleep(3) 60 | b.find_by_id("order-submit").click() 61 | else: 62 | print('恭喜你,抢购成功') 63 | print(now.strftime('%Y-%m-%d %H:%M:%S')) 64 | break 65 | 66 | # path = "/Users/YangHengyu/Documents/Coding/chromedriver" 67 | # driver = webdriver.Chrome(path) 68 | b=Browser(driver_name="chrome") #打开浏览器 69 | b.visit("https://item.jd.com/10134446876.html") 70 | login(b) 71 | #获取现在时间 72 | now = datetime.datetime.now() 73 | print(now.strftime('%Y-%m-%d %H:%M:%S')) 74 | #设置抢购的时间 75 | buy_time('2017-10-11 23:48:31') 76 | 77 | 78 | 79 | -------------------------------------------------------------------------------- /qianggou.py: -------------------------------------------------------------------------------- 1 | #京东秒杀 2 | #加入购物车 再结算 3 | from splinter.browser import Browser 4 | from selenium import webdriver 5 | import time 6 | import datetime 7 | 8 | #登录页面 9 | def login(b): #登录京东 10 | b.click_link_by_text("你好,请登录") 11 | b.click_link_by_text("账户登录") 12 | time.sleep(1) 13 | b.fill("loginname","tmaccs") #填写账户密码 14 | b.fill("nloginpwd","Zz236668777") 15 | b.find_by_id("loginsubmit").click() 16 | # time.sleep(0.1) 17 | return b 18 | 19 | #订单页面 20 | def loop(b): #循环点击 21 | try: 22 | if b.title=="订单结算页 -京东商城": 23 | b.find_by_text("保存收货人信息").click() 24 | b.find_by_text("保存支付及配送方式").click() 25 | b.find_by_id("order-submit").click() 26 | return b 27 | else: #多次抢购操作后,有可能会被转到京东首页,所以要再打开手机主页 28 | b.visit("hhttps://item.jd.com/4918296.html") 29 | b.find_by_id("choose-btn-qiang").click() 30 | time.sleep(10) 31 | loop(b) #递归操作 32 | except Exception as e: #异常情况处理,以免中断程序 33 | b.reload() #重新刷新当前页面,此页面为订单提交页 34 | time.sleep(2) 35 | loop(b) #重新调用自己 36 | 37 | def buy_time(buytime): 38 | while True: 39 | now = datetime.datetime.now() 40 | #print(now.strftime('%Y-%m-%d %H:%m:%S')) 41 | if now.strftime('%Y-%m-%d %H:%M:%S') == buytime: 42 | while True: 43 | b.find_by_id("choose-btn-ko").click() # 找到抢购按钮,点击 44 | b.find_by_id("GotoShoppingCart").click()#只有使用这个才能配套使用 b.find_by_css(".submit-btn").click() 45 | b.find_by_css(".submit-btn").click() 46 | loop(b) 47 | if b.is_element_present_by_id("tryBtn"): # 订单提交后显示“再次抢购”的话 48 | b.find_by_id("tryBtn").click() # 点击再次抢购,进入读秒5,跳转订单页 49 | time.sleep(6.5) 50 | elif b.title == "订单结算页 -京东商城": # 如果还在订单结算页 51 | time.sleep(3) 52 | b.find_by_id("order-submit").click() 53 | else: 54 | print('恭喜你,抢购成功') 55 | print(now.strftime('%Y-%m-%d %H:%M:%S')) 56 | break 57 | 58 | b=Browser(driver_name="chrome") #打开浏览器 59 | b.visit("https://item.jd.com/5292169.html") 60 | login(b) 61 | #获取现在时间 62 | now = datetime.datetime.now() 63 | print(now.strftime('%Y-%m-%d %H:%M:%S')) 64 | #设置抢购的时间 65 | buy_time('2017-10-13 18:00:01') 66 | 67 | 68 | 69 | -------------------------------------------------------------------------------- /yijiangou.py: -------------------------------------------------------------------------------- 1 | #京东秒杀 2 | #一键购 3 | from splinter.browser import Browser 4 | from selenium import webdriver 5 | import time 6 | import datetime 7 | 8 | #登录页面 9 | def login(b): #登录京东 10 | b.click_link_by_text("你好,请登录") 11 | b.click_link_by_text("账户登录") 12 | time.sleep(1) 13 | b.fill("loginname","yhytmaccs") #填写账户密码 14 | b.fill("nloginpwd","236668777") 15 | b.find_by_id("loginsubmit").click() 16 | # time.sleep(0.1) 17 | return b 18 | 19 | #订单页面 20 | def loop(b): #循环点击 21 | try: 22 | if b.title=="订单结算页 -京东商城": 23 | # b.find_by_text("保存收货人信息").click() 24 | # b.find_by_text("保存支付及配送方式").click() 25 | b.find_by_id("order-submit").click() 26 | return b 27 | else: #多次抢购操作后,有可能会被转到京东首页,所以要再打开手机主页 28 | b.visit("https://item.jd.com/4918296.html") 29 | b.find_by_id("choose-btn-qiang").click() 30 | time.sleep(10) 31 | loop(b) #递归操作 32 | except Exception as e: #异常情况处理,以免中断程序 33 | b.reload() #重新刷新当前页面,此页面为订单提交页 34 | time.sleep(2) 35 | loop(b) #重新调用自己 36 | 37 | def buy_time(buytime): 38 | while True: 39 | now = datetime.datetime.now() 40 | #print(now.strftime('%Y-%m-%d %H:%m:%S')) 41 | if now.strftime('%Y-%m-%d %H:%M:%S') == buytime: 42 | while True: 43 | ##b.find_by_id("InitCartUrl").click() # 找到抢购按钮,点击 44 | b.find_by_id("btn-onkeybuy").click() # 一键购 45 | #time.sleep(1) 46 | #b.find_link_by_href('//cart.jd.com/cart.action').click() 47 | #b.click_link_by_href('//cart.jd.com/cart.action') 48 | ##b.find_by_id("GotoShoppingCart").click()#只有使用这个才能配套使用 b.find_by_css(".submit-btn").click() 49 | # pattern = re.compile(r'去结算') 50 | #b.find_link_by_text('去结算').click() 51 | #time.sleep(1) 52 | ##b.find_by_css(".submit-btn").click() 53 | #b.visit('https://trade.jd.com/shopping/order/getOrderInfo.action') 54 | ##loop(b) 55 | if b.is_element_present_by_id("tryBtn"): # 订单提交后显示“再次抢购”的话 56 | b.find_by_id("tryBtn").click() # 点击再次抢购,进入读秒5,跳转订单页 57 | time.sleep(6.5) 58 | elif b.title == "订单结算页 -京东商城": # 如果还在订单结算页 59 | time.sleep(3) 60 | b.find_by_id("order-submit").click() 61 | else: 62 | print('恭喜你,抢购成功') 63 | print(now.strftime('%Y-%m-%d %H:%M:%S')) 64 | break 65 | 66 | b=Browser(driver_name="chrome") #打开浏览器 67 | b.visit("https://item.jd.com/5525866.html") 68 | login(b) 69 | #获取现在时间 70 | now = datetime.datetime.now() 71 | print(now.strftime('%Y-%m-%d %H:%M:%S')) 72 | #设置抢购的时间 73 | buy_time('2017-10-13 22:00:01') --------------------------------------------------------------------------------