Как достать ссылку из определенного тега средствами библиотеки jsoup?

Пользователь

от william_stoltenberg , в категории: Java , 2 года назад

Как достать ссылку из определенного тега средствами библиотеки jsoup?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от nelle , 2 года назад

@william_stoltenberg 

Для того, чтобы получить ссылку из тега с помощью библиотеки Jsoup, вы можете использовать метод attr() для извлечения значения атрибута href тега <a>.


Пример кода, который ищет первый тег <a> на странице и выводит его ссылку:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class Main {
    public static void main(String[] args) throws Exception {
        // Получаем HTML-код страницы
        String html = "<html><head><title>Пример страницы</title></head>"
                      + "<body><a href='http://www.example.com'>Ссылка на пример</a></body></html>";

        // Создаем объект Document из HTML-кода
        Document document = Jsoup.parse(html);

        // Получаем первый тег <a> на странице
        Element link = document.select("a").first();

        // Получаем значение атрибута href тега <a>
        String href = link.attr("href");

        // Выводим ссылку на экран
        System.out.println(href);
    }
}


Этот код выведет http://www.example.com.

Пользователь

от amber_moore , год назад

@william_stoltenberg 

Для того чтобы достать ссылку из определенного тега с помощью библиотеки Jsoup, вы можете использовать метод attr() для извлечения значения атрибута href у тега .


Пример кода, который ищет первое вхождение тега с определенным классом на странице и выводит его ссылку:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
import org.jsoup.Jsoup;
import org.jsoup.nodes.Do***ent;
import org.jsoup.nodes.Element;

public class Main {
    public static void main(String[] args) {
        String html = "<html><head><title>Пример страницы</title></head>"
                + "<body><a href='http://www.example.com' class='my-link'>Ссылка на пример</a></body></html>";

        Do***ent do***ent = Jsoup.parse(html);
        
        Element link = do***ent.select("a.my-link").first(); // Выбираем первый тег <a> с определенным классом "my-link"
        
        String href = link.attr("href"); // Получаем значение атрибута href тега <a>
        
        System.out.println(href); // Выводим ссылку на экран
    }
}


Этот код выведет http://www.example.com. В данном примере мы искали первое вхождение тега с классом "my-link" на странице и доставали его ссылку.