Jsoup в Java всегда возвращает одну и ту же страницу с другим веб-сайтом для очистки URL

#java #url #caching #jsoup

#java #url #кэширование #jsoup

Вопрос:

 public void conectUrl() throws IOException, InterruptedException {
        product= new ArrayList<>();

        String url = "https://www.continente.pt/stores/continente/pt-pt/public/pages/category.aspx?cat=campanhas#/?page=1amp;sf=Revelance";

         page = Jsoup.connect(url).userAgent("JSoup scraper").get();
        

        //get actual page

        Elements paginaAtu=page.getElementsByClass("_actualPage");
        paginaAtual=Integer.parseInt(paginaAtu.attr("value"));

        
        
        //get Total Pages
        Elements nextPage=page.getElementsByClass("_actualTotalPages");
        numPaginas =Integer.parseInt(nextPage.attr("value"));
        
        
        for(paginaAtual=1;paginaAtual<numPaginas;paginaAtual  ) {
            getProductInfo("https://www.continente.pt/stores/continente/pt-pt/public/pages/category.aspx?cat=campanhas#/?page=" paginaAtual "amp;sf=Revelance");
            
        }
    }
  

Всегда возвращает один и тот же результат с другим URL. Я уже искал информацию о кэше jsoup, я не первый, кто задает этот вопрос, однако никто не говорит, как разрешить ситуацию. Теоретически, JSoup не кэширует URL-страницы…

Я уже выполнял код «sleep» в течение 30 секунд, чтобы загрузить новый URL, однако все еще не работает, возвращает всегда один и тот же результат.

Кто-нибудь может мне помочь? Заранее благодарю вас.

Комментарии:

1. Почему вы используете ‘Jsoup scraper’ в качестве своего пользовательского агента? Почему вы не используете пользовательский агент своего браузера?

2. Это решено, я не могу использовать Jsoup для навигации по веб-странице, jsoup предназначен только для проверки текущего URL, поэтому для решения этой проблемы я должен использовать библиотеку, подобную Selenium, которая отлично работает с моим браузером для взаимодействия со страницей и предоставления результата в качестве аргумента JSOUP. Спасибо вам, ребята!

3. Не совсем верно @MdaCosta. Ваш браузер выдает / обрабатывает HTTP-запросы. JSoup ведет себя аналогично браузеру, но гораздо более прост. Если вы знаете, что искать, вы обычно можете использовать JSoup / HtmlUnit некоторые ноу-хау для создания скребка, который будет работать. Говоря это, трудно ответить на ваш вопрос, не зная, что getProductInfo делает