Created by
Iakov Davydov
last modified
| #!/usr/bin/env python
import urllib
from bs4 import BeautifulSoup
class Transport:
def __init__(self, line, stop, direction, time):
self.line = line
self.stop = stop
self.direction = direction
self.time = time
def __str__(self):
return '%s %s->%s: %s' % (
self.line, self.stop, self.direction, self.time)
def __repr__(self):
return '<Transport: %s %s->%s: %s>' % (
self.line, self.stop, self.direction, self.time)
base_url = 'http://www.t-l.ch/tl-live-mobile/line_detail.php?from=horaire&'
def create_url(par):
return base_url + urllib.urlencode(par)
def get_schedule(par):
url = create_url(par)
l = []
s = urllib.urlopen(url)
#s = open('x')
soup = BeautifulSoup(s, 'html.parser')
#print soup.prettify()
for entry in soup.find_all('li', class_='horaireline'):
linename = entry.find(class_='linename').get_text().strip()
name = entry.find(class_='name').get_text('|').strip()
stop, direction = name.split('|')
time = entry.find(class_='time').get_text().strip()
l.append(Transport(linename, stop, direction, time))
return l
if __name__ == '__main__':
# sorge -> renens
par1 = {
'id': 3377704015495993,
'line': 11821953316814882,
'id_stop': 2533279085538372,
'id_direction': 11821953316814882,
'lineName': 'm1'
}
# sorge -> flon
par2 = {
'id': 3377704015495991,
'line': 11821953316814882,
'id_stop': 2533279085547610,
'id_direction': 11821953316814882,
'lineName': 'm1'
}
for t1, t2 in zip(get_schedule(par1), get_schedule(par2)):
print str(t1).ljust(40), t2
|