potrzebuję zaciągać informacje o rozkładzie pkp lub pks. Tzn kiedy wpiszę u siebie na www np Warszawa - Gdańsk i start 31 maja 2014 (oraz ewentualne miejscowości o które chciałbym zahaczyć) to dostanę dane z rozkładem. Macie pomysł jak to zrobić? Widziałem, że pkp i pks chyba nie ma api. Czy pozostaje tylko parser?


EDIT - OPCJA I
==============
jeśli nie mam jakiegoś wygodnego sposobu to znalazłem taki formularz:
  1. <form class="form" action="http://www.e-podroznik.pl/public/searcherFinal.do" method="post" accept-charset="UTF-8">
  2. <legend>Wyszukiwarka PKS, PKP i BUSY</legend>
  3. <input type="hidden" name="lang" value="pl">
  4. <input type="hidden" name="method" value="plain">
  5. <label id="epodrozniExt1FromLabel" for="epodrozniExt1FromField" class="fieldTitle">Z:</label>
  6. <input class="formField text" id="epodrozniExt1FromField" type="text" name="formCompositeSearcherFinal.fromText" tabindex="1001"><br>
  7. <label id="epodrozniExt1ToLabel" for="epodrozniExt1ToField" class="fieldTitle">Do:</label>
  8. <input class="formField text" id="epodrozniExt1ToField" type="text" name="formCompositeSearcherFinal.toText" tabindex="1002"><br>
  9. <label id="epodrozniExt1DateLabel" for="epodrozniExt1DateField" class="fieldTitle">Data odjazdu (dd.mm.rrrr):</label>
  10. <input class="formField text" id="epodrozniExt1DateField" type="text" maxlength="10" name="formCompositeSearcherFinal.date" tabindex="1003" value="21.05.2014"><br>
  11. <label id="epodrozniExt1TimeLabel" for="epodrozniExt1TimeField" class="fieldTitle">Czas odjazdu (gg:mm):</label>
  12. <input class="formField text" id="epodrozniExt1TimeField" type="text" maxlength="5" name="formCompositeSearcherFinal.time" tabindex="1004" value="12:49"><br>
  13. <span class="submitContainer">
  14. <input type="submit" class="submit" id="epodrozniExt1BtnSubmit" value="Szukaj" tabindex="1005">
  15. </span>
  16. </form>



Dla danych Warszawa - Gdańsk wyświetla kolejny formularz który mój skrypt musiałby zaakceptować. Formularz ten sugeruje bardziej precyzyjne dane czyli:
Warszawa, gm. M. st. Warszawa, pow. m. st. Warszawa - Gdańsk, gm. M. Gdańsk, pow. m. Gdańsk

w sumie mogłoby mi to wystarczyć tylko jak za pomocą skryptu zaakceptować ten drugi formularz tak abym mógł sobie potem pobrać stronę z wynikami wyszukiwania?

Pierwszy etap ogarniam tak:

  1. $postFields['lang'] = 'pl';
  2. $postFields['method'] = 'plain';
  3. $postFields['formCompositeSearcherFinal.fromText'] = 'Warszawa';
  4. $postFields['formCompositeSearcherFinal.toText'] = 'Lublin';
  5. $postFields['formCompositeSearcherFinal.date'] = '28.05.2014';
  6. $postFields['formCompositeSearcherFinal.time'] = '12:49';
  7. $url = "http://www.e-podroznik.pl/public/searcherFinal.do";
  8. $curl = curl_init($url);
  9. curl_setopt($curl, CURLOPT_COOKIEFILE, dirname(__FILE__) . 'cookies.txt');
  10. curl_setopt($curl, CURLOPT_COOKIEJAR, dirname(__FILE__) . 'cookies.txt');
  11. curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
  12. $result = curl_exec($curl);
  13.  
  14.  
  15. $result = curl_exec($res);
  16. curl_close($curl);
  17.  


Teraz w zmiennej $result mam etap drugi formularza który należy zaakceptować a ja nie wiem jak. Zawartość zmiennej $result:
http://www.iv.pl/images/80505594396249128504.png




EDIT - OPCJA II
===============
ok znalazłem inną stronkę http://beta.rozklad-pkp.pl/ gdzie uzyskanie wyniku jest jedno etapowe - czyli wypełniam formularz i zaraz po submit dostaję wynik. Teraz jak za pomocą culr wysłać dane do tego formularza i potem pobrać wynik? jest tylko problem bo w tym formularza nie wszystkie input'y mają zadeklarowane wartości name.