简体   繁体   English

如何使用Jsoup从CSS提取值?

[英]How to extract value from css with Jsoup?

How can I extract "2015-06-18 15:24:48" from this code 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>

I'm only able to extract "Added 6 months ago" by code below, but it's not what I need. 我只能通过下面的代码提取“ 6个月前添加的内容”,但这不是我所需要的。

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

Since you already selected <span class="review-time">...</span> part now you can simply select <time..> element and read its datetime attribute. 由于您已经选择了<span class="review-time">...</span>部分,因此您只需选择<time..>元素并读取其datetime属性即可。 So your code can look like: 因此您的代码如下所示:

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

Or you could even simplify it a little with one CSS selector like: 或者甚至可以使用一个CSS选择器来简化它,例如:

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

As simple as shown below. 如下所示简单。 What you have to do is create a Document that stores the parsed html using Jsoup and then use the Document's select method to find the tag which is <time> and select its datetime attribute and print it. 您需要做的是使用Jsoup创建一个文档来存储已解析的html,然后使用文档的select方法找到<time>标记并选择其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);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM