Если сайт, из которого вам нужно извлечь данные, дает предсказуемый результат, когда вы делаете запрос к URL-адресу, тогда будет легко извлечь из него нужные вам данные, используя библиотеку, подобную Jsoup, о которой вы упомянули. Глядя на документы Jsoup, это будет что-то вроде:
Document doc = Jsoup.connect("https://en.wikipedia.org/").get();
log(doc.title());
Elements newsHeadlines = doc.select("#mp-itn b a");
for (Element headline : newsHeadlines) {
log("%s\n\t%s",
headline.attr("title"), headline.absUrl("href"));
}
Где doc.select
ссылается на идентификатор в данном div (или другом элементе), содержимое которого вы хотите извлечь.
Использует ли сайт нокаут или другую JS библиотеку, чтобы помочь ему визуализировать контент, не должно иметь никакого значения, так как все, что вы делаете, это анализирует строковое содержимое запроса - в основном то, что вы видите, когда просматриваете источник в своем браузере. , Knockout или любой другой скрипт уже запустится, выполняя свою работу при рендеринге финального HTML, который вы собираетесь анализировать с Jsoup.
Но выполнение всего этого довольно нерегулярно, как указывает @Gushan так как обычно, если вы не выполняете какой-то скучный тип деятельности, который был бы странным для приложения android, сайт, который хочет предоставить вам данные и от которого вы хотите получать данные, будет предоставлять API (обычно какой-то REST API), который упростит (документирует), как go получить эти данные. Но я думаю, что вещи не всегда такие. :)