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

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

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

Как парсить html? - Android

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

Привет!
Я начинающий девелопер, вот я дошел до такого что мне нужно выдернуть информацию с HTML страницы. Узнал что эта штука называется Парсинг, но по примеры коды которые выкладывают в сети у меня не запускаются(( расскажите пожалуйста про Парсинг, кие лучше библиотеки использовать, как загружать код и как доставать из него инфу...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
06.10.2013, 18:49     Как парсить html? #2
metroten,

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

но количество информации оставляет желать лучшего.
metroten
0 / 0 / 0
Регистрация: 14.05.2013
Сообщений: 29
06.10.2013, 23:26  [ТС]     Как парсить html? #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
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
06.10.2013, 23:30     Как парсить html? #6
Похоже что библиотеку не правильно добавили.

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

Android Как правильно парсить json с сервера
Android Подскажите как правильно парсить HTML страницу
Подскажите как парсить HTML страницу Android
Android Правильно ли парсить html или создать api
Парсить строку по маске Android

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

Или воспользуйтесь поиском по форуму:
michaelC
0 / 0 / 0
Регистрация: 25.04.2014
Сообщений: 3
24.07.2014, 00:27     Как парсить html? #14
С версии Android 4.0 введён запрет на любые сетевые операции в основном потоке.
Об этом кстати сказано на первой странице сайта посвящённого данной библиотеке.
http://dajver.blogspot.com/2013/11/android.html
Yandex
Объявления
24.07.2014, 00:27     Как парсить html?
Ответ Создать тему
Опции темы

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