Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
lapitsky
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 13
#1

Сложности с Jsoup (doc.select) - Программирование Android

17.02.2016, 21:30. Просмотров 443. Ответов 6
Метки нет (Все метки)

Добрый день, не могли бы подсказать с jsoup.

Есть сайт с которого надо спарсить текст из li
Код
<li class="list__item"><a href="someLink">Текст</a></li>
<li class="list__item"><a href="someLink2">Текст2</a></li>
<li class="list__item"><a href="someLink3">Текст3</a></li>
<li class="list__item"><a href="someLink4">Текст4</a></li>
<li class="anoter__item"><a href="someLink5">Не нужный текст</a></li>
У меня в коде
Код
Elements news = doc.select("li.list__item");
И при выводе переменной там пусто. Если указывать
Код
Elements news = doc.select("li");
то выводит, но все li, включая те которые не нужны.


Весь код:
Код
public void clicknews(View v) {
    new MyParser().execute("http://somesite.ru");
      }

    private class MyParser extends AsyncTask<String, Void, String> {

        @Override
        protected String doInBackground(String... links) {
            Document doc = null;
            try {
                doc = Jsoup.connect(links[0]).get();
            } catch (Exception e) {
                e.printStackTrace();
            }

            Elements news = doc.select("li.item__list");
            String newstoStr = news.text();
            String[] newsstoStrArray = newstoStr.split("\n");
            
            return newsstoStrArray[0];//doc.title();
        }

        @Override
        protected void onPostExecute(String result) {
            newslabel.setText(result);
        }
    }
Подскажите, что не так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2016, 21:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сложности с Jsoup (doc.select) (Программирование Android):

jsoup - Программирование Android
Здрасьте. Вопрос по поводу этой замечательной библиотеке:) Есть html следующего содержания: &lt;span class=&quot;aaa&quot;&gt;Всем привет!&lt;br /&gt; ...

Jsoup - Программирование Android
Помогите пожалуйста. При нажатии на строку с заголовком приложение вылетает. Подскажите в чем дело и как потом это исправить. public...

Парсинг на jsoup - Программирование Android
Добрый всем день! Заминка такая, уже весь гугл перелопатил, синих ссылок в браузере не осталось. Есть пример парсинга сайта: import...

WebView + JSOUP - Программирование Android
Добрый день. Приложение падает с ошибкой. Подскажи, пожалуйста, в чем причина? 10-06 21:30:52.489 26025-26048/? E/AndroidRuntime﹕...

JSOUP парсинг - Программирование Android
Код парсит в textView1 с сайта class=&quot;30&quot; Как переписать/дописать код, чтоб он парсил еще и в textView2 класс=&quot;31&quot; Классы 30, 31 на...

Jsoup и https - Программирование Android
Здравствуйте есть вопрос. Есть сайт на https на котором нужно залогиниться чтобы получить инфу. вопрос в том как с этим работать с...

6
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
18.02.2016, 12:21 #2
Java
1
2
3
if (news.size() > 0) {              
    for (int i = 0; i < news.size(); i++) { 
        Log.d("", news.get(i).text());
0
lapitsky
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 13
18.02.2016, 13:59  [ТС] #3
Java
1
2
3
  if (news.size() > 0) {
              for (int i = 0; i < news.size(); i++) {
                  Log.d("", news.get(i).text());}}else { Log.d("", "пусто");}
Выдает
Код
02-18 05:55:05.376 1372-1491/fuck.news5 D/myLogs: пусто
Если указываем li, без класса list__item, лог выдает содержимое. Сам класс в коде указан верно, если тестировать этот сайт через http://try.jsoup.org/, он выводит нужный список.
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
18.02.2016, 14:05 #4
ссылку бы на сайт
0
lapitsky
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 13
18.02.2016, 14:16  [ТС] #5
Разобрался
Вобщем парсил новости с главной страницы yandex.ru, а поскольку новости это виджет, который виден только залогиненому пользователю, соответственно андроид видел сайт, без этого виджета. Буду парсить уже со страницы news.yandex
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,654
Завершенные тесты: 1
18.02.2016, 14:21 #6
lapitsky, у них же там RSS есть.
0
lapitsky
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 13
18.02.2016, 14:28  [ТС] #7
Хотя нет, если просто указывать li, без класса item__list, он же парсит все li, включая эти новости.
так что, тема еще открыта..

Добавлено через 6 минут
lapitsky, у них же там RSS есть.
Да, так и поступлю
0
18.02.2016, 14:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2016, 14:28
Привет! Вот еще темы с ответами:

Parsing with Jsoup - Программирование Android
Итак, пробую написать очень простое тестовое приложение, для чтения html-файлов. Вот файл JsoupDemoActivity.java: package...

AsyncTask и Jsoup - Программирование Android
Не работает вот такой код: package com.example.projecta; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import...

Jsoup парс - Программирование Android
Здравствуйте такой вопрос есть сайт который в наличие есть скрипт ... &lt;td class=&quot;time&quot;&gt; &lt;span...

Jsoup получить элемент - Программирование Android
Подскажите как найти элемент в экземпляре Document, если цифры в id неизвестны(только буквы)? Document doc =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru