如何使用 Jsoup 从 css 中提取值?

How to extract value from css with Jsoup?

如何使用 JSoup 从此代码中提取“2015-06-18 15:24:48”?

<span class="review-time">Added <time datetime="2015-06-18 15:24:48">6 months ago</time></span>

我只能通过下面的代码提取 "Added 6 months ago",但这不是我需要的。

String date = element.getElementsByClass("review-time").text();

由于您已经 select 编辑了 <span class="review-time">...</span> 部分,现在您可以简单地 select <time..> 元素并读取其 datetime 属性。所以你的代码看起来像:

String date = element.getElementsByClass("review-time").select("time").attr("datetime");

或者你甚至可以用 CSS select 或类似的方式稍微简化一下:

String date = element.select("span.review-time time").attr("datetime")

就这么简单,如下图。您需要做的是使用 Jsoup 创建一个存储已解析 html 的文档,然后使用文档的 select 方法查找标签 <time> 和 select 它的 datetime 属性并打印出来。

String s = "<span class=\"review-time\">Added <time datetime=\"2015-06-18 15:24:48\">6 months ago</time></span>";

Document doc = Jsoup.parse(s);
Element timeTag = doc.select("time").first();

String dateTimeAttr= timeTag.attr("datetime");

System.out.println(dateTimeAttr);