首页 > 编程 > Python > 正文

Python 实现淘宝秒杀的示例代码

2019-11-25 15:26:24
字体:
来源:转载
供稿:网友

新手学习Python,之前在网上看见一位朋友写的40行Python代码搞定京东秒杀,想在淘宝上帮女朋友抢玩偶,所以就照猫画虎的写了下淘宝的秒杀脚本,经自己实验可行。直接上代码:

#-*- coding: UTF-8 -*-import osfrom selenium import webdriverimport datetimeimport timechromedriver = "/usr/bin/chromedriver"os.environ["webdriver.chrome.driver"] = chromedriverdriver = webdriver.Chrome(chromedriver)def login(uname, pwd):  driver.get("https://www.taobao.com")  if driver.find_element_by_link_text("亲,请登录"):    driver.find_element_by_link_text("亲,请登录").click();  time.sleep(1)  if driver.find_element_by_link_text("密码登录"):    driver.find_element_by_link_text("密码登录").click();  time.sleep(1)  if driver.find_element_by_name("TPL_username"):    driver.find_element_by_name("TPL_username").send_keys(uname);  time.sleep(1)  if driver.find_element_by_name("TPL_password"):    driver.find_element_by_name("TPL_password").send_keys(pwd);  time.sleep(2)  if driver.find_element_by_id("J_SubmitStatic"):    driver.find_element_by_id("J_SubmitStatic").click();  time.sleep(1)  driver.get("https://cart.taobao.com/cart.htm")  if driver.find_element_by_id("J_SelectAll1"):    driver.find_element_by_id("J_SelectAll1").click()  time.sleep(3)  if driver.find_element_by_link_text("结 算"):    driver.find_element_by_link_text("结 算").click();  now = datetime.datetime.now()  print('login success:', now.strftime('%Y-%m-%d %H:%M:%S'))def buy_on_time(buytime):  while True:    now = datetime.datetime.now()    if now.strftime('%Y-%m-%d %H:%M:%S') == buytime:      while True:        try:          driver.find_element_by_link_text('提交订单').click()        except:          time.sleep(1)    time.sleep(0.1)#中文账号的时候要给它编码一下,不然会出错login("中文账号".decode('utf-8'),'密码')#login("英文账号",'密码')#buy_on_time('2017-05-06 21:30:01')

代码里面有很多的time.sleep(),主要是防止操作太快,网页没有刷新出来就会读不到下面的元素,由于淘宝可能会出现滑块验证,所以我让输入账号和密码之后休眠了3秒,没有操作的太快,所以没有出现滑块验证。但是去掉那个time.sleep(3)之后,就弹出了滑块验证,不知道为什么。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表