Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
Rube
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
1

Получить код HTML страницы

18.02.2014, 16:04. Просмотров 4553. Ответов 10
Метки нет (Все метки)

Уважаемые гуру, подскажите чем быстрей и проще получить код HTML страницы. Обычной общедоступной, без авторизации.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2014, 16:04
Ответы с готовыми решениями:

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

Не получается прочитать html код страницы
Не понимаю почему не работает данный код. Перепробовал уже множество вариантов, не читает html код...

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

Парсинг html страницы андроид
Здравствуйте. Я новичок в программировании, так что не прошу судить строго. Вот завис на одном...

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

10
dan41k
]:->
99 / 93 / 19
Регистрация: 12.11.2013
Сообщений: 398
18.02.2014, 16:10 2
Java
1
2
3
URL pageURL = new URL(pageAddress);
        URLConnection uc = pageURL.openConnection();
BufferedReader buff = new BufferedReader(new InputStreamReader(uc.getInputStream()));
1
NiRamz
211 / 211 / 33
Регистрация: 26.12.2010
Сообщений: 691
18.02.2014, 16:10 3
Java
1
2
3
4
5
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet("http://mysite.com");
HttpResponse response = httpclient.execute(httpget);
     HttpEntity httpEntity =response.getEntity();
     String line = EntityUtils.toString(httpEntity, "UTF-8");
1
dan41k
]:->
99 / 93 / 19
Регистрация: 12.11.2013
Сообщений: 398
18.02.2014, 16:11 4
хм, а стандартные Java не покатят?)
0
18.02.2014, 16:11
angryrobot
Командир зеленых роботов
349 / 286 / 54
Регистрация: 08.10.2013
Сообщений: 569
18.02.2014, 16:11 5
Цитата Сообщение от Rube Посмотреть сообщение
Уважаемые гуру, подскажите чем быстрей и проще получить код HTML страницы. Обычной общедоступной, без авторизации.
Смотрите класс URL
Не забудьте только добавить разрешение в манифест, и не делайте получение страницы в main потоке
1
Rube
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
24.02.2014, 22:16  [ТС] 6
Вот набросал, вроде работает, посмотрите, замечания может какие есть?
Кликните здесь для просмотра всего текста
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
public class MyActivity extends Activity {
    RequestTask htm;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);
    }   
    
    public void Clickme(View v) throws Exception {
        final TextView textView = (TextView) findViewById(R.id.textView1);
        htm = new RequestTask();
        htm.execute("http://www.cyberforum.ru/android-dev/");       
        textView.setText(htm.get());
    }
        
    class RequestTask extends AsyncTask<String, String, String>{    
        @Override
        protected String doInBackground(String... url) {
            StringBuilder sb = new StringBuilder();
            try {
                URL pageURL = new URL(url[0]);
                String inputLine;
                URLConnection uc = pageURL.openConnection();
                BufferedReader buff = new BufferedReader(new InputStreamReader(uc.getInputStream()));
                while ((inputLine = buff.readLine()) != null) {
                    sb.append(inputLine);
                    } 
                }
            catch (Exception e) {
            }
            return sb.toString();
        }
    }
}
0
dan41k
]:->
99 / 93 / 19
Регистрация: 12.11.2013
Сообщений: 398
24.02.2014, 23:00 7
Java
1
2
buff.close();
uc.close();
1
Rube
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
25.02.2014, 10:49  [ТС] 8
dan41k, Ага понял, очистить память нужно.
В дальнейшем мне надо отпарсить код страницы, но дело вот в чем, предполагаю получать html с нескольких страниц (т.е. запускать htm.execute в цикле, с разными параметрами). Так вот где лучше парсить, в RequestTask или в методе Clickme? Или сразу в sb.append(inputLine)?
0
NiRamz
211 / 211 / 33
Регистрация: 26.12.2010
Сообщений: 691
25.02.2014, 10:51 9
в RequestTask переопределите метод onPostExecute и там парсите.
1
Rube
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
25.02.2014, 19:00  [ТС] 10
dan41k, uc.close(); The method close() is undefined for the type URLConnection.
Что не так?
0
dan41k
]:->
99 / 93 / 19
Регистрация: 12.11.2013
Сообщений: 398
25.02.2014, 23:23 11
Цитата Сообщение от Rube Посмотреть сообщение
dan41k, uc.close(); The method close() is undefined for the type URLConnection.
Что не так?
есть подозрение, что я ошибся)) В UrlConnection нет такого метода. Тогда закрывайте только поток BufferedReader.
0
25.02.2014, 23:23
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2014, 23:23

Получение html кода страницы
Помогите разобраться с получением html кода интернет страницы в приложении android, для...

Отобразить оффлайн страницы html
Здравствуйте! Есть html страницы надо их отобразить в Android Studio. Не подскажете как это...

Получить код html-страницы
Нужно через C++ получить код html-страницы по http/https.


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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