dede 网站地图,家庭 wordpress,免费网站推广软件下载,手机网站总是自动跳转丹摩#xff5c;丹摩助力selenium实现大麦网抢票
声明#xff1a;非广告#xff0c;为用户体验
1.引言
在人工智能飞速发展的今天#xff0c;丹摩智算平台#xff08;DAMODEL#xff09;以其卓越的AI算力服务脱颖而出#xff0c;为开发者提供了一个简化AI开发流程的强…丹摩丹摩助力selenium实现大麦网抢票
声明非广告为用户体验
1.引言
在人工智能飞速发展的今天丹摩智算平台DAMODEL以其卓越的AI算力服务脱颖而出为开发者提供了一个简化AI开发流程的强大工具。通过租赁GPU资源丹摩智算平台使得机器学习和深度学习项目的开发变得更加高效和便捷。本文将详细介绍如何在丹摩智算平台上部署和使用selenium实现大麦网抢票
1.1背景
丹摩智算平台以其用户友好的界面和强大的技术支持成为AI开发者的首选。它不仅提供了高性能的计算资源还通过各种优惠活动吸引用户进一步降低了AI开发的门槛。
1.2访问与登录 访问地址丹摩智算平台官网 访问平台使用支持的浏览器如Edge/Chrome打开丹摩智算平台官网。 用户登录输入账号和密码登录。如果是首次使用请先完成注册并完善个人信息。 1.3本次项目架构设计图 2.部署与使用
2.1.创建项目 登录后点击GPU云实例。 创建实例点击“创建实例”。 资源选择选择适用的计算资源类型如 CPU、GPU、内存需求等。
由于我们这里选择3090 显卡硬盘选择默认的 100GB 系统盘和 50GB 数据盘。
镜像选择 PyTorchPyTorch2.3.0Ubuntu-22.04CUDA12.1 版本镜像。 密钥对创建并绑定密钥对最后启动。 进入 JupyterLab 打开终端 2.2环境配置
导入selenium库
pip install selenium2.4开始运行 相关main.py代码
import os
import time
import pickle
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By# 抢票相关页面
# 大麦网主页
damai_url https://www.damai.cn/
# 登录页
login_url https://passport.damai.cn/login?ruhttps%3A%2F%2Fwww.damai.cn%2F
# 抢票目标页
target_url https://detail.damai.cn/item.htm?spma2oeg.home.card_0.ditem_1.2bbb23e1uo54LVid853329221023# 定义具体类
class Concert:def __init__(self):self.status 0 # 状态,表示如今进行到何种程度self.login_method 1 # {0:模拟登录,1:Cookie登录}自行选择登录方式self.driver webdriver.Chrome() # 默认Chrome浏览器self.execute_stealth_script(self) # 执行stealth脚本# 执行stealth脚本# 机器检测问题使用的driver会被识别为机器人无法欺骗到检测程序这里我们使用stealth.min.js进行解决。staticmethoddef execute_stealth_script(self):with open(stealth.min.js, r) as f:js f.read()self.driver.execute_cdp_cmd(Page.addScriptToEvaluateOnNewDocument, {source: js})print(###已执行stealth脚本###)# 通过cookie进行登陆# 在Concert类中login_method 1时才会使用到便于快速登陆省去登陆过程其中初次运行代码时用户登陆后会在本地生成cookies.pkl文件来存储cookie信息用于快速登陆。def set_cookie(self):self.driver.get(damai_url)print(###请点击登录###)while self.driver.title.find(大麦网-全球演出赛事官方购票平台) ! -1:sleep(1)print(###请扫码登录###)while self.driver.title ! 大麦网-全球演出赛事官方购票平台-100%正品、先付先抢、在线选座:sleep(1)print(###扫码成功###)pickle.dump(self.driver.get_cookies(), open(cookies.pkl, wb))print(###Cookie保存成功###)self.driver.get(target_url)def get_cookie(self):try:cookies pickle.load(open(cookies.pkl, rb)) # 载入cookiefor cookie in cookies:cookie_dict {domain:.damai.cn, # 必须有不然就是假登录name: cookie.get(name),value: cookie.get(value)}self.driver.add_cookie(cookie_dict)print(###载入Cookie###)except Exception as e:print(e)# 登陆def login(self):if self.login_method 0:self.driver.get(login_url)# 载入登录界面print(###开始登录###)elif self.login_method 1:if not os.path.exists(cookies.pkl):# 如果不存在cookie.pkl,就获取一下self.set_cookie()else:self.driver.get(target_url)self.get_cookie()# 打开浏览器def enter_concert(self):打开浏览器print(###打开浏览器进入大麦网###)self.driver.maximize_window() # 最大化窗口# 调用登陆self.login() # 先登录再说# self.driver.refresh() # 刷新页面self.status 2 # 登录成功标识print(###登录成功###)# 选择票型def choose_ticket(self):if self.status 2: #登录成功入口print(*30)print(###检查是否开始售票###)# while not self.isElementExistByClass(buy-link):# self.driver.refresh()# print(###售票尚未开始,刷新等待开始###)# TODO 选择票型#begin# 选择具体票型部分未写该部分可自行添加不添加的话自行选择进入页面后大麦的默认选择。#endself.driver.find_element(By.CLASS_NAME, buybtn).click() #点击购票二维码下的购买连接time.sleep(1.5)self.check_order()# 确认订单def check_order(self):if self.status 2:print(###开始确认订单###)if self.driver.title 订单确认页:print(###检查是否需要填写观影人)# if self.isElementExistByXPATH(//*[iddmViewerBlock_DmViewerBlock]):# self.driver.find_element(By.XPATH, //*[iddmViewerBlock_DmViewerBlock]/div[2]/div/div).click()# time.sleep(0.5)# time.sleep(60)print(###跳转支付选择界面###)self.driver.find_element(By.XPATH, //*[iddmOrderSubmitBlock_DmOrderSubmitBlock]/div[2]/div/div[2]/div[2]/div[2]/span).click()time.sleep(2)self.pay_order()# 支付宝登陆支付def pay_order(self):if self.driver.title 支付宝付款:print(###支付订单###)time.sleep(60)self.driver.find_element(By.XPATH, //*[idapp]/div[3]/div[1]/button[2]).click()print(###跳转至浏览器支付###)time.sleep(1.5)self.driver.find_element(By.XPATH, //*[idapp]/div[3]/div/div[1]/div[2]/input).clear()self.driver.find_element(By.XPATH, //*[idapp]/div[3]/div/div[1]/div[2]/input).send_keys(支付宝账号) #输入支付宝账号self.driver.find_element(By.XPATH, //*[idapp]/div[3]/div/button).click()time.sleep(1.5)self.driver.find_element(By.XPATH, //*[idapp]/div[2]/button).click()while True:time.sleep(1)print(###请输入支付密码###)# 脚本结束退出def finish(self):self.driver.quit()if __name__ __main__:try:con Concert() # 初始化函数con.enter_concert() # 打开浏览器con.choose_ticket() # 开始抢票except Exception as e:print(e)con.finish()
2.5代码结果
成功实现大麦网抢票 2.6代码架构设计图 通过本文的详细指南您可以轻松地在丹摩智算平台上部署和使用selenium实现大麦网抢票。
3.总结
本文详细介绍了如何在丹摩智算平台DAMODEL上部署和使用Selenium实现大麦网抢票的流程。丹摩智算平台以其强大的AI算力服务和用户友好的界面为AI开发者提供了一个高效便捷的开发环境降低了AI开发的门槛。
文章首先介绍了丹摩智算平台的背景和如何访问登录然后详细阐述了项目的架构设计并逐步指导用户创建项目、选择资源、配置环境以及部署Selenium代码。在部署与使用部分文章提供了创建GPU云实例的步骤包括资源选择、镜像选择和密钥对的创建。接着通过Python代码展示了如何使用Selenium进行大麦网的抢票操作包括登录、选择票型、确认订单和支付等环节。代码中包含了详细的注释便于读者理解和学习。文章还提供了代码运行结果的截图以及代码架构设计图帮助读者更直观地理解整个抢票流程。
为了提高文章的质量建议增加目标读者的明确性提供更多关于丹摩智算平台的背景信息确保步骤说明的清晰性和截图的准确性。同时保持专业术语的准确性确保语言风格的一致性并进行彻底的校对以避免语法和拼写错误。最后确保所有外部链接的有效性以提升文章的实用性和可信度。通过这些改进文章将更加专业、易于理解为读者提供实用的大麦网抢票指南。
通过本文的详细指南读者可以轻松地在丹摩智算平台上部署和使用Selenium实现大麦网抢票体验到丹摩智算平台带来的便利和高效。丹摩智算平台的高性能计算资源和技术支持无疑为AI开发者提供了强大的助力使得复杂的抢票任务变得简单可行。