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

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

Войти
Регистрация
Восстановить пароль
 
HPB
25 / 25 / 1
Регистрация: 20.07.2012
Сообщений: 399
Записей в блоге: 1
#1

Как распарсить страницу и записать данные в ListView? - Программирование Android

01.06.2014, 02:57. Просмотров 858. Ответов 5
Метки нет (Все метки)

Добрый день , Киборги!
Прошлая тема ,созданная мною в данном разделе , касалась вопроса WebView'a ,но теперь все стало предельно ясно.
Назрел новый вопросище , проблеемище

Как распарсить страницу и запихнуть в ListView
все что будет находиться у меня в:
PHPHTML
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
<div class="gs_newstitle">
  <div class="gs_basic">
    <style type="text/css">
      .gs_title_q a:hover {
        text-decoration:underline;
      }
    </style>
    <!-- это новое -->
    <a class="newslink" href="http://vprognoze.ru/forecast/pro/fcpfootball/2122664-slovan-liberec-sigma-olomouc.html" title="Слован Либерец - Сигма Оломоуц прогноз спорта на сегодня от Підполковник"><div class="titl_novosti"><span>Слован Либерец - Сигма Оломоуц прогноз спорта на сегодня от Підполковник | 2014-05-31</span></div></a> 
    <!-- конец нового -->
            <div style="padding: 10px;"> 
          <div class="gs_basic_s">
            <div align="right" style="float: right">
                                 
            <a href="/onlinevideo/" title="Футбол онлайн"><img width="24" height="24" alt="К этому матчу есть трансляция" title="К этому матчу есть трансляция" src="/templates/vprognoze/images/livetv.png"></a> </div>
            
  Футбол. Чемпионат Чехии.
  <p>
    </p><div class="fi-block">
      <div class="fi-img"><img width="25" height="25" title="Слован Либерец - Сигма Оломоуц" src="/uploads/teamsnew/1760.jpg "></div>
      <div style="font-size:16px;font-weight:bold">
        <strong>Слован Либерец - Сигма Оломоуц</strong>
      </div>
      <div class="fi-img rig"><img width="25" height="25" title="Слован Либерец - Сигма Оломоуц" src="/uploads/teamsnew/2814.jpg "></div>
      <div class="iconstat" style="margin-left: 15px; cursor: pointer;"> &nbsp; &nbsp;
        <a onclick="window.open('http://vprognoze.ru/engine/ajax/comm_state.php?pcomm='+encodeURIComponent('2122664'), 'Статистика', 'width=590,height=500,location=yes,toolbar=no,menubar=no,status=no');return false;" target="_blank"><img src="/templates/vprognoze/images/stat_ico.gif"></a>
      </div>
      <div class="iconstat" style="margin-left: 3px; cursor: pointer;">
        <a rel="#" style="cursor:pointer;width=600;height=530;location=yes;toolbar=no;menubar=no;return false;" onclick="window.open('/engine/ajax/fc_analytics_main.php?tid=1956073', 'График', 'width=670,height=650,toolbar=no,menubar=no,scrollbars=yes,resizable=yes')"><img src="/templates/vprognoze/images/chart_mini.png"></a>
      </div>
    </div> 
  <p></p>
  
Прогноз: <span class="kofa"><a rel="" style="cursor:pointer;" onclick="showhistory(2122664); return false;">ТБ (2.5)</a></span>&nbsp;&nbsp;<a style="color:black;cursor: pointer;" rel="#" onclick="doShowkf(2122664,1956073)">Коэффициент:</a> <span class="kofa"><!--noindex--><a rel="nofollow" target="_blank" href="http://vprognoze.ru/bk/12/e/1956073" title="Марафон"> 1.81</a><!--/noindex--></span> | Сумма ставки: <a title="Возможный выигрыш: 367.4" class="kofa">203</a> <a style="color:#990000" rel="" title="Сумма выигрыша/проигрыша">(-203)</a>
    <br> 
  <div align="left" id="dle-ajax-kf2122664"></div>
  <span style="margin-top:0">Начало матча:  <span style="font-style:italic">(2014-05-31 20:00)</span></span>
  <span style="font-color:#0000CC;float:right;"><span class="resminus">Результат: 1:1  (1:0)</span></span><br><br>
  <div align="right" id="dle-ajax-rating2122664"></div>
  <div style="font-color:#0000CC" align="right"></div>
  <div id="news-id-2122664" style="display:inline;"></div>
 
