Python 大麦网抢票脚本 - 自动化 UI 界面抢票
抢票脚本需要用到 Selenium 库来模拟浏览器操作,以及 Tkinter 库来实现 UI 界面。以下是一个简单的实现:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
import tkinter as tk
import time
# 创建 UI 界面
root = tk.Tk()
root.title('大麦网抢票脚本')
root.geometry('300x200')
# 标签和输入框
tk.Label(root, text='演出名称:').grid(column=0, row=0)
name_entry = tk.Entry(root)
name_entry.grid(column=1, row=0)
tk.Label(root, text='城市:').grid(column=0, row=1)
city_entry = tk.Entry(root)
city_entry.grid(column=1, row=1)
tk.Label(root, text='演出时间:').grid(column=0, row=2)
time_entry = tk.Entry(root)
time_entry.grid(column=1, row=2)
tk.Label(root, text='票价范围:').grid(column=0, row=3)
min_entry = tk.Entry(root, width=6)
min_entry.grid(column=1, row=3)
tk.Label(root, text='~').grid(column=2, row=3)
max_entry = tk.Entry(root, width=6)
max_entry.grid(column=3, row=3)
# 抢票函数
def buy_ticket():
# 获取输入框的值
name = name_entry.get()
city = city_entry.get()
time = time_entry.get()
min_price = min_entry.get()
max_price = max_entry.get()
# 打开浏览器并进入大麦网
driver = webdriver.Chrome()
driver.get('https://www.damai.cn/')
# 搜索演出
search_box = driver.find_element_by_id('inpsearch')
search_box.send_keys(name)
search_box.send_keys(Keys.ENTER)
# 选择城市和时间
city_select = Select(driver.find_element_by_id('citySelect'))
city_select.select_by_visible_text(city)
time_select = Select(driver.find_element_by_id('dateSelect'))
time_select.select_by_visible_text(time)
# 筛选票价
min_price_input = driver.find_element_by_id('rangeBegin')
min_price_input.send_keys(min_price)
max_price_input = driver.find_element_by_id('rangeEnd')
max_price_input.send_keys(max_price)
driver.find_element_by_id('btnSearch').click()
# 选择第一个场次并购买
driver.find_element_by_css_selector('.search_list_item').click()
driver.find_element_by_css_selector('.buybtn').click()
# 关闭浏览器
driver.quit()
# 添加按钮
tk.Button(root, text='抢票', command=buy_ticket).grid(column=1, row=4)
root.mainloop()
这个脚本会打开一个 UI 界面,让用户输入演出名称、城市、演出时间和票价范围,然后自动打开浏览器,搜索符合要求的演出,并购买第一个场次的票。需要注意的是,这个脚本只是一个示例,实际使用中需要根据具体情况进行修改和优化。
原文地址: https://www.cveoy.top/t/topic/lOM7 著作权归作者所有。请勿转载和采集!