Skip to content

Instantly share code, notes, and snippets.

@hedgeven
Created December 20, 2013 10:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hedgeven/8052740 to your computer and use it in GitHub Desktop.
Save hedgeven/8052740 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python3.3
# -*- coding: utf8 -*-
import requests
import re
import sys
from bs4 import BeautifulSoup
params = {
'TO_STATION_LIST': '901',
'TIME': '',
'STEP': '1',
'sa': 'GET_P62G60_EVENT',
'pa': 'express3',
'FROM_STATION_LIST': '1961',
'DATE': '28.12.2013'
}
url = "https://epay.railways.kz/ktz3/proc"
s = requests.session()
r = s.post(url, data=params, verify=False)
soup = BeautifulSoup(r.text)
if soup.find(id="trainsTable"):
table=soup.find(id="trainsTable").find_all(attrs={'class':'even center'})
result={'Дата':params['DATE'],'Места': {}}
result['Места']['общий']=re.findall('\d+', str(table[6]))
result['Места']['сидячий']=re.findall('\d+', str(table[7]))
result['Места']['плацкартный']=re.findall('\d+', str(table[8]))
result['Места']['купе']=re.findall('\d+', str(table[9]))
result['Места']['мягкий']=re.findall('\d+', str(table[10]))
result['Места']['люкс']=re.findall('\d+', str(table[11]))
print('Дата отправления', result['Дата'])
print('Доступные места:')
for m in result['Места']:
if len(result['Места'][m])>0:
print('\t', m, result['Места'][m][0])
sys.exit(0)
else:
sys.stdout.write('На %s билетов нет\n'%params['DATE'])
sys.exit(1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment