Я пытаюсь прочитать лучшую цену с веб-сайта skyscanner, используя обычный запрос на получение, но я не получаю желаемый контент с помощью этого кода.
private void getRequest() throws Exception {
StringBuilder result = new StringBuilder();
URL url = new URL(URL);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.addRequestProperty("User-Agent","Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0");
System.out.println(conn.getURL());
conn.setInstanceFollowRedirects(true);
HttpURLConnection.setFollowRedirects(true);
conn.setRequestMethod("GET");
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = rd.readLine()) != null) {
result.append(line);
}
System.out.println(conn.getURL());
rd.close();
response = result.toString();
}
Запрашивается следующий URL:
https://www.skyscanner.com/transport/flights/fra/txl/181220/?adults=1&children=0&adultsv2=1&childrenv2=&infants=0&cabinclass=economy&rtn=0&preferdirects=false&outboundaltsenabled=false&inboundaltsenabled=false¤cy=EUR&market=DE&locale=en-US
Ответ из кода выше выглядит следующим образом:
https://pastebin.com/YKh17RKE
Перейдя по упомянутой ссылке на skyscanner в chrome, я могу нажать на элемент inspect и вуаля под
fqs-opts-container -> <span class="fqs-price">42 €</span>
Я вижу самую дешевую цену.
Как получить эту информацию с помощью Java? Что я здесь не так делаю?
Заранее спасибо.