Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Mail-up
30 / 28 / 8
Регистрация: 07.01.2017
Сообщений: 205
1

Парсинг JSOUP

29.11.2017, 22:49. Просмотров 254. Ответов 4
Метки нет (Все метки)

Всем доброго времени суток, собственно такой вопрос.
Хочу спарсить сайт с помощью библиотеки JSOUP. Сдклать что то типа парсера новостной ленты с одного сайта.
При реализации стандартного примера гайдов куча. Все просто. Но там выводится в листвью со стандартным адаптером только 1 тест.
А как быть , если мне нужен Заголовок и подзаголовок (хотя бы для начала_)?

Создать свой класс и переписать адаптер ? Как тогда передать ему данные?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2017, 22:49
Ответы с готовыми решениями:

JSOUP парсинг
Код парсит в textView1 с сайта class="30" Как переписать/дописать код, чтоб он...

Парсинг Jsoup
Парсю сайт с помощью Jsoup Есть страница с новостями с URL в виде: Новости за...

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

Jsoup парсинг сайта
Помогите пожалуйста. Пытаюсь получить названия книг с сайта livelib. Но он...

jsoup, парсинг html
А почему не работает такой простой код? Парсинг из инета пока не трогаем......

4
Pablito
2810 / 2235 / 753
Регистрация: 12.05.2014
Сообщений: 7,819
Завершенные тесты: 1
30.11.2017, 11:49 2
у сайта нет rss?
примеров как сделать свой RecyclerView адаптер вагон, на этом форуме десятки тем тоже
0
Mail-up
30 / 28 / 8
Регистрация: 07.01.2017
Сообщений: 205
30.11.2017, 11:53  [ТС] 3
Нет проблем сделать адаптер, не совсем понимаю как запихнуть 2 айтема в один RV такой пример что то найти не могу. RSS нету
0
Pablito
2810 / 2235 / 753
Регистрация: 12.05.2014
Сообщений: 7,819
Завершенные тесты: 1
30.11.2017, 12:56 4
Загрузка данных на фрагмент
0
Mail-up
30 / 28 / 8
Регистрация: 07.01.2017
Сообщений: 205
30.11.2017, 14:04  [ТС] 5
У меня есть класс с 1 айтемом.
есть адаптер для RV,
и есть главное активити

вот с таким кодом

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
public class MainActivity extends AppCompatActivity {
 
    private RecyclerView mRecyclerView;
    private RecyclerView.Adapter mAdapter;
    private RecyclerView.LayoutManager mLayoutManager;
 
    public Elements content;
    public Elements discription;
 
    private ArrayList<News> newsList;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        mRecyclerView = findViewById(R.id.mRecyclerView);
        mRecyclerView.setHasFixedSize(true);
 
        // use a linear layout manager
        mLayoutManager = new LinearLayoutManager(this);
        mRecyclerView.setLayoutManager(mLayoutManager);
 
        newsList = new ArrayList<>();
        mAdapter = new NewsAdapter(newsList);
 
        mRecyclerView.setAdapter(mAdapter);
        new NewThread().execute();
 
 
 
    }
 
    public class NewThread extends AsyncTask<String, Void, ArrayList<News>> {
 
        @Override
        protected ArrayList<News> doInBackground(String... arg) {
            Document document;
            try {
                document = Jsoup.connect("http://www.fontanka.ru/incd/").get();
                ArrayList<News> cl = new ArrayList<>();
                News item;
                Elements elements = document.getElementsByClass("entry_title");
 
                for (Element e : elements) {
                    item = new News();
                    item.setHeader(e.getElementsByClass("entry_title")
                            .first().text());
                    cl.add(item);
                }
 
                return cl;
            } catch (IOException e) {
                e.printStackTrace();
                Log.e("Error", e.getMessage());
            }
 
            return null;
        }
 
        public void onPostExecute (ArrayList<News> ts){
            super.onPostExecute(ts);
            try {
                if (newsList == null)
                    newsList = new ArrayList<>();
                newsList.addAll(ts);
                mAdapter.notifyDataSetChanged();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

сайт взят для тренинга так сказать,

Но почему то список появляется с пустыми айтемами. Не могу понять почему.
То есть RecyclerView создается но только тест пустой белые плитки)))
0
30.11.2017, 14:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2017, 14:04

Парсинг с Jsoup и заполнение в таблицу
Доброго времени суток. Мозг выгорает, не могу разобраться как правильно парсить...

Парсинг XML с помощью Jsoup
Всем добрый день. Пишу андроид приложение. Использую библиотеку jsoup....

Jsoup парсинг адерса ссылки
Как с помощью библиотеки jsoup парсить адрес ссылки &lt;a class=&quot;news-one clearfix...


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

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

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