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)