0

这是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。如何Instructor's name从给定的html页面中提取?

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

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.
        }
    }
}
4

1 回答 1

0

使用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-tag 内,那么您可以简单地解析

    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
于 2013-08-27T08:42:13.220 回答