如何使用 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);
如何使用 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);