秀动自动抢票 selenium 版本发布

xiudong-selenium

此版本为 selenium 模拟浏览器操作 目前暂时不考虑继续维护。

前往项目主页 https://github.com/ronething/xiudong-selenium 有用请点一下 star,感恩

usage

chromedriver 程序需要下载一下

https://chromedriver.chromium.org/downloads

git clone https://github.com/ronething/xiudong-selenium.git
pip3 install -r req.txt
python3 main.py

提供了两个 api

  • 一个是跳转到登录页面,请自行登录 /login

  • 一个是通用购买演出票 api,请自行传入对应参数, 支持定时功能 /buy?event=xxx&ticketId=xxx

  • 如果多次刷新 login 且登录页面没有进行登录,可能会存在线程阻塞问题,因为 max_workers 设置了 10 个, 暂时可以通过关闭窗口解决

  • 如果确认订单页面显示已售罄,需要不断刷新直到出现立即支付,这一点在捡漏的时候很有用

  • 只是给大家提供点思路,其他请自行阅读代码,祝大家好运

免责声明

本仓库发布的 xiudong-selenium 项目中涉及的任何脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。

本项目内所有资源文件,禁止任何公众号、自媒体进行任何形式的转载、发布。

本人对任何脚本问题概不负责,包括但不限于由任何脚本错误导致的任何损失或损害.

间接使用脚本的任何用户,包括但不限于建立VPS或在某些行为违反国家/地区法律或相关法规的情况下进行传播, 本人 对于由此引起的任何隐私泄漏或其他后果概不负责。

请勿将 xiudong-selenium 项目的任何内容用于商业或非法目的,否则后果自负。

如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关脚本。

以任何方式查看此项目的人或直接或间接使用 xiudong-selenium 项目的任何脚本的使用者都应仔细阅读此声明。本人 保留随时更改或补充此免责声明的权利。
一旦使用并复制了任何相关脚本或 xiudong-selenium 项目,则视为您已接受此免责声明。

您必须在下载后的24小时内从计算机或手机中完全删除以上内容。

本项目遵循 GPL-3.0 License 协议,如果本特别声明与 GPL-3.0 License 协议有冲突之处,以本特别声明为准。

您使用或者复制了本仓库且本人制作的任何代码或项目,则视为已接受此声明,请仔细阅读
您在本声明未发出之时点使用或者复制了本仓库且本人制作的任何代码或项目且此时还在使用,则视为已接受此声明,请仔细阅读

acknowledgement

### 平台自动脚本 对于平台的自动需求,存在一个名为“辅助”的开源项目[^3]。这个项目采用Python编程语言并结合Selenium库来模拟真实的浏览器行为,从而实现自动化的购过程。此外,“辅助”还集成了Flask微框架,创建了一个简易的API接口,使得用户可以通过发送HTTP请求的方式触发购逻辑,并允许传递诸如演出ID、务ID之类的自定义参数。 在核心功能方面,“辅助”不仅实现了基本的自动化购流程——即浏览、登录以及最终确认订单的操作;而且加入了定时任务的支持,让用户能够在设定的时间点启程序尝试获取剩余或新放出的门资源。值得注意的是,在最近的功能更新里,该项目增加了观演人的自动选择机制,进一步提升了使用的便捷性和成功率。 为了更好地理解如何构建这样一个针对网的系统,可以参考如下简化版代码片段: ```python from selenium import webdriver import time class ShowDongBot: def __init__(self): options = webdriver.ChromeOptions() self.driver = webdriver.Chrome(options=options) def login(self, username, password): """处理登录逻辑""" pass def select_performance_and_ticket_type(self, performance_id, ticket_type): url = f"https://www.showstart.com/event/{performance_id}" self.driver.get(url) # 假设这里已经完成了必要的页面加载等待 try: # 这里的XPath路径需要根据实际HTML结构调整 ticket_option = self.driver.find_element_by_xpath(f'//div[contains(@data-ticket-type-id,"{ticket_type}")]') ticket_option.click() buy_button = self.driver.find_element_by_class_name('buy-link') buy_button.click() print("已成功点击购买按钮") except Exception as e: print(e) if __name__ == "__main__": bot = ShowDongBot() # 用户名密码需替换为真实值或者通过更安全的方法输入 bot.login("your_username", "your_password") # 替换为具体的演出编号和想要买的种id bot.select_performance_and_ticket_type(performance_id="example_event_id", ticket_type="example_ticket_type_id") ``` 上述代码展示了如何使用SeleniumChrome浏览器访问特定活页面,并定位到所需的种类别进行选购。需要注意的是,由于不同网站的具体结构差异较大,因此Xpath或者其他选择器表达式的准确性至关重要,可能需要依据目标站点的实际情况进行适当调整。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值