我正在尝试创建一个自动java程序,它将获取某个网页的源代码,但是我能够通过自动程序获得的源代码与我右键单击时获得的源代码不同。网页。 现在,基于我在互联网上找到的代码,这是我的解决方案,它不起作用。我需要获取评论的文本,下面的代码不会返回它。
public static void main(String[] args) throws IOException {
URL url = new URL(
"http://www.tripadvisor.com/ShowUserReviews-g60745-d481776-r184086024-Prudential_Center-Boston_Massachusetts.html#REVIEWS");
URLConnection spoof = url.openConnection();
spoof.setRequestProperty("User-Agent",
"Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; H010818)");
BufferedReader in = new BufferedReader(new InputStreamReader(
spoof.getInputStream()));
String strLine = "";
String finalHTML = "";
// Loop through every line in the source
while ((strLine = in.readLine()) != null) {
finalHTML += strLine+"\n";
}
System.out.println(finalHTML);
}
}
答案 0 :(得分:1)
除非页面是1990年代的纯静态HTML页面,否则通常无法检索页面的“源代码”。页面的源代码将包含HTML(或XML + XSLT)和CSS,以及在加载页面后修改DOM的Javascript。
此外,在加载页面之后,可以继续修改DOM以响应事件,并且可以继续通过Ajax甚至原始套接字从一个或多个服务器获取数据。所以没有“ 源代码”,除非你的意思是最初传输的HTML,CSS,Javascript和图像。