【发布时间】:2012-09-03 22:10:25
【问题描述】:
我正在尝试解析以下 URL 的 html:
http://ocw.mit.edu/courses/aeronautics-and-astronautics/16-050-thermal-energy-fall-2002/
获取包含教师姓名的“
”标签的文本。所需信息位于“”标签内,但我无法使用 JSoup 检索标签。我不知道我做错了什么,因为当我将标签保存在 Element 对象中时,我们称它为 'b' 而我调用 b.getAllElements() 它不显示
作为元素之一。 Jsoup 的 getAllElements() 方法不就是这样做的吗?如果不能,请向我解释我显然缺少的层次结构,因为解析器无法找到
标签包含我需要的文本,在本例中是“Prof. Zoltan Spakovszky”。
任何帮助将不胜感激。
public void getHomePageLinks()
{
String html = "http://ocw.mit.edu/courses/aeronautics-and-astronautics/16-050-thermal-energy-fall-2002/";
org.jsoup.nodes.Document doc = Jsoup.parse(html);
Elements bodies = doc.select("body");
for(Element body : bodies )
{
System.out.println(body.getAllElements());
}
}
输出是:
http://ocw.mit.edu/courses/aeronautics-and-astronautics/16-050-thermal-energy-fall-2002/
不是要把文档中body标签内的所有元素都打印出来吗?
【问题讨论】:
-
一个代码 sn-p 可能会有所帮助。
-
您的代码会打印正文及其所有内容。但是,如果您只想打印正文标签(及其所有子标签),您可以使用它:
System.out.println(doc.body());(请参阅下面关于获取doc的答案)
标签: java html html-parsing jsoup