赞
踩
最近,演唱会的举办越来越多,刚好我的一位同学喜欢听演唱会,就问我能不能帮他写一个自动抢演唱会门票的脚步,小编花了一个星期的时间研究和实践,成功写了一个简易版的自动抢票脚步。今天,我就分享一下我在写脚步中的过程体会给大家。
希望我的文章能给你带来帮助,如果能帮助到你,希望你能给小编点个赞和关注,你的赞是小编继续写作的动力(=^ ^=)
完整的源代码已经打包好了,文末可领取
想要多次重复的进行自动化抢票,最主要的就是要解决每次都要登录的问题,因此每次登录的时候都需要以账号登录,想要每次都用账号登录,那必须使用登录后的cookie进行操作。
即:服务的$ _COOKIE函数中记录了你的cookie,那你就可以直接调用登录,如果没有就需要人工登录了,登录了之后,二次访问界面就能把自己的 cookie 保存到$_COOKIE函数。但是 cookie 登录存在问题,就是 cookie 涉及过期问题,所以可能隔一段时间就要手动重新登录进行cookie 保存了
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'):
self.set_cookies() # 没有文件的情况下,登录一下
else:
self.driver.get(target_url) # 跳转到抢票页
self.get_cookie()
def set_cookies(self):
"""cookies: 登录网站时出现的 记录用户信息用的"""
self.driver.get(damai_url)
self.driver.find_element(By.XPATH, '/html/body/div[2]/div/div[3]/div[1]/div[1]/span').click()
iframe = self.driver.find_element(By.XPATH, '//div[@class="mui-zebra-module"]/div[1]/div[1]/div[1]/iframe')
self.driver.switch_to.frame(iframe)
self.driver.find_element(By.XPATH, '//*[@id="login-tabs"]/div[2]').click()
self.driver.find_element(By.XPATH, '//*[@id="fm-sms-login-id"]').send_keys(self.number)
self.driver.find_element(By.XPATH, '//*[@id="login-form"]/div[2]/div[3]/a').click()
print("###请输入验证码###")
while self.driver.title != '大麦网-全球演出赛事官方购票平台-100%正品、先付先抢、在线选座!':
time.sleep(1)
print("###登录成功###")
pickle.dump(self.driver.get_cookies(
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。