问题:如何通过Java获取HTML中的表格内容?
要求:必须是在线页面,而不是本地文件。
我想提取第一个主题的网址:
https://discussions.apple.com/community/ipad/using_ipad?view=discussions#/?page=3
我尝试使用以下代码来获取第 3 页的第一个主题
String url_page3 = "https://discussions.apple.com/community/ipad/using_ipad?view=discussions#/?page=3";
String key = "td.jive-table-cell-subject > a[href]";
Document doc = Jsoup.connect(url_page3).maxBodySize(0).timeout(0).get();
Element e = doc.select(key).first();
System.out.println(e.attr("abs:href");
它返回第 1 页上的第一个主题(即使我将连接的 URL 更改为第 4 页、第 5 页,...)
但是为什么会发生这种情况呢?还有其他方法可以尝试吗?
最佳答案
原因很简单。哈希标签对服务器来说并不重要,因此它只发送第一页。我猜其他页面是通过 AJAX 发送的,因此您需要检查网络流量才能找到该 url。您还可以阅读接下来的几页。
关于java - 如何在线从不完整的网页(仅限 HTML)获取 HTML 表格内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21656222/