<br> 
            <div id="news-id-2122664" style="display:inline;">Слован Либерец проводит не плохой сезон и команда добилась путёвки в Лигу Европы. Для Сигма это возможно будет их последняя игра в лиге, команда занимает предпоследнее и от спасительного места их отделяет 1 очко, так же ещё впереди идёт и Славия Прага, которая опережает на 2 очка. Только победа может дать надежду на сохранения прописки, но тут ещё проблема сам матч на выезде против Слована. <br>Слован Либерец по сути доволен своим сезон и команда на своём поле хочет закончить на мажорной ноте, имея в своём активе серию из 5 домашних побед. <br>Матч может выйти результативный, Сигма в прошлом туре сумела одолеть клуб Зноймо 2-0, но для игры против хозяев им надо быть как минимум настолько же результативными, ведь проблема Сигмы в их обороне.</div>
            
            
            
            
          </div>
        <div></div>
        <div class="gs_more-info">
          <span class="gs_more-info-cat">&nbsp;Прогнозы на футбол <img src="/templates/vprognoze/images/sports/view_detailed.png" style="margin-bottom: -3px" alt="Смотрело прогноз">Смотрело: 12&nbsp;<noindex><a href="#" onclick="dosubscribe_gen(2122664,0,0); return false;"><img src="/templates/vprognoze/images/sports/mail.png" alt="Подписаться на e-mail рассылку">На e-mail</a> <a href="#" onclick="dosubscribe_gen(2122664,0,1); return false;"><img src="/templates/vprognoze/images/sports/rss.png" alt="Добавить в мою ленту прогнозов" style="margin-bottom: -3px">В ленту</a>/<a href="#" onclick="dosubscribe_gen(2122664,0,2); return false;">sms</a> </noindex></span>
        </div>
        <span class="gs_comments">
          <img src="/templates/vprognoze/images/16-comment.png" style="margin-bottom: -3px" width="16" height="15" alt="Добавил"><a style="cursor:pointer;" onclick="sendComment(2122664); return false;">Комментировать <span style="font-weight:bold">2</span></a>
        </span>
        <div class="inrate" style="float:left;">
          
            <div class="orating oplus" id="orating-2122664">
              <a href="#" class="orating_m" title="Не нравится" onclick="orating(2122664,0);return false;"></a>
              <a href="#" class="orating_p" title="Нравится" onclick="orating(2122664,1);return false;"></a>
              <a href="#" class="orating_res" onclick="ostats(2122664,1,true);return false;">+1</a>
            </div>
          
        </div>
                <div class="added"><a onclick="window.open('/engine/ajax/fc_userchart.php?pid=2122664', 'Статистика', 'width=500,height=400,left=100,top=100,toolbar=no,menubar=no,resizable=no,location=no')" style="cursor:pointer;" rel="" title="Прирост банка за текущий месяц"><img src="/templates/vprognoze/images/gpm-statistics.png" style="margin-bottom: -3px"></a><a onclick="ShowProfile('%CF%B3%E4%EF%EE%EB%EA%EE%E2%ED%E8%EA', 'http://vprognoze.ru/user/%CF%B3%E4%EF%EE%EB%EA%EE%E2%ED%E8%EA/', '0'); return false;" href="http://vprognoze.ru/user/%CF%B3%E4%EF%EE%EB%EA%EE%E2%ED%E8%EA/">Підполковник</a> »&nbsp;<a style="color:{color_bank};" rel="" title="Общий банк"><span style="color:green">4076</span></a> <span style="color:green;">(+18.38%)</span> » Сегодня, 19:36 </div>
      </div>
  </div>
</div>
каждая новость находится в классе
PHPHTML
1
<div class="gs_newstitle">
Добавлено через 3 часа 38 минут
скачал библиотеку jsoup
и распарсил коротко так
Java
1
2
3
doc = Jsoup.connect("http://vprognoze.ru/forecast/pro/").get();
                
                title = doc.select(".newslink");
и записал в listview
Java
1
titleList.add(titles.text());
Накиньте идею , как теперь можно с каждой новости узнать ссылку и потом по нажатию на item в listview открывалась более подробная информация..
Благодарю!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2014, 02:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как распарсить страницу и записать данные в ListView? (Программирование Android):

Как в listview можно записать историю вызовов - Программирование Android
Пишу Dialer, осталось одна проблема ума не приложу как получить список исходящих, входящих и пропущенных звонков, и запихнуть его в список....

