Я пытаюсь изучить Jsoup с примером, я пытаюсь загрузить URL-адрес веб-сайта в Async Task. Но это загрузка только частичной, а не полной HTML-страницы. Я хочу удалить часть компонента, например, заголовок, нижний колонтитул и т. Д., И позволить ему отображать в WebView. Не уверен, что может отсутствовать:Jsoup не загружает полную HTML-страницу, она загружается только частично
Я попытался с несколькими вариантами:
Опции 1:
doc = Jsoup.connect("https://jsoup.org/discussion")
.header("Accept-Encoding", "gzip, deflate")
.userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0")
.maxBodySize(0)
.get();
Варианты 2:
doc = Jsoup.connect("https://jsoup.org/discussion").maxBodySize(0).timeout(50000).get();
class PageLoader extends AsyncTask<String, Void, Boolean> {
@Override
protected Boolean doInBackground(String... params) {
Document doc = null;
try {
doc = Jsoup.connect("https://jsoup.org/discussion").maxBodySize(0).timeout(50000).get();
Logging.InfoLog(doc.toString());
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected void onPostExecute(Boolean aBoolean) {
super.onPostExecute(aBoolean);
}
}
Спасибо @Andrei Volgin за ваш быстрый ответ. Я также проверю с помощью инструмента HtmlUnit. Я пытаюсь получить часть из динамической статической веб-страницы. Иногда мне хочется удалить верхний колонтитул, нижний колонтитул и т. Д. Я хочу показать страницу в Android WebView только с определенной частью (т. Е. Не полностью, как есть). Надеюсь, я смогу сделать это с помощью HtmlUnit. Любой другой хороший инструмент или предложение будут действительно полезными. Спасибо –
@Abhrajyoti Kirtania Загрузите веб-представление в фоновом режиме, запустите javascript после завершения загрузки сайта (включая содержимое javascript), чтобы удалить/изменить содержимое, а затем отобразить веб-просмотр. По моему опыту HtmlUnit медленный и часто все еще не способен обрабатывать скрипты. В зависимости от контента иногда вы также можете использовать комбинацию jsoup и rhino, чтобы получить то, что вы хотите. –
@ F.Klein, мне интересно, как загрузить полный HTML, я пытался с JSoup, но он не загружает полную HTML-страницу, которая является основной проблемой. Не могли бы вы предложить, какой будет лучший способ загрузить HTML-страницу. Я надеюсь, что когда загрузка будет успешной, JSoup можно использовать для анализа страницы, чтобы иметь полный контроль над страницей для любых модификаций и настроек. Вы предлагаете загружать необработанные html-данные через WebView, а затем конвертировать их в Document через JSoup? Или любая другая мысль, пожалуйста? –