erebus
Фев. 7, 2014 12:20:31
Есть сайт покупки ж/д билетов:
http://dprc.gov.ua/show.php?transport_type=2&src=22200001&dst=22210800&dt=2014-02-09&ret_dt=2001-01-01&ps=ec_privatпри выборе поезда(если нажать на линк “заказать” или на поезд) появляется детальная информация, а именно какие места свободны.
Спарсить всю информацию какая есть в исходном коде(номера поездов, общее кол-во свободных мест по типам вагонов и т.д. вобщем все что на 1 рисунке есть) получилось, но как реализовать парсинг номеров свободных мест, или хотя бы кол-во свободных верхних/нижних мест. Эта информация не отображаеться в исходном коде страницы (рис.2)
noob_saibot
Фев. 7, 2014 13:18:58
Как же нет

<td id="seat_1" class="seat_cell_2 rw_seat_id_2 free_seat">2</td>
<td id="seat_3" class="seat_cell_2 rw_seat_id_4 free_seat">4</td>
<td id="seat_5" class="seat_cell_2 rw_seat_id_6 busy_seat">6</td>
PS:
Воспользуйтесь firebug'ом. Он покажет интересующий вас элемент.
erebus
Фев. 7, 2014 13:56:23
noob_saibot
Все правильно, но как получить эти данные из программы?
Данные подкачиваються во время нажатия на линк “заказать”.
а линк заказать =“#” тоесть таже самая ссылка
из fireag'a:
<form id=“train_order” class=“choose_and_order” method=“GET” action=“/invoice.php”>
скорее всего эти данные беруться из invoice.php, но я не уверен.
Не подскажете как програмно правильно сформировать запрос чтобы получить интерезующие меня данные, а именно номера свободных мест.
Я просто не понимаю: ссылка “заказать” у всех поездов одинаковая, а результат для каждого свой.
и еще есть процедура onclick="javascript:car_click(this,'c191218c-bb21-c108-00c9-00303430ca00', ‘15’, ‘1030’, ‘17726’);
которая обрабатываеться при нажатии на номер вагона, но не видно где описано её тело.
эта процедура отображает карту вагона с номерами мест
PanovSergey
Фев. 7, 2014 14:49:47
Например
Выбрать поездВыбрать карту вагонаКакие запросы выполняются при нажатии на кнопку можно в Chrome->right click -> просмотр кода элемента-> закладка network
На этой странице кругом ajax.
Не уверен точно, но может быть еще selenium справится.
Может есть проще способ, но не уверен.
erebus
Фев. 7, 2014 15:18:47
PanovSergey
Спасибо большое, то что нужно