Python爬虫之定时抢购淘宝商品

Python爬虫之定时抢购淘宝商品

 

 

复制代码
import time
from selenium import webdriver
import datetime

class Spider:
    def __init__(self, url):
        self.__base_url = url
        self.__headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36',
        }
    def get_url(self):
        global driver
        driver.get(self.__base_url)
    def login(self):
        global driver
        if driver.find_element_by_link_text("亲,请登录"):
            driver.find_element_by_link_text("亲,请登录").click()
            print("请在30秒内扫描登陆")
            time.sleep(30)
            driver.get("https://cart.taobao.com/cart.htm")
    def selectAll(self,method):
        global driver
        # 打开购物车列表页面
        driver.get("https://cart.taobao.com/cart.htm")
        time.sleep(3)

        # 是否全选购物车
        if method == 0:
            while True:
                try:
                    if driver.find_element_by_id("J_SelectAll1"):
                        driver.find_element_by_id("J_SelectAll1").click()
                        break
                except:
                    # print(f"找不到购买按钮")
                    pass
        if method ==1 :
            print(f"请手动勾选需要购买的商品")
            time.sleep(30)

    def buy(self,times):
        global driver
        while True:
            now = datetime.datetime.now()
            # 对比时间,时间到的话就点击结算
            if now > times:
                # 点击结算按钮
                while True:
                    try:
                        if driver.find_element_by_link_text("结 算"):
                            driver.find_element_by_link_text("结 算").click()
                            print(f"结算成功,准备提交订单")
                            break
                    except:
                        pass
                # 点击提交订单按钮
                while True:
                    try:
                        if driver.find_element_by_link_text('提交订单'):
                            driver.find_element_by_link_text('提交订单').click()
                            print(f"抢购成功,请尽快付款")
                    except:
                        # print(f"再次尝试提交订单")
                        pass
                time.sleep(0.01)


option = webdriver.ChromeOptions()
option.add_argument('disable-infobars')
driver = webdriver.Chrome(chrome_options=option)
spider = Spider("https://www.taobao.com")
spider.get_url()
spider.login()
#设置0为全选、1为手动
spider.selectAll(0)
# 设置抢购时间
set_time = datetime.datetime(2019,6,6,1,25)
spider.buy(set_time)
复制代码

 

posted @   -零  阅读(9489)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示