java - 如何使用jsoup从HTML解析两个表?

标签 java jsoup

我需要使用站点 http://www.informatik.uni-trier.de/~ley/pers/hd/k/Kumar:G=_Praveen.html 中的 jsoup 库解析 HTML 中的两个表。 .. 由于页面上有两个表,我不知道如何准确地解析表内容。我需要提取第一个表的内容,即只有作者姓名及其出版物,以及最后名为的第二个表合著者… 我尝试编码(下面给出的代码),但它给出了错误......

public class Main {
    public static void main(String[] args) {
        try {
            Document doc =Jsoup.connect(“http://www.informatik.unitrier.de/~ley/pers/hd/k/Kumar:G=_Praveen.html“).get();
            Elements trs = doc.select(“table tr”);
            Element table = doc.select(“table[class=coauthor]“).first();
            Iterator ite = table.select(“td”).iterator();
            ite.next();
            System.out.println(“Value 1: ” + ite.next().text());
            System.out.println(“Value 2: ” + ite.next().text());
            System.out.println(“Value 3: ” + ite.next().text());
            System.out.println(“Value 4: ” + ite.next().text());
            trs.remove(0);
            for (Element tr : trs) {
                Elements tds = tr.getElementsByTag(“td”);
                Element td = tds.first();
                System.out.println(“Blog: ” + td.text());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

请建议我在上面的代码中到底需要做什么更改,以便我从表格中获得我需要的确切信息..任何帮助将不胜感激..提前感谢..

最佳答案

作者和出版物:

final String url = "http://www.informatik.uni-trier.de/~ley/pers/hd/k/Kumar:G=_Praveen.html";
Document doc = Jsoup.connect(url).get();


for( Element element : doc.select("table div.data") )
{
    // System.out.println(element); // Use this line if you need the HTML Element instead of the text
    System.out.println(element.text());
}

输出:

G. Praveen Kumar, Anirban Sarkar: Weighted Association Rule Mining and Clustering in Non-binary Search Space. ITNG 2010: 238-243
G. Praveen Kumar, Arjun Kumar Murmu, Biswas Parajuli, Prasenjit Choudhury: MULET: A Multilanguage Encryption Technique. ITNG 2010: 779-782
G. Praveen Kumar, Anirban Sarkar, Narayan C. Debnath: A New Algorithm for Frequent Itemset Generation in Non-Binary Search Space. ITNG 2009: 149-153

共同作者:

for( Element element : doc.select("table td.coauthor") )
{
    System.out.println(element.text());
}

输出:

Prasenjit Choudhury
Narayan C. Debnath
Arjun Kumar Murmu
Biswas Parajuli
Anirban Sarkar

关于java - 如何使用jsoup从HTML解析两个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14161263/

相关文章:

java - 将 PdfFormField 添加到大 PDF 时出现异常

java - 将字符串拆分为多行

java - curl 相当于 -u

java - 从使用无限滚动的网页中解析 html

java - 在android中重置递减计数器

java - 如何在使用 CSVFormat 时将制表符配置为分隔?

java - 如何更改 Hadoop 2 中用户日志的日志级别?

java - Hibernate 升级到 5.2.3 及更高版本的未知实体

java - 如何使用 Jsoup 库获取对象的所有详细信息并将其保存到 bean 中?

java - 如何使用 JSOUP java 获取谷歌搜索的第一个标题和网址?