python编程实践-简单淘宝秒杀程序

发布时间:2025-12-10 11:44:25 浏览次数:15

python+selenium实现淘宝商品秒杀(新手上路,轻点喷)

帮女朋友抢购鞋子,发现那些人下手太快,诞生了对面可能开挂了的想法,于是有了几个小时的折腾,发个博客,记录一下初学者使用python在生活中的第一次应用。

实现的功能

在csdn上搜索“淘宝+selenium"有很多大佬给出各式各样的代码,但是没有找到适用于目前抢购形式的代码,身为代码的搬运工,将大佬们的代码进行拼凑:

  • 实现自动登录
  • 设定时间进行页面刷新
  • 页面显示能够秒杀时进行购买
  • 购买成功后及时提交订单
  • 代码展示

    初始化代码

    options = webdriver.ChromeOptions()# 不加载图片,加快访问速度#options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2})# 此步骤很重要,设置为开发者模式,防止被各大网站识别出来使用了Seleniumoptions.add_experimental_option('excludeSwitches', ['enable-automation'])dir_path=os.getcwd()+'\chromedriver.exe'print(dir_path)sys.path.append(os.getcwd())driver= webdriver.Chrome(executable_path=dir_path, options=options)

    登录代码

    def login(user_name,user_password,address):# 打开淘宝登录页,自动登录driver.get("https://www.taobao.com")time.sleep(2)if driver.find_element_by_link_text("亲,请登录"):driver.find_element_by_link_text("亲,请登录").click()#账户名user = driver.find_element_by_id("fm-login-id")user.send_keys(user_name)#账户密码password = driver.find_element_by_id("fm-login-password")password.send_keys(user_password)#滑块滑动iframe = driver.find_element_by_xpath('//iframe') # 找到“嵌套”的iframedriver.switch_to.frame(iframe)sli_ele = driver.find_element_by_id("nc_1_n1z")action = ActionChains(driver)action.click_and_hold(sli_ele).perform()action.move_by_offset(300, 0).perform()time.sleep(2)driver.switch_to.default_content()driver.find_element_by_xpath('//p[@class ="fm-btn"]/button').click()time.sleep(3)# 这里写你需要抢购商品的链接地址driver.get(address)time.sleep(1)

    购买代码

    def buy(buytime):while True:now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')if now >= buytime:try:if driver.find_element_by_link_text("立即购买"):driver.find_element_by_link_text("立即购买").click()breakexcept:driver.refresh()time.sleep(0.0001)while True:try:if driver.find_element_by_link_text("提交订单"):driver.find_element_by_link_text("提交订单").click()except:time.sleep(0.0001)print("now")time.sleep(0.0001)

    [主要借鉴”路人7“老哥的这篇文章]
    https://blog.csdn.net/wc15982224307/article/details/106083280

    需要做网站?需要网络推广?欢迎咨询客户经理 13272073477