Вы можете легко сделать это, слом веб-сайт. Вот простой рабочий пример, чтобы сделать то, что вы ищете, используя JSOUP :
public class Main {
public static void main(String[] args) {
try {
String query = "oneplus";
String url = "https://www.google.com/search?q=" + query + "%20price&client=firefox-b&source=lnms&tbm=shop&sa=X";
int pricesToRetrieve = 3;
ArrayList<String> prices = new ArrayList<String>();
Document document = Jsoup.connect(url).userAgent("Mozilla/5.0").get();
Elements elements = document.select("div.pslires");
for (Element element : elements) {
String price = element.select("div > div > b").text();
String[] finalPrice = price.split(" ");
prices.add(finalPrice[0] + finalPrice[1]);
pricesToRetrieve -= 1;
if (pricesToRetrieve == 0) {
break;
}
}
System.out.println(prices);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Этот фрагмент кода выведет:
[347,10 €, 529,90 €, 449,99 €]
А если вы хотите получить дополнительную информацию, просто подключите JSOUP к URL-адресу Google Shop , добавив нужный запрос и сдав его на хранение с помощью JSOUP. В этом случае я удалил Google Shop для OnePlus, чтобы проверить его цены, но вы также можете получить URL-адрес, чтобы купить его, полное название продукта и т. Д. В этом фрагменте кода я хочу получить первые 3 цены, проиндексированные в Google Shop, и добавьте их в ArrayList of String. Затем, прежде чем добавить его в ArrayList, я разделил полученный текст на «пробел», чтобы я просто получил нужную информацию, цену.
Это простой пример, если вам нужно что-то еще, не стесняйтесь спрашивать! И если вы хотите узнать больше об утилизации с использованием JSOUP , проверьте эту ссылку .
Надеюсь, это вам помогло!