Справка Android jSoup

#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() ? Есть ли у вас разрешения на доступ в Интернет?