jsoup是一款Java的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常好用省事的API,可通过DOM,CSS以及类似于JQuery的操作方法来取出和操作数据。
第一步:工欲善其事必先利其器---使用jsoup需要的四个Jar包:
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.8.3</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.9</version>
</dependency>
第二步:
1.入门程序:打开idea,创建maven工程,创建一个jsoupFirstTest类:
package Jsoup;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.junit.Test;
import java.net.URL;
public class JsoupFirstTest {
@Test
public void testUrl() throws Exception{
// 解析url地址,第一个参数是访问的URL、第二个参数是访问时候的超时时间
Document doc = Jsoup.parse(new URL("http://www.baidu.cn"), 1000);
// 使用标签选择器,获取title标签中的内容
String title = doc.getElementsByTag("title").first().text();
System.out.println(title);
}
}
这个时候,你会看到,控制台结果为:
2.JSoup的几大功能:
package Jsoup;
import org.apache.commons.io.FileUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.junit.Test;
import java.io.File;
import java.net.URL;
public class JsoupFirstTest {
@Test
public void testUrl() throws Exception{
// 解析url地址,第一个参数是访问的URL、第二个参数是访问时候的超时时间
Document doc = Jsoup.parse(new URL("http://www.baidu.com"), 1000);
// 使用标签选择器,获取title标签中的内容
String title = doc.getElementsByTag("title").first().text();
System.out.println(title);
}
@Test
public void testString() throws Exception{
// 使用工具类读取文件,获取字符串
String content = FileUtils.readFileToString(new File("请输入文件路径"), "utf8");
// 解析字符串
Document doc = Jsoup.parse(content);
String title = doc.getElementsByTag("title").first().text();
System.out.println(title);
}
@Test
public void testFile() throws Exception{
// 解析文件
Document doc = Jsoup.parse(new File("请输入文件路径"), "UTF8");
doc.getElementsByTag("title").first().text();
}
@Test
public void testDOM() throws Exception{
// 解析文件,获取Document对象
Document doc = Jsoup.parse(new File("请输入文件路径"), "utf8");
// 1.根据id查询元素getElementById
Element element = doc.getElementById("city");
// 2.根据标签获取元素getElementByTag
// 3,根据class获取元素getElementByClass
// 4.根据属性元素getElementByAttibute
// 打印元素内容
System.out.println(element.text());
}
}