2013-09-24 1 views
0

Когда я открываю веб-сайт фильмов Yahoo, скажем Темный рыцарь (http://movies.yahoo.com/movie/the-dark-knight/), веб-сайт просматривается по-разному в соответствии с Broswer (в моем случае, Chrome vs Explorer). Таким образом, код HTML отличается друг от друга. Для того, чтобы получить исходный HTML-код с помощью Chrome, я закодирован в Java следующим образом:Как получить HTML-код из URL-адреса в браузере 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-код из ХРОМА, но выход из EXPLORER. Пожалуйста, дайте мне знать, как я могу получить HTML версию Chrome с помощью JAVA.

+0

Вы проверили коды вручную и увидели, что ** HTML ** отличается? – mavrosxristoforos

ответ

2

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