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

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

Войти
Регистрация
Восстановить пароль
 
SMTNKR
0 / 0 / 0
Регистрация: 09.12.2010
Сообщений: 30
#1

Парсинг html страницы андроид - Программирование Android

06.04.2015, 16:54. Просмотров 630. Ответов 7
Метки нет (Все метки)

Здравствуйте.

Я новичок в программировании, так что не прошу судить строго.
Вот завис на одном момента. Пишу приложение, в котором необходимо скачивать содержимое страницы и потом его разбирать.

Установил библиотеку jsoup.
Все получалось отлично, пока не дошёл до каптчи.
Всегда доставал нужные элементы страницы через getElementById и getElementsByClass.
На данный момент завис. Не могу достать ссылку на изображение каптчи, чтоб потом вывести его в ImageView.
Оно просто напросто не видит то айди, которое я указываю, выводит пустой елемент.
Пытался достать разными способами, мучусь уже пол дня. Может там защита стоит какая-то, не знаю...

Будьте добры, помогите сформировать код, чтоб достать ссылку на эту злополучную картинку каптчи.

Ниже сайт и место, откуда надо достать ссылку. Спасибо большое!

http://bash.im/add
Миниатюры
Парсинг html страницы андроид  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2015, 16:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Парсинг html страницы андроид (Программирование Android):

Парсинг HTML страницы - Программирование Android
Здравствуйте. Передо мной стоит задача выдрать данные из страницы, (время начала занятия, название предмета, аудиторию, имя преподавателя),...

Парсинг элемента HTML страницы! - Программирование Android
Нужно спарсить погоду с главной страницы mail.ru Если смотреть исходный код страницы,то видно где спрятано значение погоды: <span...

Парсинг XML на АНДРОИД - Программирование Android
Суть приложения - парсит XML файл с сервера ( извлекает значение тега <bid>). Выводит это значение в текстовое поле. В процесе отладки...

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

Парсинг HTML странцы - Программирование Android
Ув. форумчане, подскажите, пожалуйста. Я следую мануалу, но он, к сожалению, не корректно работает. Я создал layout файл и прописал туда...

jsoup, парсинг html - Программирование Android
А почему не работает такой простой код? Парсинг из инета пока не трогаем... Код: package com.example.projecta; import...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
fgtmenow
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 254
06.04.2015, 17:13 #2
если код покажешь, посмотрим чем смогу помочь.
SMTNKR
0 / 0 / 0
Регистрация: 09.12.2010
Сообщений: 30
06.04.2015, 17:18  [ТС] #3
А что тут показыввть то?
Надо сформировать корректный запрос к документу (Document doc) и достать из него нужное значение.

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
 @Override
        protected Bitmap doInBackground(String... params) {
 
            Document doc;
            Bitmap captcha;
            String url= params[0];
 
            Log.d(TAG, "url= " + url);
 
            if (isConnectingToInternet()){
                try {
                    
                    doc= Jsoup.connect(url).get();
                    captcha= BitmapFactory.decodeStream(new URL(doc.getElementById("recaptcha_challenge_image")
                            .attr("src")).openStream());
                    
                } catch (IOException e) {
                    e.printStackTrace();
                }
                catch (NullPointerException e){
                    e.printStackTrace();
                }
            }
            else {return null;}
            return captcha;
        }
