Как мне получить все элементы с определенным идентификатором раздела? (JSoup)

#java #web-crawler #jsoup

#java #веб-сканер #jsoup

Вопрос:

Я пытаюсь получить все элементы с классом «frame-title», которые находятся под идентификатором раздела «избранное». Очень, очень новичок в веб-обходах, поэтому я уверен, что это просто.

HTML:

 <section id="favourites" class="section">
 <h2 class="section-heading">Favorite films</h2>
    <div>
     <a href="/film/wings-of-desire/" class="frame has-menu" data-original-title="Wings of Desire (1987)"><span class="frame-title">Wings of Desire (1987)</span>
  

Я хочу получить часть «frame-title». Итак, название фильма.

Это то, что я пробовал:

 for (int x = 0; x<users.size();x  )
        {
           String url2 = "https://letterboxd.com"   users.get(x);
           Document doc = Jsoup.connect(url2).get();
           Elements films = doc.select("a:has(frame-title)");;
           
              for (Element film:films){
           String temp = films.attr("href").toString();
           films1.add(temp);
           System.out.println(temp);    
         }

        } 
  

Ответ №1:

Попробуйте это.

 String url = "https://letterboxd.com/saka1029/";
Document doc = Jsoup.connect(url).get();
Elements films = doc.select("section#favourites span.frame-title");
for (Element film : films) {
    System.out.println(film);
}
  

вывод:

 <span class="frame-title">Ghost in the Shell</span>
  

Это мое любимое. 🙂

Комментарии:

1. О, это работает! Спасибо! Только одно, как я мог бы выделить только заголовок? Без какого-либо HTML-кода вокруг него. Я хочу добавить название каждого фильма в arraylist.

2. Вы можете получить заголовок с помощью film.text() .