#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()
.