Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
markOneDEr
0 / 0 / 0
Регистрация: 20.01.2018
Сообщений: 17
1

Парсиг Jsoup. Как спарсить не только title но и дату с ссылкой на новость ? У меня получается только title

02.02.2018, 00:05. Просмотров 836. Ответов 4

Получается спарсить и добавить в listview только title . А мне нужно спарсить еще и дату с url

Если по отдельности как ниже получается. А чтобы все вместе и в один листвью не могу придумать как сделать.

Или если у вас есть готовый проект не знаю или что-то полезное поделитесь. Или хоть подскажите

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
 public class NewNews extends AsyncTask<String,Void,String> {
        @Override
        protected String doInBackground(String... arg){
            Document doc;
 
            try
            {
                doc = Jsoup.connect("http://avesta.tj/news/politika/").get();
                name_content = doc.select(".text);
                title_list.clear();
                for (Element name_contents: name_content){
                    title_list.add(name_contents.text());
                }
            }
            catch (IOException e){
                e.printStackTrace();
            }
            return null;
 
        }
        @Override
        protected void onPostExecute(String result){
            lv.setAdapter(adapter);
 
        }
    }

Я побывал и написал после title селекта , вытащить еще и дату но в цикл ее не как приписать чтобы она добавлялась в листвю.


Потом создал свой адаптер и добовлял таким образом
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
 public class NewNews extends AsyncTask<String,Void,String> {
        @Override
        protected String doInBackground(String... arg){
            Document doc;
 
            try
            {
                doc = Jsoup.connect("http://avesta.tj/news/politika/").get();
                name_content = doc.select(".text);
                data = doc.select(".text);
                title_list.clear();
                for (Element name_contents: name_content){
                           mproductList.add(new Product( name_contents.text(), data.text()));     // тоже не работает.  
                }
            }
            catch (IOException e){
                e.printStackTrace();
            }
            return null;
 
        }
        @Override
        protected void onPostExecute(String result){
            lv.setAdapter(adapter);
 
        }
    }

Если кто знает помогите а то я на это много часов потратит и не как не продвинулся.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.02.2018, 00:05
Ответы с готовыми решениями:

Как занести данные в базу полностью (сейчас заносится только title)?
Здравствуйте!!! Помогите понять, почему у меня заносится в бд только ТИТЛ , а...

Как title, только с дивом. Как сделать, чтобы выходило рандомно?
http://codepen.io/anon/pen/tFqwE# как сделать, чтобы не было всегда справа? а...

Как отключить в броузере синенькую полосочку, где выводится то что заключено между тегами <title> и </title>?
А как отключить в броузере синенькую полосочку, где выводится то что заключено...

Спарсить название html-страницы (содержимое тега title)
Доброго времени суток! Есть сайт со страницей вида: &lt;html&gt; &lt;head&gt;...

Dle тег {title} в alt и title изображений
Хочется реализовать фишку, чтобы в shortstory изображения img не имеющее...

4
Faiotti
29 / 30 / 15
Регистрация: 24.01.2018
Сообщений: 132
02.02.2018, 04:45 2
В чем проблема спарсить дату:
Java
1
doc.select(".date"); // вместо вашего с .text
Должно работать. Если идет что лишнее, нужно уже разбираться.

Насчет урла... Изучите хоть немного HTMLевский DOM.
В целом алгоритм такой:
1. Селектим элементы, у которых в href нужный урл.
2. В цикле for, у каждого из этих элементов берем атрибут href.

Не по теме:

Да и русский подучить не помешает, или идите на таджикский форум.

А "проект не знаю" вам бесплатно писать не будут под конкретный малоизвестный сайт.

0
markOneDEr
0 / 0 / 0
Регистрация: 20.01.2018
Сообщений: 17
02.02.2018, 11:32  [ТС] 3
Цитата Сообщение от Faiotti Посмотреть сообщение
В чем проблема спарсить дату:
Java
1
doc.select(".date"); // вместо вашего с .text
Должно работать. Если идет что лишнее, нужно уже разбираться.

Насчет урла... Изучите хоть немного HTMLевский DOM.
В целом алгоритм такой:
1. Селектим элементы, у которых в href нужный урл.
2. В цикле for, у каждого из этих элементов берем атрибут href.

Не по теме:

Да и русский подучить не помешает, или идите на таджикский форум.

А "проект не знаю" вам бесплатно писать не будут под конкретный малоизвестный сайт.

У меня все получается если .text заменить на .date но проблема в том что мне нужно их одновременно вытащить и записать в один lisview
А есть в цикл for невозможно оба приписать.
0
Faiotti
29 / 30 / 15
Регистрация: 24.01.2018
Сообщений: 132
02.02.2018, 11:34 4
Лучший ответ Сообщение было отмечено markOneDEr как решение

Решение

markOneDEr, У тебя не тот for
Нужно тот, который for (int i = 0; и так далее.
1
markOneDEr
0 / 0 / 0
Регистрация: 20.01.2018
Сообщений: 17
02.02.2018, 12:45  [ТС] 5
Цитата Сообщение от markOneDEr Посмотреть сообщение
Не по теме:
Да и русский подучить не помешает, или идите на таджикский форум.
А "проект не знаю" вам бесплатно писать не будут под конкретный малоизвестный сайт
Да наверное стоит подучить раз вы так говорите.

Да нет почему есть 3-4 новостных сайта, почти все стариканы на них сидят. Вот я и подумал почему бы и нет . Да и руки поточу на Андроиде, я пока новенький в Android разработке.

Добавлено через 20 минут
Цитата Сообщение от Faiotti Посмотреть сообщение
markOneDEr, У тебя не тот for
Нужно тот, который for (int i = 0; и так далее.
Помогло! Спасибо. А то я дурак целый день х*й страдал . Я ржу сейчас как я мог мимо этого пройти. Спасибо в общем.

Добавлено через 41 минуту
Цитата Сообщение от markOneDEr Посмотреть сообщение
1. Селектим элементы, у которых в href нужный урл.
2. В цикле for, у каждого из этих элементов берем атрибут href.
for (int x = 1;x<name_content.size();x++)
{
urls = name_content.get(x).select("a[href]").first();
mproductList.add(new Product(name_content.get(x).text(),data.get(x).text(),"Avesta", "urls.text()"));

}

Как то не хочет работать

Добавлено через 4 минуты
Цитата Сообщение от markOneDEr Посмотреть сообщение
for (int x = 1;x<name_content.size();x++)
{
urls = name_content.get(x).select("a[href]").first();
mproductList.add(new Product(name_content.get(x).text(),data.get(x).text(),"Avesta", "urls.text()"));
}
Как то не хочет работать

Все получилось если кому нужно будет то вот:
title_list.clear();
for (int x = 1;x<name_content.size();x++)
{
urls = name_content.get(x).absUrl("href");
mproductList.add(new Product(name_content.get(x).text(),data.get(x).text(),",urls));

}
0
02.02.2018, 12:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.02.2018, 12:45

В title <a href="\" title=" Как сделать здесь текст крупнее при го выводе?"
Здравствуйте. В title &lt;a href=&quot;\&quot; title=&quot; Как сделать здесь текст крупнее...

Не получается сменить title. Косячит Джумла? Как это сделать руками?
http://tort-ik.ru/ title у главной выглядит очень страшно. В настройках...

Как вывести только в поле GridView только дату (без времени)?
Всем добрый день! У меня есть GridView: &lt;asp:GridView ID=&quot;gvTable&quot;...


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

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

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