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)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?