fgtmenow
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 254
06.04.2015, 17:21 #4
молодец, а теперь кинь код страницы document.body() который ты получаешь с телефона
SMTNKR
0 / 0 / 0
Регистрация: 09.12.2010
Сообщений: 30
06.04.2015, 17:31  [ТС] #5
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
<body onorientationchange="update_orientation();">
    <div id="xsite-nav">
    <ul>
    <li class="current"><a href="/" class="current">bash.im</a></li>
    <li><a href="http://ithappens.me/">ithappens.me</a></li>
    <li><a href="http://zadolba.li/">zadolba.li</a></li>
    </ul>
    <br style="clear: both;">
    </div>
    <img src="http://o.hai.lolwut.it/" width="0" height="0" style="visibility: hidden; position: absolute; top: 0; left: 0;">
    <div id="body">
    <div id="header">
    <h1>bash.im&nbsp;— Цитатник&nbsp;Рунета</h1>
    </div>
    <div id="menubar" class="inside">
    <div class="submenu">
    <span class="title">Цитаты:</span>
    <div class="options">
    <span class="nowrap"><a href="/" id="menu-index">новые</a> <a href="/random">случайные</a> <a href="/best">лучшие</a> <a href="/byrating">по&nbsp;рейтингу</a></span>
    <span class="nowrap"><a href="/abyss">Бездна</a> <a href="/abysstop">топ&nbsp;Бездны</a> <a href="/abyssbest" id="menu-abyssbest">лучшее Бездны</a></span>
    <a href="/add" class="add last current">добавить</a>
    </div>
    </div>
    <div class="submenu">
    <span class="title">Прочее:</span>
    <div class="options">
    <a href="/comics" id="menu-comics">комиксы</a>
    <a href="/faq">о&nbsp;сайте</a>
    <a href="/rss">RSS</a>
    <a href="http://twitter.com/b_o_r" class="last">Twitter</a>
    </div>
    </div>
    </div>
    <h2>Добавить цитату</h2>
    <div id="add">
    <p>Отправляя цитату через эту форму, вы&nbsp;подтверждаете, что читали <a href="/eula">пользовательское соглашение</a> и&nbsp;согласны с&nbsp;ним.</p>
    <p>Правила просты:</p>
    <ol>
    <li>Цитаты принимаются только через эту форму. Другого способа прислать цитату не&nbsp;существует.</li>
    <li>Слишком длинные цитаты никогда не&nbsp;проходят модерацию.</li>
    <li>Мы никогда и&nbsp;никому не&nbsp;дадим ваш e-mail. Указывать его <b>необязательно</b>, но вы можете сделать это, если хотите оставить нам возможность связаться с вами.</li>
    <li>Не ведитесь на флешмобы. Бездна —&nbsp;не&nbsp;форум.</li>
    <li>Если таймстампы в цитате не&nbsp;несут смысловой нагрузки — смело убирайте их.</li>
    </ol>
    <form action="/add" method="post">
    <div id="form">
    <div class="field">
    <label for="email">Ваш e-mail:</label>
    <input name="email" type="text" class="t">
    </div>
    <div class="field">
    <label>Код проверки:</label>
    <div class="captcha">
    <script type="text/javascript" src="http://api.recaptcha.net/challenge?k=6LfNWM4SAAAAAEsLLUSvsPqNBWJmNKnrquQM0JM3"></script>
    <noscript>
    <iframe src="http://api.recaptcha.net/noscript?k=6LfNWM4SAAAAAEsLLUSvsPqNBWJmNKnrquQM0JM3" height="300" width="500" frameborder="0"></iframe>
    <br>
    <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
    <input type="hidden" name="recaptcha_response_field" value="manual_challenge">
    </noscript>
    </div>
    </div>
    <textarea id="quote_text" name="text" class="field" rows="20"></textarea>
    <div class="field" id="send">
    <input type="submit" value="Отправить на рассмотрение">
    <div style="clear: both;"></div>
    </div>
    </div>
    </form>
    </div>
    <div id="footer">
    <div class="counters">
fgtmenow
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 254
06.04.2015, 17:35 #6
вот тебе и ответ. попробуй в коде найти id recaptcha_challenge_image
SMTNKR
0 / 0 / 0
Регистрация: 09.12.2010
Сообщений: 30
06.04.2015, 18:08  [ТС] #7
Я в курсе, что его там нет.

Это означает, что и достать его никак нельзя?

А вообще, почитав правила на странице, заметил "Цитаты принимаются только через эту форму. Другого способа прислать цитату не существует."

А ведь по заданию мне сказано сделать в приложении возможность отправки новой цитаты.
Выходит, кто то меня пытается развести, но вот кто?)
fgtmenow
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 254
06.04.2015, 21:17 #8
тебе просто работать надо с ссылкой из iframe, вторым коннектом
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2015, 21:17
Привет! Вот еще темы с ответами:

Парсинг постов со страницы +Google - Программирование Android
Всем привет, есть задача, нужно чтобы приложение отслеживало новые посты на страницы гугл+ и заносило их в базу данных или просто в файл...

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

Получить код HTML страницы - Программирование Android
Уважаемые гуру, подскажите чем быстрей и проще получить код HTML страницы. Обычной общедоступной, без авторизации.

Получить HTML код страницы - Программирование Android
Здравствуйте, подскажите. Реально ли стать промежуточным звеном в отображении контента в webView. Т.е при переходе по URL получить код...


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

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

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