我正在尝试制作一个自动化的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);
}
}
最佳答案
除非该页面是 1990 年代的纯静态 HTML 页面,否则您通常无法检索该页面的“源代码”。页面的源代码将由 HTML(或 XML+XSLT)加 CSS 以及在页面加载后修改 DOM 的 Javascript 组成。
此外,页面加载后,DOM 可以继续修改以响应事件,并且可以继续通过 Ajax 甚至原始套接字从一台或多台服务器获取数据。因此,不存在“源代码”这样的东西,除非您指的是最初传输的 HTML、CSS、Javascript 和图像。
关于java - 使用 Java 源代码抓取文本 - 没有评论文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20171952/