jsoup从表中提取数据

时间:2012-12-12 23:56:40

标签: java jsoup

我有一个html文件,我需要使用jsoup从中提取部门名称。

Document doc = Jsoup.connect("http://directory.binghamton.edu/directory/directory.deptlist").get();
System.out.println(doc);
Elements departments = doc.select("deptlist");

for (Element department : departments) {
    System.out.println(department.text());
}

我做过类似的事情,但它不起作用。

视图-出处:http://directory.binghamton.edu/directory/directory.deptlist

谢谢。

1 个答案:

答案 0 :(得分:1)

我们走了!

Document doc = Jsoup.connect("http://directory.binghamton.edu/directory/directory.deptlist").get();

Elements departments = doc.select("table#deptlist a"); // Select all 'a' in a 'table'-tag with id 'deptlist'
String name;


for( Element element : departments ) // Iterate over all Elements available
{
    name = element.text(); // Save the plaintext (no html) of the element
    System.out.println(name); // Simple output (as an example)
}

在您的代码中,您选择的是“deptlist”标签,而不是表格 如果要选择id=deptlist的所有元素(在我的示例中,您只选择具有该ID的表),您可以使用此选择器:doc.select("#deptlist")

在这里查看一些更丰富的信息:JSoup selector API