簡體   English   中英

使用Jsoup進行HTML解析,但出現異常

[英]HTML Parsing using Jsoup, getting an exception

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

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

將獲取<img>標簽中的文本。

您的代碼應如下所示。

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

您可以使用:

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

為了登錄,消息e保留。

connect需要一個有效的URL 刪除方法參數中的"[url]" String

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

您不能在非UI線程(在本例中為AsyncTask內操作View 這可能引起問題:

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

您是否在android maniefest文件中授予了訪問互聯網的權限?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM