我正在Java
工作并使用Jsoup
。我想从下面的网址中找到Time
。我试过这些但无法得到它。时间在于span
标签,但在id(timestamp--time timeago)
我正在尝试使用它,但我不知道问题是什么。
Document doc;
Elements lin = null;
String url = "http://www.dawn.com/news/1277133/this-is-how-pakistanis-around-the-country-are-celebrating-independence-day";
try {
doc = Jsoup.connect(url).timeout(20*1000).userAgent("Chrome").get();
lin = doc.getElementsByClass("span.timestamp--time timeago");
// System.out.println(lin);
} catch (IOException e) {
e.printStackTrace();
}
int i=0;
for(Element l :lin){
System.out.println(""+i+ " : " +l.text());
i++;
}
答案 0 :(得分:1)
您的CSS选择器错误。请改用:
lin = doc.select("span.timestamp--time.timeago");
答案 1 :(得分:1)
替换
lin = doc.getElementsByClass("span.timestamp--time timeago");
与
lin = doc.select("span.timestamp--time.timeago");
输出:
0 : Aug 14, 2016 04:29pm
1 : Aug 14, 2016 12:39pm
2 : Aug 14, 2016 01:34pm
3 : Aug 14, 2016 01:37pm
4 : Aug 14, 2016 04:19pm
5 : Aug 15, 2016 01:11am
6 : Aug 15, 2016 08:49am
7 : Aug 16, 2016 12:32pm
API getElementsByClass
中的措辞只接受一个类名。因此,在这种情况下lin = doc.getElementsByClass("timestamp--time");
提供相同的输出,但如果您想要选择多个类而不是select
,那么这是更好的选择。