Как получить HTML-код из URL в браузере Chrome, используя Java?

0

Когда я открываю веб-сайт фильмов Yahoo, скажем Темный рыцарь (http://movies.yahoo.com/movie/the-dark-knight/), веб-сайт рассматривается по-разному в соответствии с Broswer (в моем случае Chrome vs Explorer). Таким образом, код HTML отличается друг от друга. Чтобы получить исходный HTML-код от Chrome, я закодирован в java следующим образом:

StringBuilder parsedContentFromUrl = new StringBuilder();
HttpURLConnection uc;
uc = (HttpURLConnection) url.openConnection();
uc.addRequestProperty("User-Agent","Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36 CoolNovo/2.0.9.20");
uc.setRequestMethod("GET");
uc.connect();
uc.getInputStream();
BufferedInputStream in = new BufferedInputStream(uc.getInputStream());
int ch;
while((ch = in.read()) != -1) {
    parsedContentFromUrl.append((char) ch);
}
String content = parsedContentFromUrl.toString();

Хотя я хочу получить HTML-код из CHROME, но вывод от EXPLORER. Пожалуйста, дайте мне знать, как я могу получить HTML версию Chrome с помощью JAVA.

Теги:
google-chrome
yahoo

1 ответ

2

То, что вы написали до сих пор, вернет исходный поток данных. Чтобы дублировать поведение в браузере, вам нужно что-то, реализующее все функциональные возможности (синтаксический анализ html, создание DOM, выполнение javascript, рендеринг css, выборка связанных данных и т.д.) Браузера для обработки динамически созданного содержимого DOM. Чтение данных из HttpURLConnection - это только первый из многих необходимых шагов. Когда вы закончите, вы продублируете современный браузер. Это огромная работа.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню