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

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

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

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

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

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

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

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

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

10
dan41k
]:->
98 / 92 / 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
]:->
98 / 92 / 19
Регистрация: 12.11.2013
Сообщений: 398
18.02.2014, 16:11 #4
хм, а стандартные Java не покатят?)
0
angryrobot
Командир зеленых роботов
348 / 285 / 54
Регистрация: 08.10.2013
Сообщений: 565
18.02.2014, 16:11 #5
Цитата Сообщение от Rube Посмотреть сообщение
Уважаемые гуру, подскажите чем быстрей и проще получить код HTML страницы. Обычной общедоступной, без авторизации.
Смотрите класс URL
Не забудьте только добавить разрешение в манифест, и не делайте получение страницы в main потоке
1
Rube
911 / 559 / 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
]:->
98 / 92 / 19
Регистрация: 12.11.2013
Сообщений: 398
24.02.2014, 23:00 #7
Java
1
2
buff.close();
uc.close();
1
Rube
911 / 559 / 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
911 / 559 / 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
]:->
98 / 92 / 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2014, 23:23

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

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

Изменение ссылок на файлы при загрузке HTML страницы
Добрый день, может кто имел опыт подмены ссылок при загрузке страницы в...


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

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

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