JAVA爬虫HTML解析工具——jsoup的使用

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());
    }
}
 
发布了22 篇原创文章 · 获赞 21 · 访问量 2088

猜你喜欢

转载自blog.csdn.net/weixin_41532316/article/details/100043690