Я пытаюсь извлечь информацию о дате создания проблем с сайта проблемы HADOOP Jira (https://issues.apache.org/jira/projects/HADOOP/issues/HADOOP-16381?filter=allopenissues)
. Как вы видите на этом Снимок экрана , дата создания - это текст междуметка времени, класс которой является живой отметкой (например, <time class=livestamp ...> 'this text' </time>
)
Итак, я попытался разобрать его с кодом, как показано ниже.
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class CreatedDateExtractor {
public static void main(String[] args) {
String url = "https://issues.apache.org/jira/projects/HADOOP/issues/HADOOP-16381?filter=allopenissues";
Document doc = null;
try {
doc = Jsoup.connect(url).get();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Elements elements = doc.select("time.livestamp"); //This line finds elements that matches time tags with livestamp class
System.out.println("# of elements : "+ elements.size());
for(Element e: elements) {
System.out.println(e.text());
}
}
}
Я ожидаю, что созданная дата будет извлечена, нофактический результат равен # элементов: 0 .
Я обнаружил, что это что-то не так, поэтому я попытался проанализировать весь HTML-код с той стороны с приведенным ниже кодом.
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class CreatedDateExtractor {
public static void main(String[] args) {
String url = "https://issues.apache.org/jira/projects/HADOOP/issues/HADOOP-16381?filter=allopenissues";
Document doc = null;
try {
doc = Jsoup.connect(url).get();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Elements elements = doc.select("*"); //This line finds whole elements in html document.
System.out.println("# of elements : "+ elements.size());
for(Element e: elements) {
System.out.println(e);
}
}
}
Я сравнил html-код в chrome devtools и html-код, который я анализировал один за другим. Затем я обнаружил, что они разные.
Можете ли вы объяснить, почему это происходит, и датьмне несколько советов, как извлечь дату создания?