2013-09-24 60 views
0

当我打开雅虎电影网站时,比如黑暗骑士(http://movies.yahoo.com/movie/the-dark-knight/),根据Broswer(在我的情况下,Chrome浏览器),网站的浏览方式不同。所以HTML代码是彼此不同的。 为了通过Chrome,以HTML源代码,我在Java编码如下:如何使用java在Chrome浏览器中从URL获取HTML代码?

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(); 

虽然我想从CHROME HTML代码,但输出是从资源管理器。请让我知道如何使用JAVA获取Chrome版本的HTML。

+0

您是否手动检查了代码并发现** HTML **不同? – mavrosxristoforos

回答

2

到目前为止所写的内容将返回最初的数据流。要在浏览器中复制行为,需要实现浏览器的所有功能(HTML解析,DOM构建,JavaScript执行,CSS呈现,获取链接数据等)以处理动态生成的DOM内容。从HttpURLConnection读取数据只是众多必需步骤中的第一步。当你完成你将重复一个现代浏览器。这是一项巨大的工作。

相关问题