java - 如何使用 Jsoup 从表中提取文本

标签 java html web web-crawler jsoup

也许有人可以帮助我使用 jsoup 从 html 中提取信息?

需要的信息是 23.90

<tr>
  <td class="leftcell" valign="top">
  <div onclick=
  "ShowHideTravelDetails('bookingPrice_TaxesToggleBox', 
'bookingPrice_TaxesToggleIcon', '/Images');" class="productheader">...</div>
</td>
<td class="rightcell emphasize" align="right" 
valign="bottom">$23.90</td></tr>

我可以在 html 文档的几个地方看到它。 我试过使用

Elements taxes = doc.select("td.rightcell.emphasize");

但它不起作用。

还尝试从表中提取信息:

   Elements table = doc.select("table[class=selectiontable]");
        Elements rows = table.get(0).select("td[class^=rightcell emphasize]");
        for (Element row : rows) {


            Elements tds = row.select("td");
            System.out.println(tds.get(13));

最佳答案

这样试试 我假设您有这样的代码。您需要进行嵌套级别迭代才能获得结果。

public class Test {
    public static void main(String[] args) {
        String html ="<table class=\"selectiontable\">\n" +
                "<tr>\n" +
                "  <td class=\"leftcell\" valign=\"top\">\n" +
                "  <div onclick=\n" +
                "  \"ShowHideTravelDetails('bookingPrice_TaxesToggleBox', \n" +
                "'bookingPrice_TaxesToggleIcon', '/Images');\" class=\"productheader\">...</div>\n" +
                "</td>\n" +
                "<td class=\"rightcell emphasize\" align=\"right\" \n" +
                "valign=\"bottom\">$23.90</td></tr>\n" +
                "</table>";


        Document document = Jsoup.parse(html);
        Elements elements = document.select(".selectiontable");
         for (Element element :elements){
             for (Element row : element.select("tr")) {
                 Elements tds = row.select("td");
                 if (tds.size() > 1) {
                     System.out.println(tds.get(1).text());
                 }
             }
         }
    }


}

输出:

$23.90

关于java - 如何使用 Jsoup 从表中提取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46070615/

相关文章:

java - 如何将 'Scanner' 与 'LenthOfString' 匹配在一起工作?

php - 如何将多维 PHP 数组转换为 html 表格

javascript - 如何从 Jquery 中 Alert 框的选中行的文本框中获取数据?

php - 我正在 PHP 中访问 MySQL 表,但它没有执行 if 条件并直接显示表

java - 在网络浏览器中运行 Android APK 文件 - 这可能吗?

ios - 使用 NSURLSession 或其他 iOS 方法传递凭据

java - 优化基于网格的粒子系统

java - 何时使用 gradle.properties 与 settings.gradle?

java - 使用 JDBC 从 Java 使用 Oracle 数据库解析器

web - 处理Fiddler录制中相同URL上的POST参数差异?