У меня есть асинхронный метод заполнения полей класса pojo с проанализированными данными через jsoup.Я пытаюсь проанализировать URL-адреса mp3-файлов для отдельных глав книги с этой страницы через foreach, но все запросы, которые я пробовал, не сработали.
http://www.loyalbooks.com/book/adventures-of-huckleberry-finn-by-mark-twain
Один элемент выглядит следующим образом в коде страницы, и идентификатор меняется из главы в главу
<div class="jp-free-media" style="font-size:xx-small;">(<a id="jp_playlist_1_item_0_mp3" href="http://www.archive.org/download/huckleberry_mfs_librivox/huckleberry_finn_01_twain_64kb.mp3" tabindex="1">download</a>)</div>
Мой AsyncTask, поиск URL-адресов mp3для в mLines2:
public class FillBook extends AsyncTask<Void, Void, SingleBook> {
private String link;
private String imgLink;
private String title;
ArrayList<String> tmpChapters = new ArrayList<>();
private SingleBook book;
public FillBook(String link, String imgLink, String title) {
this.link = link;
this.imgLink = imgLink;
this.title = title;
}
@Override
protected SingleBook doInBackground(Void... params) {
Document doc = null;
book = new SingleBook(imgLink, title, false, false, null, new ArrayList<String>());
Elements mLines;
Elements mLines2;
try {
doc = Jsoup.connect(link).get();
} catch (IOException | RuntimeException e) {
e.printStackTrace();
}
if (doc != null) {
mLines = doc.getElementsByClass("book-description");
for (Element mLine : mLines) {
String description= mLine.text();
book.setDescription(description);
}
mLines2 = doc.select(".jp-free-media");
for (Element mLine2 : mLines2) {
tmpChapters.add(mLine2.attr("href"));
}
}else
System.out.println("ERROR");
book.setChapters(tmpChapters);
return book;
}
protected void onPostExecute(SingleBook book) {
super.onPostExecute(book);
Toast.makeText(BookActivity.this, book.getChapters().get(0), Toast.LENGTH_LONG).show();
Picasso.get().load(book.getImgUrl()).into(bookCover);
nameAndAuthor.setText(book.getTitleAndAuthor());
bookDescription.setText(book.getDescription());
И я получаю пустой ArrayList.Как получить http://www.archive.org/download/huckleberry_mfs_librivox/huckleberry_finn_01_twain_64kb.mp3 String, учитывая, что следующая глава будет id = "jp_playlist_1_item_1_mp3"?