gpt4 book ai didi

java - JSoup 不会获取所有项目?

转载 作者:太空狗 更新时间:2023-10-29 13:57:23 24 4
gpt4 key购买 nike

所以,我正在尝试使用 JSoup 解析一个简单的列表。不幸的是,程序只返回列表中以 N 开头的条目。我不知道为什么会这样。这是我的代码:

    public ArrayList<String> initializeMangaNameList(){
Document doc;
try {
doc = Jsoup.connect("http://www.mangahere.com/mangalist/").get();
Elements items = doc.getElementsByClass("manga_info");
ArrayList<String> names = new ArrayList<String>();
for(Element item: items){
names.add(item.text());
}
return names;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}

那么为什么列表不包含所有条目呢?网页有错误吗?或者可能是解析器?我可以使用解决方法来绕过此问题吗?问题的根源是什么?

最佳答案

好的,问题是由 JSoup 1.72 及更高版本中的更改引起的。您只需像这样更改默认设置:

public ArrayList<String> initializeMangaNameList(){
Document doc;
try {
doc = Jsoup.connect("http://www.mangahere.com/mangalist/").maxBodySize(0).get();
Elements items = doc.getElementsByClass("manga_info");
ArrayList<String> names = new ArrayList<String>();
for(Element item: items){
names.add(item.text());
}
return names;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;

重要的区别是将 maxBodySize 设置为 0,这样它就允许无限大小的文件。更多信息可以在 documentation 中找到.这将使您拥有无限的车身尺寸并加载您需要的所有数据。

关于java - JSoup 不会获取所有项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20106284/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com