#android #html-parsing #jsoup
#Android #html-синтаксический анализ #jsoup
Вопрос:
Я пытаюсь проанализировать html с этого URLhttp://skyalipi.blogspot.com/2011/04/there-is-no-resistance-without .html с использованием jSoup. Я использую этот код
Document doc = Jsoup.parse("http://skyalipi.blogspot.com/2011/04/there-is-no-resistance-without.html");
Log.d("test", "the elements" doc);
В журнале я получаю следующее
05-26 12:05:05.355: DEBUG/test(696): the elements<html>
05-26 12:05:05.355: DEBUG/test(696): <head></head>
05-26 12:05:05.355: DEBUG/test(696): <body>
05-26 12:05:05.355: DEBUG/test(696): http://skyalipi.blogspot.com/2011/04/there-is-no-resistance-without.html
05-26 12:05:05.355: DEBUG/test(696): </body>
05-26 12:05:05.355: DEBUG/test(696): </html>
Я хочу получить содержимое абзаца. Я не знаю, где я ошибаюсь. Я также ссылался на следующий URL http://jsoup.org/cookbook/extracting-data/attributes-text-html Пожалуйста, помогите
Ответ №1:
Jsoup обрабатывает ваш URL-адрес так, как будто это текст, который вы хотите проанализировать, и преобразует его в действительный HTML, чтобы его можно было разобрать. Я думаю, вы хотите подключиться к сайту и получить содержимое по этому URL, а затем проанализировать результат:
Document doc = Jsoup.connect("http://skyalipi.blogspot.com/2011/04/there-is-no-resistance-without.html").get();
Редактировать
Взгляните на документацию для примеров. Вы можете делать такие вещи, как:
Element example = doc.getElementById("alternatives1");
Log.d("test","example " example.text());
Комментарии:
1. @dave.c Спасибо за быстрый ответ, да, я тоже пробовал подключиться. Можете ли вы рассказать мне, каким будет содержимое документа после приведенного выше утверждения и как извлечь оттуда теги. Пожалуйста, помогите
2. @Droidme добавил ссылку и небольшой пример
3. @dave.c Я пробовал это. но я получаю следующую ошибку 05-26 13: 04: 42.615: ОШИБКА / AndroidRuntime (994): Вызвано: java.lang. Исключение NullPointerException 05-26 13:04:42.615: ОШИБКА / AndroidRuntime (994): в slots.jsoup.soup.onCreate (soup.java:33)
4. @dave.c 33 строка — это элемент example = doc.getElementById(«alternatives1»); Пожалуйста, помогите
5. Тогда значение @Droidme
doc
равно нулю. Ты действительно звонишьget()
? Есть ли у вас разрешения на доступ в Интернет?