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());
    }
}

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章