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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 37, средняя оценка - 4.86
metroten
0 / 0 / 0
Регистрация: 14.05.2013
Сообщений: 29
#1

Как парсить html? - Программирование Android

06.10.2013, 18:23. Просмотров 4959. Ответов 13
Метки нет (Все метки)

Привет!
Я начинающий девелопер, вот я дошел до такого что мне нужно выдернуть информацию с HTML страницы. Узнал что эта штука называется Парсинг, но по примеры коды которые выкладывают в сети у меня не запускаются(( расскажите пожалуйста про Парсинг, кие лучше библиотеки использовать, как загружать код и как доставать из него инфу...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2013, 18:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как парсить html? (Программирование Android):

Подскажите как парсить HTML страницу - Программирование Android
Подскажите как парсить HTML страницу,мне надо с http://yandex.ru/ вывести все данные в текст,помогите,я новичёк,много форумов облазил но...

Подскажите как правильно парсить HTML страницу - Программирование Android
Код у меня уже имеется но я так и не разобрался с document.select(""); у меня только title получается парсить,но как например парсить такой...

Правильно ли парсить html или создать api - Программирование Android
Всем привет! Есть сайт для заказа некоего товара, требуется написать приложение для него. Вопрос в следующем: что будет более...

Как парсить WebView? - Программирование Android
webView.loadUrl("file:///android_asset/test/index.html");ну вот так я его инициализирую, там работаю, что то делаю. А как потом получить у...

Как правильно парсить? - Программирование Android
У меня есть следующая строка: Как с помощью JSON-парсера считать значение number с объекта order со значением 0 не перебирая их?...

Как парсить значения между тегами? - Программирование Android
В общем задание такое: нужны курсы валют отсюда Ссылка . Как можно их спарсить? (желательно только первое значение) Добавлено через 9...

13
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
06.10.2013, 18:49 #2
metroten,

http://jsoup.org/
0
metroten
0 / 0 / 0
Регистрация: 14.05.2013
Сообщений: 29
06.10.2013, 22:01  [ТС] #3
а есть русскоязычный ресурс?
0
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
06.10.2013, 22:58 #4
Цитата Сообщение от metroten Посмотреть сообщение
а есть русскоязычный ресурс?
http://developer.alexanderklimov.ru/...rary/jsoup.php

но количество информации оставляет желать лучшего.
0
metroten
0 / 0 / 0
Регистрация: 14.05.2013
Сообщений: 29
06.10.2013, 23:26  [ТС] #5
Это дикий 3.14здец!... не работает вообще ничего.. перелазил по сотне форумов, перезапускал сотни вариантов... это ужас... выкладываю результаты с кодом из последней ссылки. Ребят, помогите на вас вся надежда!..

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
package com.example.jsoupdemo;
 
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
 
public class JsoupDemoActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        final Button butTest = (Button)findViewById(R.id.button1);
        final TextView tvInfo = (TextView)findViewById(R.id.textView1);
        
        butTest.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
            
                String html = "<html><head><title>Коты учатся кодить</title>"
                    + "<body><p>Коты умеют <del>ш</del>кодить.<br> Они великие программисты." +
                            "<p>А еще они умеют мяукать.</p>" +
                            "<a href='http://developer.alexanderklimov.ru'>Подробности здесь</a>" +
                            "</body></html>";
                
                Document doc = Jsoup.parse(html);
                tvInfo.setText(doc.html()); 
            }
        });
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
10-06 19:22:43.191: E/AndroidRuntime(618): FATAL EXCEPTION: main
10-06 19:22:43.191: E/AndroidRuntime(618): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.jsoupdemo/com.example.jsoupdemo.MainActivity}: java.lang.ClassNotFoundException: com.example.jsoupdemo.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.example.jsoupdemo-1.apk]
10-06 19:22:43.191: E/AndroidRuntime(618):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569)
10-06 19:22:43.191: E/AndroidRuntime(618):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
10-06 19:22:43.191: E/AndroidRuntime(618):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
10-06 19:22:43.191: E/AndroidRuntime(618):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
10-06 19:22:43.191: E/AndroidRuntime(618):  at android.os.Handler.dispatchMessage(Handler.java:99)
10-06 19:22:43.191: E/AndroidRuntime(618):  at android.os.Looper.loop(Looper.java:123)
10-06 19:22:43.191: E/AndroidRuntime(618):  at android.app.ActivityThread.main(ActivityThread.java:3683)
10-06 19:22:43.191: E/AndroidRuntime(618):  at java.lang.reflect.Method.invokeNative(Native Method)
10-06 19:22:43.191: E/AndroidRuntime(618):  at java.lang.reflect.Method.invoke(Method.java:507)
10-06 19:22:43.191: E/AndroidRuntime(618):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
10-06 19:22:43.191: E/AndroidRuntime(618):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
10-06 19:22:43.191: E/AndroidRuntime(618):  at dalvik.system.NativeStart.main(Native Method)
10-06 19:22:43.191: E/AndroidRuntime(618): Caused by: java.lang.ClassNotFoundException: com.example.jsoupdemo.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.example.jsoupdemo-1.apk]
10-06 19:22:43.191: E/AndroidRuntime(618):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
10-06 19:22:43.191: E/AndroidRuntime(618):  at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
10-06 19:22:43.191: E/AndroidRuntime(618):  at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
10-06 19:22:43.191: E/AndroidRuntime(618):  at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
10-06 19:22:43.191: E/AndroidRuntime(618):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)
10-06 19:22:43.191: E/AndroidRuntime(618):  ... 11 more
0
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
06.10.2013, 23:30 #6
Похоже что библиотеку не правильно добавили.

