使用Jsoup提取HTML节点



这是html代码:

<!DOCTYPE html>
<html>
<title>Instructor's Page</title>
<body>
<h1>Instructor's Page</h1>

<div class="check1">    <div id="check2">
<span id="check3" class="check4"> <strong class="check5"><link href="http://schema.org/t"/>Instructor-1 name</strong>
</span>
</div>
<div class="check1">    <div id="check2">
<span id="check3" class="check4"> <strong class="check6">Instructor-2 name</strong>
</span>
</body>
</html>

我是Jsoup的新手。如何从给定的html页面中提取Instructor's name

目前,我只知道打印标题。

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.File;
import java.io.IOException;

public class crawl {
    public static void main(String[] args) {
        Document doc1;
        try {

            File input = new File("t.html");
            doc1 = Jsoup.parse(input, "UTF-8");
        // get page title
            String title1 = doc1.title();
            System.out.println("title : " + title1);

        } catch (IOException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }
    }
}

使用select-方法在HTML页面中选择所需的元素。它将模式作为要选择的对象的参数,例如具有特定id或类的特定标记。

//Creates a collection of Element objects for all span tags
Elements names = doc.select("span");
//Returns a collection of the first cells of each row
Elements names = doc.select("td:eq(0)");

使用此选项可以选择您要查找的内容。在web浏览器中使用一个工具来帮助您识别HTML源中的标记可能会很有帮助。

关于您最初关于如何选择讲师姓名的问题,请参阅下文。


如果HTML的结构总是相同的,并且您确信讲师的名字将在span标签中,那么您可以简单地解析中的文本

    Elements names = doc.select("span");
    for (Element e : names) {
        System.out.println("Name is: " + e.text());
    }

将打印出

Name is: Instructor-1 name
Name is: Instructor-2 name

相关内容

  • 没有找到相关文章

最新更新