Парсинг ссылок с помощью jsoup

Рейтинг: 0Ответов: 1Опубликовано: 23.01.2015

Коллеги, привет! Я джуниор, изучаю jsoup и парсинг. Помогите, пожалуйста,понять, как со страницы отобрать ссылки, содержащие в названии "afisha". Тренируюсь на Yandex. Благодарю за помощь! Вот код:

public class Main {
    public static void main(String[] args) {
        Document doc;
        try {
            //восстановление страницы html google
            doc = Jsoup.connect("http://www.yandex.ru/").get();
            String name = doc.title(); //извлекаем title страницы
            System.out.println("Name of page html: "+name);

            Elements urls = doc.select("a"); //парсим маяк "а"
            for(Element url : urls){ //перебираем все ссылки
                //... и вытаскиваем их название...
                System.out.println("\nhref Mayak <a> "+url.attr("href"));
//              System.out.println("\ntext Mayak <a> "+url.text());

            }
        } catch (IOException e) {           
          }
    }
}

Ответы

▲ 5

Во-первых, никогда не пользуйтесь регулярными выражениями для парсинга!

Во-вторых, работа с сетью производится не в главном потоке!

В-третьих, исправленный код:

try {
    Document doc = Jsoup.connect("http://www.yandex.ru/").get();
    Element mBody = doc.body();
    String name = doc.title();
    System.out.println("Name of page html: " + name);

    Elements urls = body.getElementsByTagName("a");
    for(Element url : urls)
    {
            //... и вытаскиваем их название...
            System.out.println("\nhref Mayak <a> "+url.attr("href"));

    }
} catch (IOException e) {}
}