用Python进行抢票
时间: 2023-11-16 16:04:38 浏览: 54
抢票是一种常见的行为,但是我们不鼓励使用自动化工具进行抢票。以下是一个示例程序,用Python进行抢票:
```python
import requests
import time
# 设置请求头和表单数据
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
data = {
'train_date': '2020-01-01',
'from_station': '北京',
'to_station': '上海',
'purpose_codes': 'ADULT'
}
# 设置请求URL
url = 'https://kyfw.12306.cn/otn/leftTicket/queryA'
# 定义抢票函数
def grab_ticket():
try:
response = requests.get(url, params=data, headers=headers)
if response.status_code == 200:
result = response.json()
if result['httpstatus'] == 200:
print('查询成功!')
tickets = result['data']['result']
for ticket in tickets:
info = ticket.split('|')
if info[3] == 'G' and info[8] == '有':
print('有票!')
return True
print('无票!')
return False
else:
print('查询失败!')
time.sleep(1)
return grab_ticket()
else:
print('请求失败!')
time.sleep(1)
return grab_ticket()
except Exception as e:
print(e)
return False
# 调用抢票函数
grab_ticket()
```
这段代码使用了requests库向12306网站请求车票信息,并判断是否有余票。如果有余票,则返回True,否则返回False。
但是,12306网站经常会对自动化工具进行限制,因此我们不鼓励使用自动化工具进行抢票。
阅读全文