用Python抢高铁票
时间: 2023-12-25 17:29:32 浏览: 31
抢高铁票是一个常见的需求,下面是一个用Python实现抢票的简单示例:
```python
import requests
import time
def grab_ticket():
# 构造请求参数
params = {
'train_date': '2022-01-01', # 车票日期
'from_station': '北京', # 出发站
'to_station': '上海', # 到达站
'purpose_codes': 'ADULT' # 乘客类型,成人票
}
# 发送请求
response = requests.get('https://kyfw.12306.cn/otn/leftTicket/queryZ', params=params)
# 解析响应数据
tickets = response.json()['data']['result']
# 判断是否有票
if tickets:
print('恭喜,抢到票了!')
else:
print('很遗憾,没有抢到票。')
while True:
# 获取当前时间
now = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
# 判断是否到达抢票时间
if now >= '2022-01-01 08:00:00':
grab_ticket()
break
# 每隔一段时间检查一次时间
time.sleep(10)
```
这个示例中,我们使用requests库发送请求,获取12306网站上指定日期、出发站和到达站的车票信息。然后,我们解析响应数据,判断是否有票。如果有票,就输出"恭喜,抢到票了!";如果没有票,就输出"很遗憾,没有抢到票。"
为了实现定时抢票的功能,我们使用了time库来获取当前时间,并通过比较当前时间和抢票时间来判断是否到达抢票时间。如果还没有到达抢票时间,就每隔10秒检查一次时间,直到到达抢票时间为止。