Как получить ссылки из HTML, исправить использование `doc.select` - PullRequest
0 голосов
/ 11 декабря 2018

Я хотел бы получить ссылки из кода HTML.Код с этой страницы: https://www.valorebooks.com/books/fiction/fantasy

 <div class="sub_bar sub_bar_no_pointer"> 
         <span class="showing">Showing 1 - 50 of 28705 - Browse More Fantasy Books for Sale</span> 
         <div class="paginator" id="pg"> 
          <a href="/books/fiction/fantasy" class="active">1</a> 
          <a href="/books/fiction/fantasy?page=2">2</a> 
          <a href="/books/fiction/fantasy?page=3">3</a> 
          <a href="/books/fiction/fantasy?page=4">4</a> 
          <a href="/books/fiction/fantasy?page=5">5</a> 
          <span class="paginatorText">...</span> 
          <a href="/books/fiction/fantasy?page=575">575</a> 
          <span class="paginatorText">|</span> 
          <a href="/books/fiction/fantasy?page=2" class="spriteButton arrow     next icon-right-open"></a>
         </div> 
        </div> 

Я нашел пример, как получить ссылки, но я не уверен, что мне писать в doc.select("div.paginator");.Это правильно или нет, может быть, я должен написать это по-другому.

    Elements myLink = doc.select("div.paginator");      

    int number = 0;
    for (Element links : myLink) {
        Elements a = myLink.select("a[href]");                      // get links
        number = Integer.parseInt(a.get(a.size() - 2).text());
    }
    for (int i = 0; i < 20; i++) {
        getData(url + i);
    }
}

1 Ответ

0 голосов
/ 11 декабря 2018

Непонятно, чего вы пытаетесь достичь.

Чтобы напечатать строку всех ссылок, вы можете сделать это:

System.out.println(doc.select("div.paginator").select("a[href]").toString());

Для массива элементов Ссылки:

Elements theLinks = doc.select("div.paginator").select("a[href]");
...