Данные из SQlite в ListView, обработка события ListView - Программирование Android
Ребят, есть БД, ListView. Надо при нажатии на строчку ListView вытащить данные int из БД. mList.setOnItemClickListener(new...

Как записывать данные из SQLite в ListView - Программирование Android
Здравствуйте, задался таким вопросом. Есть SQLite таблица, данные в которой берутся из EditText. Я хочу их записывать их в ListView,...

ListView - как добавлять данные из БД в начало списка? - Программирование Android
Здравствуйте. Подскажите, пожалуйста, как сделать, чтобы при добавлении данных в БД - в ListView они попадали в начало списка. Использую...

Как записать данные GPS в файл? - Программирование Android
Уже более суток сижу катаю дипломную работу. Суть такова, для начала мне нужно снять показания с датчика Акселерометра(это я сделал) и ...

Как получить данные из социальных сетей и записать их в андроид-приложение? - Программирование Android
Необходимо сделать автозаполнение формы в андроиде элементами из аккаунта Вконтакте. Кто знает что-нибудь про api-интерфейсы с социальными...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
01.06.2014, 11:10 #2
Попробуй типа этого:
Java
1
2
3
4
Elements div = doc.select("newslink");  
for (int i = 0; i < div.size(); i++) {                          
   String txt = div.get(i).text();                  
   String href = div.get(i).attr("onclick");
1
HPB
25 / 25 / 1
Регистрация: 20.07.2012
Сообщений: 399
Записей в блоге: 1
02.06.2014, 04:43  [ТС] #3
PHPHTML
1
  <a class="newslink" href="http://vprognoze.ru/forecast/pro/fcpfootball/2122664-slovan-liberec-sigma-olomouc.html" title="Слован Либерец - Сигма Оломоуц прогноз спорта на сегодня от Підполковник"><div class="titl_novosti"><span>Слован Либерец - Сигма Оломоуц прогноз спорта на сегодня от Підполковник | 2014-05-31</span></div></a>
как выцепить ссылку?
пытаюсь так , но не выходит
Java
1
titleList.add(link.text(".newslink") + link.attr("href"));
он все возможные href цепляет

Добавлено через 21 минуту
Цитата Сообщение от Rube Посмотреть сообщение
Попробуй типа этого:
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
Elements div = doc.select("newslink");*
for (int i = 0; i < div.size(); i++) {* * * * * * * * * * * * *
* *String txt = div.get(i).text();* * * * * * * * *
* *String href = div.get(i).attr("onclick");
__________________
так не выходит записать , не читает, в переменных пусто

Добавлено через 20 минут
Java
1
titleList.add(titles.text() +"\n"+ titles.attr("href"));
подправил последнюю попытку и вышло то что и хотел , а именно (Заголовок и ссылка )
Люди добрые , как дальше ..у меня просто нет идеи :С
Хотелось бы следующее
Парсю страницу , пишу что хотел в item именно заголовок и ссылка , как теперь по нажатию на item перейти по ссылке и распарсить там что мне нужно?
Если у вас есть какие нибудь соображения , напишите , нужна идея :С

Добавлено через 32 минуты
как обработать событие клика на ListItme?

Добавлено через 6 часов 33 минуты
Java
1
2
3
4
5
6
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> parent, View itemClicked, int position,
                            long id) {
                                            }
                });
верно ли я мыслю?
Обработчик событий на item
допустим сделаю так :
-происходит событие клик по item
-грузится новая форма
-на ней распарсим страницу , но как передать ссылку для этого если я все ссылки тоже парсю
Java
1
titles.attr("href"));
Форумчане , очень очень горячая тема....подкидывайте идеи

Добавлено через 8 часов 40 минут
Пожалуйста , помогите.
0
zepanov
Сообщений: n/a
01.08.2014, 17:28 #4
пиши в ЛС или админу сайта с которого собираешься парсить с таким же ником - обсудим
recoder
130 / 130 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
02.08.2014, 08:02 #5
А почему бы не попробовать JSON, всё станет горазда проще.
1
HPB
25 / 25 / 1
Регистрация: 20.07.2012
Сообщений: 399
Записей в блоге: 1
04.08.2014, 13:17  [ТС] #6
Я только только перешел с c# на эклипс. И это такой гемор боже мой.
Я многих вещей еще не понимаю

Добавлено через 1 минуту
zepanov, если вы заинтересованы , напишите в лс где можно с вами связаться.

Добавлено через 14 минут
@zapanov У вас выключены ЛС я не могу вам написать
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.08.2014, 13:17
Привет! Вот еще темы с ответами:

Передать данные из базы в ListView - Программирование Android
public class OneAct extends Activity { Integer text; String names = { &quot;То что было выгруженно с базы&quot; }; protected void...

Передать данные из диалога ListView родительскому Activity - Программирование Android
Нашел код в котором создается диалоговое окно, в нем вводятся данные и эти данные передаются родителю. Вот код: res/layout/main.xml ...

ListView, ToggleButton, SQLite, CursorAdapter. Как найти idItem в ListView, где была нажата ToggleButton? - Программирование Android
Добрый день. Затрудняюсь понять один момент: У меня есть ListView, который заполнен Items. Каждый Item - это свой XML. Пока...

Передать данные при клике на listview в другое activity - Программирование Android
Подсксжите пожалуйста, как мне при клике на listview заполненный с помощью sdimplecursoradapter передеавать данные в другое activity для...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.08.2014, 13:17
Ответ Создать тему
Опции темы

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