In [10]:
import requests
from bs4 import BeautifulSoup as Soup

In [55]:
LINES={"MERCHANDISE MART": "40460","SOUTHPORT": "40360"}
base="http://www.transitchicago.com/traintracker/arrivaltimes.aspx?sid="

In [63]:
def requestTrainSchedule(line):
    line=line.upper()
    soup=Soup(requests.get(base+LINES[line]).text,"html.parser")
    return parseTrainHTML(soup)
requestTrainSchedule("Merchandise Mart")


Out[63]:
'Kimball Due\nKimball 12 min\nLoop 12 min\ntrain 20 min\n'

In [60]:
def parseTrainHTML(soup):
    tracker_div=soup.find("div",{"id":"ctl06_upTrainTracker"})
    train_divs=tracker_div.find_all("div",{"class": "ttar_arrivalbar_brown"})
    response_str=""
    for train_div in train_divs:
        dest=train_div.find("span","ttar_traindest").text.split(" ")[-1]
        estimated_arrival=train_div.find("div","ttar_trainpred").text.split("\n")[-1]
        response_str+=dest+" "+estimated_arrival+"\n"
    return response_str
parseTrainHTML(soup)


Out[60]:
'Kimball 4 min\nKimball 14 min\nLoop 2 min\nLoop 11 min\n'

In [ ]: