Итак, у вас есть InputStream
, а не URL?Затем вы должны использовать метод Jsoup#parse()
, который принимает InputStream
:
Document document = Jsoup.parse(inputStream, charsetName, baseUri);
// ...
charsetName
должен быть кодировкой, в которой изначально закодирован документ. Вы можете оставить егоnull
, чтобы позволить Jsoup принять решение или вернуться к UTF-8.baseUri
должен быть URL-адрес, с которого изначально был предоставлен HTML.Вы можете оставить его null
, вы не сможете разрешить относительные ссылки.
Но если у вас действительно есть исходный URL, то вы также можете просто использовать Jsoup#connect()
:
Document document = Jsoup.connect(url).get();
// ...
Независимо от того, как вы получили Document
, вы можете использовать CSS-селекторы для выбора элементов, представляющих интерес в документе.См. Также Поваренная книга Jsoup на эту тему .Вот пример, который извлекает все данные из 2-го столбца <table>
с именем класса personaltable
:
Elements tdsFromSecondColumn = document.select("table.personaltable td:eq(1)");
for (Element tdFromSecondColumn : tdsFromSecondColumn) {
System.out.println(tdFromSecondColumn.text());
}
, что приводит к:
€ 1,00
€ 2,00
€ 10,00
€ 0,33
€ 12,00
€ 0,00
€ 0,00