• 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)
  • 相关阅读:
    一笔画问题(搜索)
    Sum
    js获取时间日期
    [Hibernate 的left join]Path expected for join!错误
    关于firefox下js中动态组装select时指定option的selected属性的失效
    mooltools扩展之前已经定义好的方法和json数据
    HttpSession, ActionContext, ServletActionContext 区别
    japidcontroller自动绑定的数据类型
    ConcurrentModificationException
    Hibernate中使用COUNT DISTINCT
  • 原文地址:https://www.cnblogs.com/-wenli/p/10984468.html
Copyright © 2020-2023  润新知