<ul> <li class="index_article__15dX1"> <div class="index_title__6wUnB"> 公告 </div> <div class="index_date__7jmiW" style="visibility:hidden"> 2023-07-06T10:00+08:00 </div></a></li> <li class="index_article__15dX1"> <div class="index_title__6wUnB"> 公告 </div> <div class="index_date__7jmiW" style="visibility:hidden"> 2023-07-05T06:00+08:00 </div></a></li> </ul> 获取<ul>中<lil>中内容,以 class="index_title__6wUnB">和 ,class="index_date__7jmiW"位对象数组怎么编写代码
时间: 2023-08-14 13:07:01 浏览: 101
要获取 `<ul>` 中 `<li>` 的内容,并以 `class="index_title__6wUnB"` 和 `class="index_date__7jmiW"` 作为对象数组的属性,你可以使用自定义的类来表示每个 `<li>` 元素的内容,并将每个对象存储在一个数组或集合中。下面是修改后的示例代码:
```java
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class SpiderExample {
public static void main(String[] args) {
try {
// 发起 HTTP 请求获取页面内容
Document doc = Jsoup.connect("http://example.com").get();
// 选择 <ul> 元素
Element ulElement = doc.selectFirst("ul");
// 创建一个 List 来存储结果
List<Article> articles = new ArrayList<>();
// 选择所有的 <li> 元素
Elements liElements = ulElement.select("li");
// 遍历每个 <li> 元素
for (Element liElement : liElements) {
// 获取标题和日期的元素
Element titleElement = liElement.selectFirst("div.index_title__6wUnB");
Element dateElement = liElement.selectFirst("div.index_date__7jmiW");
// 获取标题和日期的文本内容
String title = titleElement.text();
String date = dateElement.text();
// 创建 Article 对象并添加到结果列表
Article article = new Article(title, date);
articles.add(article);
}
// 打印结果列表
for (Article article : articles) {
System.out.println("Title: " + article.getTitle());
System.out.println("Date: " + article.getDate());
System.out.println();
}
} catch (IOException e) {
e.printStackTrace();
}
}
static class Article {
private String title;
private String date;
public Article(String title, String date) {
this.title = title;
this.date = date;
}
public String getTitle() {
return title;
}
public String getDate() {
return date;
}
}
}
```
在上述代码中,我们创建了一个自定义的 `Article` 类来表示每个 `<li>` 元素的内容。该类包含 `title` 和 `date` 两个属性,分别对应 `<div class="index_title__6wUnB">` 和 `<div class="index_date__7jmiW">` 的文本内容。我们遍历每个 `<li>` 元素,通过选择器获取标题和日期的元素,然后获取其文本内容,并创建相应的 `Article` 对象,将其添加到结果列表中。最后,我们打印结果列表以验证结果。你可以根据需要修改代码以适应你的数据结构和输出需求。
阅读全文