Я пытаюсь извлечь некоторый контент (ссылки, изображения и т. Д.) С веб-страницы новостей и добавить их в свое приложение.Я использую библиотеку jsoup для разбора.Вот пример кода, относящегося к анализу данных.В целом код работает нормально, но, поскольку все запросы выполняются по некоторым ключевым словам, приложение может аварийно завершить работу при изменении связанных ключевых слов в html.Например, я хочу, чтобы приложение пропускало извлечение ссылки, если jsoup не может подключиться к веб-сайту или если соответствующие атрибуты не совпадают;и искать других.Итак, как я могу избежать сбоев приложения из-за jsoup?Есть ли лучший способ извлечь данные из новостной веб-страницы?
try {
// Connect to the related page
Document relatedNewsPage = Jsoup.connect(link)
.userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6")
.referrer("http://www.google.com")
.get();
// Parse the news' title, imagelink and update time
String title = relatedNewsPage.selectFirst("meta[property=og:title]").attr("content") ;
String imageLink = relatedNewsPage.selectFirst("meta[property=og:image]").absUrl("content");
String updateTime = relatedNewsPage.selectFirst("meta[property=article:modified_time]").attr("content");
// check whether all the links and title are valid
if (Patterns.WEB_URL.matcher(link).matches() &&
Patterns.WEB_URL.matcher(imageLink).matches() &&
!TextUtils.isEmpty(title)) {
// add the news to the list
news.add(new NewsItem( getContext().getResources().getString(R.string.source_ntv),
link,
title,
imageLink,
updateTime));
}
} catch (IOException e) {
Log.e(LOG_TAG, "Problem parsing the Relatad News' url result", e);
}
}
}