HTML解析使用Jsoup,获得异常

时间:2013-10-01 11:51:25

标签: java android html parsing jsoup

我想解析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;

    }

5 个答案:

答案 0 :(得分:1)

String icon = doc.select("img[src$=.jpg]").first().text();

将获取<img>代码中的文字。

您的代码应如下所示。

String icon = doc.select("img[src$=.jpg]").first().attr("src");

答案 1 :(得分:0)

您可以使用:

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

为了记录消息e成立。

答案 2 :(得分:0)

connect需要有效的URL。删除方法参数

中的"[url]" String
Document doc = Jsoup.connect("http://www.lolking.net/summoner/euw/42997801")

答案 3 :(得分:0)

您无法操纵非UI线程中的View - 在本例中为AsyncTask。 这可能会导致问题:

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

答案 4 :(得分:0)

你是否允许在android maniefest文件中访问互联网   在你的maniefest文件中像这样