JSoup не будет получать все предметы?
Итак, я пытаюсь разобрать простой список с помощью 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;
}
Так почему же в Список не входят все записи? Есть ли ошибка на веб-странице? Или, возможно, парсер? Могу ли я использовать обходной путь, чтобы обойти эту проблему? И что вызывает проблему в первую очередь?
1 ответ
Хорошо, выпущенный был вызван изменением в версии 1.72 JSoup и выше. Вам просто нужно изменить настройки по умолчанию следующим образом:
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, чтобы он допускал файлы неограниченного размера. Более подробную информацию можно найти в документации. Это позволит вам иметь неограниченный размер тела и загружать все необходимые данные.