使用源Java抓取文本-无评论文本

使用源Java抓取文本-无评论文本,java,html,web,urlconnection,Java,Html,Web,Urlconnection,我正在尝试制作一个自动化的java程序,该程序将获得某个网页的源代码,但我能够通过自动化程序获得的源代码与我右键单击网页时获得的源代码不同。 现在,根据我在互联网上找到的代码,这是我的解决方案,它不起作用。我需要得到评论的文本,下面的代码不会返回它 public static void main(String[] args) throws IOException { URL url = new URL( "http://www.tripadvisor.com/Sh

我正在尝试制作一个自动化的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);
}

}除非页面是20世纪90年代纯静态HTML页面,否则通常无法检索页面的“源代码”。页面的源代码将由HTML(或XML+XSLT)加上CSS以及加载页面后修改DOM的Javascript组成


此外,加载页面后,DOM可以继续修改以响应事件,并可以继续通过Ajax甚至原始套接字从一个或多个服务器获取数据。因此,没有所谓的“源代码”,除非您指的是最初传输的HTML、CSS、Javascript和图像。

我怀疑您在JS启动和更改页面内容之前收到了原始HTML代码。也许可以尝试使用一些WebDriver而不是URLConnection?你能更好地解释什么不起作用以及实际发生了什么吗?我得到了一部分html代码,但没有评论的显式文本,也没有指向它们的链接,这是我需要的。如果评论是通过Ajax加载的,你需要弄清楚这一点,确定评论的实际位置(URL)并自己下载。这可能很简单,也可能不简单,但需要对作为初始GET请求一部分下载的HTML/JS进行分析。