前言
谁的青春不疯狂?用Python实现自动化抢演唱会门票,实现现场追星!
每次心仪的演唱会门票开售,是不是感觉手速总是不够快,与心爱的演出失之交臂?别担心,今天就来给大家分享一个神奇的技能——用 Python 实现自动化抢票!(完整版源码后台领)
为什么选择 Python 来抢票
用 Python 可以实现自动化操作,不用一直守在电脑前手动刷新页面,脚本可以定时去检查有没有票,一有票就赶紧抢下来,多省事儿。
知识点:
面向对象编程
selenium 操作浏览器
pickle 保存和读取Cookie实现免登陆
time 做延时操作
os 创建文件,判断文件是否存在
Selenium简介
Selenium是一个自动化测试工具,可以用来模拟用户对网页的各种操作。在抢票过程中,Selenium可以帮助我们自动填写表单、点击按钮等。
开发环境:
版 本:python3.8.8
编辑器:pycharm
第一步,实现免登录
确定目标,设置全局变量
# 大麦网主页
damai_url = "https://www.damai.cn/"
# 登录页
login_url = "https://passport.damai.cn/login?ru=https%3A%2F%2Fwww.damai.cn%2F"
# 抢票目标页
target_url = 'https://detail.damai.cn/item.htm?spm=a2oeg.search_category.0.0.77f24d15RWgT4o&id=654534889506&clicktitle=%E5%A4%A7%E4%BC%97%E7
初始化加载
class Concert:
def __init__(self):
self.status = 0 # 状态,表示如今进行到何种程度
self.login_method = 1 # {0:模拟登录,1:Cookie登录}自行选择登录方式
self.driver = webdriver.Chrome(executable_path='chromedriver.exe') # 默认Chrome浏览器
登录调用设置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("###扫码成功###"