Как парсить данные страницы, если они генерируются на клиенте?

213
26 августа 2018, 17:40

Всем привет, в общем нужно мне спарсить данные о количестве билетов с сайта rzd. Я попробовал через их api, но ничего не работает, поэтом решил тупо парсить код страницы. Юзаю nodejs и request. Проблема в том, что данные (как я понял) генеряться на клиенте, а в коде страницы их нет. Можете подсказать как быть?

var request = require('request');
var URL = 'https://pass.rzd.ru/tickets/public/ruSTRUCTURE_ID=704&refererPageId=4065&layer_name=e3-route&tfl=3&st0=%D0%9C%D0%9E%D0%A1%D0%9A%D0%92%D0%90+%D0%9F%D0%90%D0%92%D0%95%D0%9B%D0%95%D0%A6%D0%9A%D0%90%D0%AF+(%D0%9F%D0%90%D0%92%D0%95%D0%9B%D0%95%D0%A6%D0%9A%D0%98%D0%99+%D0%92%D0%9E%D0%9A%D0%97%D0%90%D0%9B)&code0=2000005&dt0=14.07.2018&st1=%D0%A1%D0%90%D0%A0%D0%90%D0%A2%D0%9E%D0%92+1+%D0%9F%D0%90%D0%A1%D0%A1&code1=2020000&checkSeats=1';
var pagecode = '';
req = {
  method: 'POST',
  uri: URL,
};
request(req, function (error, response, pagecode) {
    var k = pagecode.indexOf('route-cartype-places-left');
    var tickets = pagecode.substr(k, 70);
    console.log(tickets);
  });

Данный код просто хватает название класса (где-то около этого класса есть нужные данные) и выводит 70 символов после, получается это:

route-cartype-places-left">Мест: {{freeSeats}}
                                                </span>
                                                {{/

Вместо "{{freeSeats}}" должно быть число, как его получить? Спасибо за помощь!

READ ALSO
Webview и работа с ним

Webview и работа с ним

Я тут глупенькийУ меня есть webview, которая открывает html файл

169
Multi-highlight

Multi-highlight

Доброе время суток! Скажите пожалуйста на сколько реально вытащить из приложения js файл и переделать под свой лад ? https://chromegoogle

187
WebView и display:grid

WebView и display:grid

Отображение контейнера в браузере на ПК и на андроиде очень сильно разится

152
Двойной ORDER BY mysql

Двойной ORDER BY mysql

Есть база данных с товарамиПо умолчанию товары выводятся по id ASC

237