前言
大麦网是中国综合类现场娱乐票务营销平台,业务覆盖演唱会、话剧、音乐剧、体育赛事等领域。由于票数有限及黄牛竞争,手动抢票难度较大。本文介绍使用 Python 结合 Selenium 自动化操作浏览器,实现大麦网演出门票的自动抢票流程。
知识点
- 面向对象编程
- Selenium 操作浏览器
- Pickle 保存和读取 Cookie 实现免登录
- Time 做延时操作
- Os 创建文件,判断文件是否存在
开发环境
- 版本:Anaconda5.2.0 (Python3.6.5)
- 编辑器:PyCharm
导入模块
import os
import time
import pickle
from time import sleep
from selenium import webdriver
第一步:实现免登录
确定目标,设置全局变量
# 大麦网主页
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'
初始化加载
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():
.driver.get(damai_url)
()
.driver.title.find() != -:
sleep()
()
.driver.title != :
sleep()
()
pickle.dump(.driver.get_cookies(), (, ))
()
.driver.get(target_url)


