Я написал программу, которая запрашивает Google и использует информацию, возвращенную для моей логики c приложения.
При попытке получить изображения (изображения большого пальца, которые мы можем найти во всех поисках), с которыми я столкнулся много проблем.
после очень продолжительного сеанса отладки. Я думаю, что проблема в том, что изображения загружаются через JS как контент с отложенной загрузкой. для которого мне нужно будет полностью загрузить страницу (как это делает веб-браузер) и использовать окончательный полностью загруженный HTML исходный код.
Я ищу везде, как мне это сделать в java, но не удалось найти какой-либо выполнимый способ.
Между тем, я застрял в том факте, что все теги g-img содержат точно такую же информацию, что, как мне кажется, содержат некоторые данные аутентификации пользователя, которые бесполезны в любом случае.
При просмотре sr c в браузере я вижу, что ссылка имеет длину более 8000 символов (кодированное изображение), тогда как в моей программе это всего 164 символа.
Мой вопрос это как я могу получить изображения SR c?
Вот как я получаю HTML файл:
String google = "https://www.google.com/search?q=";
try{
Connection.Response response = Jsoup.connect(google+userInput+getNumofResults(99))
.ignoreContentType(true)
.userAgent("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36")
.referrer("http://www.google.com")
.timeout(16000)
.followRedirects(true)
.execute();
doc = response.parse();
} catch (IOException e) {
e.printStackTrace();
System.out.println("Error in HTTP request");
}
и вот как я пытаюсь получить изображение из элементов (используя Jsoup):
Element gImg = div.select("g-img").first();
String img = null;
if (gImg!=null)
img=gImg.select("img[id^=leftthumb]").first().attr("src");