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

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

Войти
Регистрация
Восстановить пароль
 
Maksim2309
45 / 45 / 2
Регистрация: 17.01.2013
Сообщений: 328
#1

Парсинг HtmlCleaner 2.8 - Программирование Android

03.05.2014, 14:23. Просмотров 855. Ответов 0

Приветствую всех форумчан. Срочно нуждаюсь в вашей помощи. Ругается после это строки:
Java
1
HtmlHelper hh = new HtmlHelper(new URL(arg[0]));
Сам класс вот:
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
package mik.projects.lifeh;
 
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
 
import org.htmlcleaner.HtmlCleaner;
import org.htmlcleaner.TagNode;
 
import android.util.Log;
 
public class HtmlHelper {
          TagNode rootNode;
 
          public HtmlHelper(URL htmlPage) throws IOException
          {
              HtmlCleaner cleaner;
              try
              {
            cleaner = new HtmlCleaner();
            rootNode = cleaner.clean(htmlPage);
              }
              catch (Exception E)
              {
                  Log.d("Ошибка", "Пипец");
              }
          }
 
          List<TagNode> getLinksByClass(String CSSClassname, String teg)
          {
               List<TagNode> linkList = new ArrayList<TagNode>();
               Log.d("NULL", "это перед получкой");
            TagNode linkElements[] = rootNode.getElementsByName(teg, true);
            for (int i = 0; linkElements != null && i < linkElements.length; i++)
            {
                String classType = linkElements[i].getAttributeByName("class");
                if (CSSClassname != "" && teg == "p" || CSSClassname != "" && teg == "div" ||
                        CSSClassname != "" && teg == "section")
                {               
                    if (classType != null && classType.equals(CSSClassname))
                      {
                        linkList.add(linkElements[i]);
                        Log.d("Нашел", "Я нашел ура");
                      }
                }
                else
                {
                    linkList.add(linkElements[i]);
                }
            }
 
            return linkList;
          }
}
Вот лог:
XML
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
73
74
75
76
77
78
79
80
81
82
05-02 17:33:04.950: E/Trace(20087): error opening trace file: No such file or directory (2)
05-02 17:33:04.950: D/ActivityThread(20087): setTargetHeapUtilization:0.25
05-02 17:33:04.950: D/ActivityThread(20087): setTargetHeapIdealFree:8388608
05-02 17:33:04.950: D/ActivityThread(20087): setTargetHeapConcurrentStart:2097152
05-02 17:33:05.080: I/TextToSpeech(20087): Sucessfully bound to com.google.android.tts
05-02 17:33:05.110: I/BluetoothSocket.cpp(20087): Setting Master socket option
05-02 17:33:10.240: D/BLUETOOTH(20087): Host is down
05-02 17:33:10.270: W/ResourceType(20087): Skipping entry 0x7f020001 in package table 0 because it is not complex!
05-02 17:33:10.290: W/ResourceType(20087): Skipping entry 0x7f020001 in package table 0 because it is not complex!
05-02 17:33:10.290: W/ResourceType(20087): Skipping entry 0x7f020001 in package table 0 because it is not complex!
05-02 17:33:10.290: W/ResourceType(20087): Skipping entry 0x7f020001 in package table 0 because it is not complex!
05-02 17:33:10.340: W/ResourceType(20087): Skipping entry 0x7f020001 in package table 0 because it is not complex!
05-02 17:33:10.340: W/ResourceType(20087): Skipping entry 0x7f020001 in package table 0 because it is not complex!
05-02 17:33:10.340: W/ResourceType(20087): Skipping entry 0x7f020001 in package table 0 because it is not complex!
05-02 17:33:10.340: W/ResourceType(20087): Skipping entry 0x7f020001 in package table 0 because it is not complex!
05-02 17:33:10.370: D/libEGL(20087): loaded /system/lib/egl/libEGL_adreno200.so
05-02 17:33:10.380: D/libEGL(20087): loaded /system/lib/egl/libGLESv1_CM_adreno200.so
05-02 17:33:10.380: D/libEGL(20087): loaded /system/lib/egl/libGLESv2_adreno200.so
05-02 17:33:10.390: I/Adreno200-EGL(20087): <qeglDrvAPI_eglInitialize:299>: EGL 1.4 QUALCOMM build:  (Merge)
05-02 17:33:10.390: I/Adreno200-EGL(20087): Build Date: 07/09/13 Tue
05-02 17:33:10.390: I/Adreno200-EGL(20087): Local Branch: AU_41
05-02 17:33:10.390: I/Adreno200-EGL(20087): Remote Branch: 
05-02 17:33:10.390: I/Adreno200-EGL(20087): Local Patches: 
05-02 17:33:10.390: I/Adreno200-EGL(20087): Reconstruct Branch: 
05-02 17:33:10.500: D/OpenGLRenderer(20087): Enabling debug mode 0
05-02 17:33:10.830: I/TextToSpeech(20087): Connected to ComponentInfo{com.google.android.tts/com.google.android.tts.service.GoogleTTSService}
05-02 17:33:16.960: D/NULL(20087): это перед ссылкой
05-02 17:33:16.990: E/dalvikvm(20087): Could not find class 'org.htmlcleaner.TagNode', referenced from method mik.projects.lifeh.First$ParseSite.doInBackground
05-02 17:33:16.990: W/dalvikvm(20087): VFY: unable to resolve check-cast 844 (Lorg/htmlcleaner/TagNode;) in Lmik/projects/lifeh/First$ParseSite;
05-02 17:33:16.990: D/dalvikvm(20087): VFY: replacing opcode 0x1f at 0x00d4
05-02 17:33:17.000: E/dalvikvm(20087): Could not find class 'org.htmlcleaner.HtmlCleaner', referenced from method mik.projects.lifeh.HtmlHelper.<init>
05-02 17:33:17.000: W/dalvikvm(20087): VFY: unable to resolve new-instance 843 (Lorg/htmlcleaner/HtmlCleaner;) in Lmik/projects/lifeh/HtmlHelper;
05-02 17:33:17.000: D/dalvikvm(20087): VFY: replacing opcode 0x22 at 0x0003
05-02 17:33:17.000: I/dalvikvm(20087): Could not find method org.htmlcleaner.TagNode.getElementsByName, referenced from method mik.projects.lifeh.HtmlHelper.getLinksByClass
05-02 17:33:17.000: W/dalvikvm(20087): VFY: unable to resolve virtual method 5414: Lorg/htmlcleaner/TagNode;.getElementsByName (Ljava/lang/String;Z)[Lorg/htmlcleaner/TagNode;
05-02 17:33:17.000: D/dalvikvm(20087): VFY: replacing opcode 0x6e at 0x000f
05-02 17:33:17.000: D/dalvikvm(20087): DexOpt: unable to opt direct call 0x1523 at 0x05 in Lmik/projects/lifeh/HtmlHelper;.<init>
05-02 17:33:17.030: I/Choreographer(20087): Skipped 40 frames!  The application may be doing too much work on its main thread.
05-02 17:33:17.060: W/dalvikvm(20087): threadid=11: thread exiting with uncaught exception (group=0x420be378)
05-02 17:33:17.120: E/AndroidRuntime(20087): FATAL EXCEPTION: AsyncTask #1
05-02 17:33:17.120: E/AndroidRuntime(20087): java.lang.RuntimeException: An error occured while executing doInBackground()
05-02 17:33:17.120: E/AndroidRuntime(20087):    at android.os.AsyncTask$3.done(AsyncTask.java:299)
05-02 17:33:17.120: E/AndroidRuntime(20087):    at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
05-02 17:33:17.120: E/AndroidRuntime(20087):    at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
05-02 17:33:17.120: E/AndroidRuntime(20087):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
05-02 17:33:17.120: E/AndroidRuntime(20087):    at java.util.concurrent.FutureTask.run(FutureTask.java:137)
05-02 17:33:17.120: E/AndroidRuntime(20087):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
05-02 17:33:17.120: E/AndroidRuntime(20087):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
05-02 17:33:17.120: E/AndroidRuntime(20087):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
05-02 17:33:17.120: E/AndroidRuntime(20087):    at java.lang.Thread.run(Thread.java:856)
05-02 17:33:17.120: E/AndroidRuntime(20087): Caused by: java.lang.NoClassDefFoundError: org.htmlcleaner.HtmlCleaner
05-02 17:33:17.120: E/AndroidRuntime(20087):    at mik.projects.lifeh.HtmlHelper.<init>(HtmlHelper.java:21)
05-02 17:33:17.120: E/AndroidRuntime(20087):    at mik.projects.lifeh.First$ParseSite.doInBackground(First.java:272)
05-02 17:33:17.120: E/AndroidRuntime(20087):    at mik.projects.lifeh.First$ParseSite.doInBackground(First.java:1)
05-02 17:33:17.120: E/AndroidRuntime(20087):    at android.os.AsyncTask$2.call(AsyncTask.java:287)
05-02 17:33:17.120: E/AndroidRuntime(20087):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
05-02 17:33:17.120: E/AndroidRuntime(20087):    ... 5 more
05-02 17:33:17.540: E/WindowManager(20087): Activity mik.projects.lifeh.First has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@42c99c48 that was originally added here
05-02 17:33:17.540: E/WindowManager(20087): android.view.WindowLeaked: Activity mik.projects.lifeh.First has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@42c99c48 that was originally added here
05-02 17:33:17.540: E/WindowManager(20087):     at android.view.ViewRootImpl.<init>(ViewRootImpl.java:378)
05-02 17:33:17.540: E/WindowManager(20087):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:292)
05-02 17:33:17.540: E/WindowManager(20087):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:224)
05-02 17:33:17.540: E/WindowManager(20087):     at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:149)
05-02 17:33:17.540: E/WindowManager(20087):     at android.view.Window$LocalWindowManager.addView(Window.java:547)
05-02 17:33:17.540: E/WindowManager(20087):     at android.app.Dialog.show(Dialog.java:285)
05-02 17:33:17.540: E/WindowManager(20087):     at android.app.ProgressDialog.show(ProgressDialog.java:116)
05-02 17:33:17.540: E/WindowManager(20087):     at android.app.ProgressDialog.show(ProgressDialog.java:104)
05-02 17:33:17.540: E/WindowManager(20087):     at mik.projects.lifeh.First.Parse(First.java:215)
05-02 17:33:17.540: E/WindowManager(20087):     at mik.projects.lifeh.First.onActivityResult(First.java:668)
05-02 17:33:17.540: E/WindowManager(20087):     at android.app.Activity.dispatchActivityResult(Activity.java:5192)
05-02 17:33:17.540: E/WindowManager(20087):     at android.app.ActivityThread.deliverResults(ActivityThread.java:3158)
05-02 17:33:17.540: E/WindowManager(20087):     at android.app.ActivityThread.handleSendResult(ActivityThread.java:3205)
05-02 17:33:17.540: E/WindowManager(20087):     at android.app.ActivityThread.access$1100(ActivityThread.java:138)
05-02 17:33:17.540: E/WindowManager(20087):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1255)
05-02 17:33:17.540: E/WindowManager(20087):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-02 17:33:17.540: E/WindowManager(20087):     at android.os.Looper.loop(Looper.java:213)
05-02 17:33:17.540: E/WindowManager(20087):     at android.app.ActivityThread.main(ActivityThread.java:4787)
05-02 17:33:17.540: E/WindowManager(20087):     at java.lang.reflect.Method.invokeNative(Native Method)
05-02 17:33:17.540: E/WindowManager(20087):     at java.lang.reflect.Method.invoke(Method.java:511)
05-02 17:33:17.540: E/WindowManager(20087):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
05-02 17:33:17.540: E/WindowManager(20087):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
05-02 17:33:17.540: E/WindowManager(20087):     at dalvik.system.NativeStart.main(Native Method)
Заранее спасибо за любую помощь!

