【问题标题】:How to get HTML table content from an in-complete webpage (HTML only) online?如何从不完整的网页(仅限 HTML)在线获取 HTML 表格内容?
【发布时间】:2014-03-06 13:05:40
【问题描述】:

问题:如何通过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 页,...)

但是为什么会这样呢?有没有其他方法可以尝试?

【问题讨论】:

    标签: java html web-scraping html-table jsoup


    【解决方案1】:

    原因很简单。散列标签对服务器无关紧要,因此它只发送第一页。我猜其他页面是由 AJAX 发送的,因此您需要检查网络流量以找到该 url。比您还可以阅读下一页。

    【讨论】:

    • 谢谢。有没有办法通过使用 Jsoup 或其他库来访问完整的页面,让我得到最终的 html 文件?
    • 对于第一页,您可以采用这种方式实现。尝试在大多数浏览器中按 F12 打开开发工具,您应该能够跟踪 AJAX 请求。您现在感兴趣的网址。由于我现在正在使用手机,所以我现在无法为您这样做。
    • 非常感谢。我现在就试试。但我对网络编程很陌生。我期待着您的进一步指导。
    • 还是不知道怎么弄
    • 我找到了url:discussions.apple.com/community/ipad/…你可以自己改参数吗?
    猜你喜欢
    • 2020-02-25
    • 1970-01-01
    • 2012-06-04
    • 2016-09-17
    • 2016-09-15
    • 1970-01-01
    • 1970-01-01
    • 2011-10-12
    • 2013-11-09
    相关资源
    最近更新 更多