Для парсинга сайта использую jsoup и HtmlUntil для нажатия кнопки на странице. Все нажимается и парсится, проблема в том, что выводятся "крякозябры", можно ли как-то установить кодировку UTF-8
для адекватного вывода текста?
package com.company;
import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.html.HtmlSpan;
import org.apache.commons.logging.LogFactory;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
import java.util.logging.Level;
public class Parsing {
public void connectFileTxt() throws Exception {
String text = "";
Document document;
LogFactory.getFactory().setAttribute("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.NoOpLog");
java.util.logging.Logger.getLogger("com.gargoylesoftware").setLevel(Level.OFF);
java.util.logging.Logger.getLogger("org.apache.commons.httpclient").setLevel(Level.OFF);
WebClient client = new WebClient(BrowserVersion.CHROME);
client.getOptions().setJavaScriptEnabled(true);
client.getOptions().setThrowExceptionOnScriptError(false);
client.getOptions().setThrowExceptionOnFailingStatusCode(false);
String url = "https://auto.ru/cars/new/group/mercedes/e_klasse/20743577/20886691/?grouping_id=tech_param_id%3D20743577%2Ccomplectation_id%3D21225392&sort=fresh_relevance_1-desc&geo_radius=200\n"; //ссылка на сайт
final HtmlPage page = client.getPage(url);
HtmlSpan clickContact = page.getFirstByXPath("//span[@class='Button__content']");
clickContact.click();
document = Jsoup.parse(page.asXml());
// .userAgent("Chrome/4.0.249.0 Safari/532.5")
// .referrer("http://www.google.com")
// .get();
if (document.title().equals("Ой!")) {
System.out.println("Ой, снова вылезла капча");
} else {
Elements elements = document.getElementsByClass("CardGroupHeader-module__horisontalList");
System.out.println(document.text());
System.out.println();
System.out.println(document.title());
text = elements.text();
System.out.println(text);
System.out.println("Ready!");
}
}
}
Читайте джавадоки! С помощью jsoup
это можно сделать значительно проще:
String url = "https://auto.ru/cars/new/group/mercedes/e_klasse/20743577/20886691/?grouping_id=tech_param_id%3D20743577%2Ccomplectation_id%3D21225392&sort=fresh_relevance_1-desc&geo_radius=200";
Document document = Jsoup.connect(url).get();
System.out.println(document.toString());
Виртуальный выделенный сервер (VDS) становится отличным выбором
Столкнулась с такой проблемойСкопирую ниже задание для какого-то понимания кода (лаба в шараге)
У меня установлена аннотация над объектами типа dto, такая же как и над объектами типа EntityНад сущностями аннотация срабатывает, а над объектами...