1
// У меня это AsynchTask получает тело блога веб-сайта. Однако при запуске метода ничего не отображается.Отображение элементов Jsoup
protected Void doInBackground(Void... params) {
try {
Document document = Jsoup.connect(url).get();
Elements elements = document.select("div.pst-content safety clearfix entry-content p");
for(Element elements123 : elements){
title+=elements123.text();
System.out.println(elements123.text());
}
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
// Set title into TextView
TextView txttitle = (TextView) findViewById(R.id.titletxt);
txttitle.setText(title);
// System.out.println(title);
mProgressDialog.dismiss();
}
Не то, чтобы он решает что угодно, но вы не должны использовать 'title + = elements123.text()' в цикле. Вместо этого вы должны «добавить» новые элементы в 'StringBuilder'. В любом случае, вы уверены, что URL-адрес обработки кода верен? Вы тестировали этот запрос 'select' в простом Java-приложении (скажем, в основном методе)? – Pshemo
Я попытался выбрать «а», и он работает. возможно, это просто запрос? –
Возможно. Если ваш код работает для одного запроса и не подходит для другого, то либо возникает проблема с этим другим запросом, либо вы обрабатываете неправильные данные. Рассмотрите возможность печати 'document', чтобы увидеть, действительно ли он содержит' div.pst-content' и другие необходимые вам элементы (возможно, что этот контент генерируется динамически с помощью JavaScript, в этом случае вам понадобится веб-драйвер, например, селен вместо простой парсер, такой как Jsoup). – Pshemo