Добавлено через 22 часа 48 минут
Если кому интересно:
1. Перебил библиотеку
2. Пытался AsyncTask сменить (на каком-то форуме решение было), не получилось
3. Переписал функцию с AsynkTask и все заработало)))
Магия...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2014, 14:23     Парсинг HtmlCleaner 2.8
Посмотрите здесь:

Парсинг html - Программирование Android
как парсить html таблицу?

Парсинг сайта - Программирование Android
Привет всем, тут вылезла какая то не понятная фигня... Буквально вчера все работало нормально, а сегодня перестало парсить. Суть. Я...

Парсинг+вывод - Программирование Android
Есть страница &quot;http ://meteo - liman. bl .ee/index2&quot;, необходимо её спарсить и данные вывести на экран. Парсинг: Document doc =...

Парсинг XML - Программирование Android
Нужно роспарсить XML, который приходть с http://shop.podolyany.com.ua/api/rest/products/. Наверное делаю что-то не так. Вот код, где я хочу...

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

Парсинг тегов - Программирование Android
Здравствуйте. Есть html-страница, с которой я хочу парсить текст, заключенный в теги. Подскажите, как это сделать.

Парсинг XML - Программирование Android
try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder =...

Парсинг JSON'а - Программирование Android
Здравствуйте! Недавно я на php+msql и Eclipse пробовал этот пример с сайта...

Парсинг строки - Программирование Android
Добрый день. Столкнулся с проблемой. В общем есть некая строка примерно такого содержания &quot;{xxxx=Май 2013}&quot; надо вытянуть из нее месяц...

Парсинг XML - Программирование Android
Пробую так String data = getIntent().getStringExtra(&quot;data&quot;); try { DocumentBuilderFactory factory =...

Парсинг с Selenide на AS - Программирование Android
Занимался ли кто-нибудь таким? Selenide мне нужна исключительно для парсинга и нажатия &quot;кнопок&quot; на сайте ,без автотестов. Сделал вот пример...

Парсинг строки - Программирование Android
У меня есть строка вида {el1=val1,el2=val2...eln=valn} Как её распарсить таким образом, что бы в арайлист занести только...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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