Z tymi rozkładami i trasami to jest tak. Prowadziłem w latach 2000-2003 serwis z wszystkimi danymi importowanymi z ZTM - pełne parsowanie tras i rozkładów jazdy, łączenie ich w tabele na kształt kolejowego SRJP, wyliczanie częstotliwości, szablonów czasu przejazdu itp. Powiem tak: parsowanie htmla da się ogarnąć, ale trzeba tego doglądać i na bieżąco wprowadzać poprawki do skryptów. Nie można tego zostawić na miesiąc i nic nie robić, bo zawsze coś się posypie. Rozkłady były wrzucane czasem na kilka dni naprzód, czasem na parę godzin przed terminem w postaci całego katalogu zawierającego zarówno dane zmienione jak i niezmienione. Pobierałem i parsowałem automatem zawsze wszystko (do dziś mam skrypt pobierający rozkłady, trochę się tych paczek zebrało od 2000 roku do dziś…), ale jak chciało się zrobić to dobrze, to sporo było nietypowych rzeczy do obsłużenia np. dopiski dotyczące wybranych kursów albo całej linii w rodzaju “kursuje w dni szkolne” albo “nie kursuje w drugi dzień wielkanocy”, przy czym ZTM często zmienia sformułowania tych dopisków albo w różnych liniach stosuje różne sformułowania dotyczące tak naprawdę tego samego.
Do tego dochodzą zmiany weekendowe, a ZTM wrzuca niby całą paczkę, ale okrojoną o te linie, które rozkładowo w weekend nie kursują. Robi się więc burdel na maksa z tymi zakresami obowiązywania, bo taka linia (najczęściej 4** lub 3**) nagle “znika” z dnia na dzień z rozkładu a potem od poniedziałku wraca z rozkładem niezmienionym. Więc w takim przypadku zasadniczo nie powinna w weekend znikać z mojego serwisu, bo nie została wycofana, tylko po prostu w ten dzień nie kursuje, ale przecież ktoś w sobotę może chcieć sprawdzić, czym może dojechać w poniedziałek.
Jeśli ktoś chciałby się bawić w zbieranie danych o rozkładach i trasach, będzie musiał się z takimi problemami zmierzyć.
Edit: przynajmniej kiedyś tak było. Może teraz ZTM wrzuca pełne paczki. Ale zawsze to było tak, że ZTM lubił czymś zaskakiwać i trzeba było szybko znaleźć rozwiązanie pod groźbą publikowania w moim serwisie nieaktualnych lub błędnych danych. A ponieważ nie miałem nieraz czasu by tego doglądać, w końcu odpuściłem.