这是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.
}
}
}
答案 0 :(得分: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
- 标记内,那么您只需解析
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