Разбор HTML с использованием Jsoup, получение исключения

0

Я хочу проанализировать HTML-страницу, чтобы получить ссылку first.jpg и установить ее ссылку на WebView, чтобы просмотреть изображение в приложении. Я использую AsyncTask. Кажется, это работает, но я встречаю исключение в блоке Try. На LogCat это просто показано ERROR PARSING ERROR (как вы можете видеть, как я выбрал в группе Catch). Но никаких объяснений о том, что вызывает исключение, нет. Код выглядит следующим образом:

@Override
    protected String doInBackground(String... params) {
        TextView prova = (TextView)findViewById(R.id.searchedName);
        Document doc;
        try {
            doc = Jsoup.connect("[url]http://www.lolking.net/summoner/euw/42997801")
                     .userAgent("Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22")
                     .timeout(3000).get();
            String icon = doc.select("img[src$=.jpg]").first().text();
            WebView summonerIcon = (WebView)findViewById(R.id.webView1);
            summonerIcon.loadUrl(icon);
        } catch (Exception e) {
            Log.e("ERROR", "PARSING ERROR");
    }
    return null;

    }
  • 0
    e.printStackTrace (); в блоке catch даст вам больше деталей
  • 0
    Помимо опубликованных ответов вы также обновляете uo doInbackground, что неправильно. Сделай это в onPostexecute
Показать ещё 3 комментария
Теги:
jsoup
parsing

5 ответов

1
Лучший ответ
String icon = doc.select("img[src$=.jpg]").first().text();

выберет текст в <img>.

Ваш код должен выглядеть следующим образом.

String icon = doc.select("img[src$=.jpg]").first().attr("src");
  • 0
    +1 да я думаю это изменение + исправление url сделает это ....
0

Вы не можете манипулировать View внутри потока, отличного от UI, - в этом случае AsyncTask. Это может вызвать проблемы:

TextView prova = (TextView)findViewById(R.id.searchedName);
...
WebView summonerIcon = (WebView)findViewById(R.id.webView1);
summonerIcon.loadUrl(icon);
0

вы даете разрешение на доступ к интернету в файле андроидного maniefest, как это, в вашем файле maniefest

0

Вы можете использовать:

Log.e("ERROR", "PARSING ERROR", e);

Для регистрации также сохраняется сообщение e.

0

connect ожидает действительный URL. Удалите String "[url]" в аргументе метода

Document doc = Jsoup.connect("http://www.lolking.net/summoner/euw/42997801")

Ещё вопросы

Сообщество Overcoder
Наверх
Меню