Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Java как вернуть строку с конкретного поля сайта в свою программу? Допустим

Хаку Ученик (32), на голосовании 1 год назад
Допустим я ввел в google переводчике Hello, он мне дал ответ - Привет, теперь мне нужно как то вернуть этот "Привет" в свою программу на Java и записать ее в какую-нибудь переменную
Как это сделать?
Используя эту ссылку https://translate.google.com/?sl=en&tl=ru&text=Hello&op=translate
Голосование за лучший ответ
Tral Kalalka Оракул (71506) 1 год назад
Через апи гугла если оно есть
ХакуУченик (32) 1 год назад
апи гугла и яндекса платные, да и вообще я не нашел абсолютно никакой нормальной инфы про то как эти апи использовать, вся инфа устаревшая
Хаку, не везёт тебе. Опять эти два идиота тебе ответили. Нормальные люди здесь есть, но они внимания на тебя не обращают.Всякая шваль с нейросетью прёт)))
Татьяна Просветленный (36374) 1 год назад
Для получения перевода с сайта Google Translate в свою программу на Java можно использовать библиотеку Jsoup. Сначала необходимо подключить эту библиотеку к проекту. Затем можно использовать следующий код для получения перевода:
 import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class Main {
public static void main(String[] args) throws Exception {
String url = "https://translate.google.com/?sl=en&tl=ru&text=Hello2&op=translate";
Document doc = Jsoup.connect(url).get();
Element result = doc.select("span#result_box").first();
String translation = result.text();
System.out.println(translation);
}
}
В этом коде мы используем метод Jsoup.connect(url).get() для получения HTML-кода страницы с переводом. Затем мы используем метод doc.select ("span#result_box").first() для выбора элемента на странице, содержащего перевод, и метод result.text() для получения текста этого элемента. Полученный перевод можно записать в переменную и использовать в своей программе.
ХакуУченик (32) 1 год назад
библиотеку подключил код вставил ошибка
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "org.jsoup.nodes.Element.text()" because "result" is null
at Translator.main(Translator.java:10)
Alt Pon Знаток (355) 1 год назад
Для того, чтобы вернуть строку с конкретного поля сайта в свою программу на Java, вам нужно использовать некоторый механизм для извлечения данных из HTML-страницы. Это называется парсингом HTML или веб-скрапингом. Существует много библиотек и фреймворков для этой цели, например, Jsoup, HtmlUnit, Selenium и другие. В зависимости от того, какая информация вам нужна и как она представлена на сайте, вы можете выбрать подходящий инструмент и способ парсинга.

В вашем случае, если вы хотите получить результат перевода с Google Translate, вы можете использовать Jsoup для загрузки и анализа HTML-страницы по заданному URL. Затем вы можете найти элемент, который содержит переведенный текст, и извлечь его значение. Например, следующий код демонстрирует, как это можно сделать:
 import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class WebScraper {

public static void main(String[] args) {
// URL для перевода слова Hello с английского на русский
String url = "https://translate.google.com/?sl=en&tl=ru&text=Hello&op=translate";
try {
// Загрузка и анализ HTML-страницы по URL
Document doc = Jsoup.connect(url).get();
// Поиск элемента с id=result_box, который содержит переведенный текст
Element resultBox = doc.getElementById("result_box");
// Извлечение значения элемента
String translatedText = resultBox.text();
// Вывод результата на консоль
System.out.println(translatedText);
} catch (Exception e) {
// Обработка исключений
e.printStackTrace();
}
}
}
Этот код выведет на консоль слово “Привет”. Вы можете сохранить это значение в переменную или использовать его для других целей в своей программе.
ХакуУченик (32) 1 год назад
библиотеку подключил код вставил ошибка java.lang.NullPointerException: Cannot invoke "org.jsoup.nodes.Element.text()" because "resultBox" is null
at Translator.main(Translator.java:16)
Похожие вопросы