Python自动化 —— 大麦网自动抢购原价演唱会门票_大麦抢票代码(1)

作者分享了如何使用Python编写自动抢演唱会门票的脚本,强调了保持登录状态和处理cookie过期问题的方法。同时提供了Python学习资源,包括路线、工具、书籍、视频和实战案例,以及系统化的面试准备材料。
摘要由CSDN通过智能技术生成

在这里插入图片描述
最近,演唱会的举办越来越多,刚好我的一位同学喜欢听演唱会,就问我能不能帮他写一个自动抢演唱会门票的脚步,小编花了一个星期的时间研究和实践,成功写了一个简易版的自动抢票脚步。今天,我就分享一下我在写脚步中的过程体会给大家。

希望我的文章能给你带来帮助,如果能帮助到你,希望你能给小编点个赞和关注,你的赞是小编继续写作的动力(=^ ^=)

完整的源代码已经打包好了,文末可领取

保持会话方法

想要多次重复的进行自动化抢票,最主要的就是要解决每次都要登录的问题,因此每次登录的时候都需要以账号登录,想要每次都用账号登录,那必须使用登录后的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()

获取cookie:

如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费学习大礼包,带大家一起学习,给大家剖析Python兼职、就业行情前景的这些事儿。

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

成为一个Python程序员专家或许需要花费数年时间,但是打下坚实的基础只要几周就可以,如果你按照我提供的学习路线以及资料有意识地去实践,你就有很大可能成功!
最后祝你好运!!!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

抢票是违反站规定和道德的行为,不建议使用。这里提供的代码仅供学习和研究目的,不得用于非法用途。 以下是一个大麦抢票Python 代码示例,可以用于自动化购买限时抢购门票。 ```python import requests import time import hashlib # 填写你的账号密码和活动信息 username = 'your_username' password = 'your_password' activity_id = '123456' activity_url = 'https://www.damai.cn/project/' + activity_id + '.html' # 登录大麦 session = requests.Session() session.headers.update({ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299' }) login_url = 'https://secure.damai.cn/login?ru=https%3A%2F%2Fwww.damai.cn%2F' session.get(login_url) login_data = { 'u': username, 'p': hashlib.md5(password.encode('utf-8')).hexdigest(), 'verifycode': '', 'remember': '0', 'loginid': '', 'nloginpwd': '', 'nonce': '', 'logintype': '', 'loginsite': 0, 'timestamp': int(time.time() * 1000), 'callback': 'jQuery1910863466670682696_1515079871564', '_': int(time.time() * 1000) } r = session.post(login_url, data=login_data) # 获取活动信息 activity_data = { 'id': activity_id, 'type': 1, 'rnd': int(time.time() * 1000), '_': int(time.time() * 1000) } r = session.get(activity_url, params=activity_data) # 提交订单 submit_data = { 'buyNum': 1, 'price': r.json()['data']['priceStr'], 'projectId': activity_id, 'totalPrice': r.json()['data']['priceStr'], 'ticketArr': r.json()['data']['performList'][0]['ticketList'][0]['priceStr'] + '|1|', 'type': '1', 'venueId': r.json()['data']['venueId'], 'prizeType': '', 'orderFrom': '0', 'orderRemark': '', 'orderTicketList': [{ 'price': r.json()['data']['performList'][0]['ticketList'][0]['priceStr'], 'projectPrice': r.json()['data']['priceStr'], 'projectId': activity_id, 'ticketId': r.json()['data']['performList'][0]['ticketList'][0]['ticketId'], 'ticketName': r.json()['data']['performList'][0]['ticketList'][0]['ticketName'], 'ticketNum': 1, 'ticketPrice': r.json()['data']['performList'][0]['ticketList'][0]['priceStr'] }], 'idCardList': '', 'invoiceTitle': '', 'ticketFlag': '1', 'platformId': '', 'merchandiseFlag': '' } submit_url = 'https://buy.damai.cn/confirmOrder.html' r = session.post(submit_url, data=submit_data) print(r.json()) ``` 该代码会模拟用户登录大麦并提交订单,但并不能保证一定能够成功抢到票。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值