Разместите ее в папке libs
0
metroten
0 / 0 / 0
Регистрация: 14.05.2013
Сообщений: 29
06.10.2013, 23:35  [ТС] #7
Я закидывал библиотеку в папку с проектом, потом ПКМ по названию проекта->Build Path-> Configure Build Path, выбираю вкладку Librares-> Add JARs... и там указываю библиотеку..
0
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
06.10.2013, 23:39 #8
попробуйте сделать как я написал
0
metroten
0 / 0 / 0
Регистрация: 14.05.2013
Сообщений: 29
06.10.2013, 23:47  [ТС] #9
безрезультатно(((
0
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
07.10.2013, 00:04 #10
metroten, после того как библиотеку в папку libs кинули проект обновили?
0
metroten
0 / 0 / 0
Регистрация: 14.05.2013
Сообщений: 29
07.10.2013, 00:07  [ТС] #11
да, обновил
0
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
07.10.2013, 00:12 #12
без идей. Код в onClick рабочий. Если проект создан правильно, то все должно работать.
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
08.10.2013, 16:48 #13
всегда просто закидываю jar в libs
0
michaelC
0 / 0 / 0
Регистрация: 25.04.2014
Сообщений: 3
24.07.2014, 00:27 #14
С версии Android 4.0 введён запрет на любые сетевые операции в основном потоке.
Об этом кстати сказано на первой странице сайта посвящённого данной библиотеке.
http://dajver.blogspot.com/2013/11/android.html
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.07.2014, 00:27
Привет! Вот еще темы с ответами:

Как правильно парсить json с сервера - Программирование Android
Здравствуйте. У меня есть JSON, полученный с сервера, имеет приблизительно такой вид: В приложении будет два таба, в...

Как парсить конкретные данные из общего класса? - Программирование Android
Здравствуйте!Я использую библиотеку jsoup для парсинга html страниц сайтов. Например если мне нужно получить значение из класса...

Парсить строку по маске - Программирование Android
Гуру, подскажите инструмент! Есть строка вида &quot;фыва&lt;asdf123&gt;&quot;йцук Надо получить 1) начало строки &quot;&lt;asdf&quot; 2) начало строки...

Клиент для форума IP board 3.0.1. api нет. Стоит ли парсить весь форум - Программирование Android
Нужно написать клиент для форума. IP board 3.0.1. api нет. Стоит ли парсить весь форум(или его xml)?или есть способы попроще? Если...


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

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

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