Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
Fizick
0 / 0 / 0
Регистрация: 04.04.2015
Сообщений: 23
1

Получение html кода страницы

19.03.2016, 22:58. Просмотров 1082. Ответов 4
Метки нет (Все метки)

Помогите разобраться с получением html кода интернет страницы в приложении android, для последующего извлечения из неё информации.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2016, 22:58
Ответы с готовыми решениями:

Получение кода страницы
Приложение закрывается после нажатия на кнопку почему? public class...

Получение кода web страницы
Не могу получить код web страницы: runOnUiThread(new Runnable() { ...

Доступ из HTML кода страницы, загруженной в WebView, к данным приложения
Возможно ли это? В частности, мне нужно передать джаваскрипту страницы версию...

WebView. Получение исходного кода. Зависание
final WebView browser = (WebView) findViewById(R.id.webView); ...

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

4
OlegJV
103 / 103 / 28
Регистрация: 13.03.2016
Сообщений: 474
19.03.2016, 23:52 2
А в чем именно проблема?
0
Fizick
0 / 0 / 0
Регистрация: 04.04.2015
Сообщений: 23
20.03.2016, 00:03  [ТС] 3
во мне
Не знаю как написать код
0
OlegJV
103 / 103 / 28
Регистрация: 13.03.2016
Сообщений: 474
20.03.2016, 00:23 4
Лучший ответ Сообщение было отмечено Fizick как решение

Решение

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
public void getHttp(final String uri) {
 
        new AsyncTask<Void, Void, String>() {
 
            @Override
            protected String doInBackground(String... params) {
                URL url;
                HttpURLConnection urlConnect;
                String httpString = null;
                try {
                    url = new URL(uri);
                    urlConnect = (HttpURLConnection) url.openConnection();
                    urlConnect.setRequestMethod("GET");
                    urlConnect.setConnectTimeout(CONNECT_TIMEOUT);
                    urlConnect.connect();
                    InputStream is = urlConnect.getInputStream();
                    OutputStream os = new ByteArrayOutputStream();
                    byte[] buffer = new byte[1024];
                    int bufferLenth = 0;
                    while ((bufferLenth = is.read(buffer)) > 0) {
                        os.write(buffer, 0, bufferLenth);
                    }
                    httpString = os.toString();
                    is.close();
                    os.close();
                    urlConnect.disconnect();
                }
                catch (MalformedURLException me) {
 
                }
                catch (SocketTimeoutException te) {
 
                }
                catch (Exception e) {
 
                }
                return httpString;
            }
 
            @Override
            protected void onPostExecute(String httpString) {
                 // Вот твой html в виде строки, можешь парсить
            }
        }.execute(uri);
    }
1
Pablito
2812 / 2236 / 754
Регистрация: 12.05.2014
Сообщений: 7,824
Завершенные тесты: 1
20.03.2016, 12:26 5
Лучший ответ Сообщение было отмечено Fizick как решение

Решение

для начала надо в манифест добавить разрешение
XML
1
    <uses-permission android:name="android.permission.INTERNET" />
потом можно подключить библиотеку jsoup, в файле build.gradle, там где dependencies добавить строку
Java
1
    compile 'org.jsoup:jsoup:1.8.3'
упрощенный код активити получится такой
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
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
 
import org.jsoup.Connection;
import org.jsoup.Jsoup;
 
import java.io.IOException;
 
public class MainActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getHttpAsString("https://ya.ru/");
 
    }
 
    private void onHttpRequestCompleted(String httpString) {
        // обрабатыаем http строку 
    }
 
    private void getHttpAsString(final String uri) {
 
        new AsyncTask<String, Void, String>() {
            @Override
            protected String doInBackground(String... params) {
                String http = null;
                try {
                    Connection.Response response = Jsoup.connect(uri).execute();
                    http = response.body();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                return http;
            }
 
            @Override
            protected void onPostExecute(String httpString) {
                onHttpRequestCompleted(httpString);
            }
        }.execute(uri);
    }
}
2
20.03.2016, 12:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2016, 12:26

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

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

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


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

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

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