Android HTML Jsoup - PullRequest
       7

Android HTML Jsoup

2 голосов
/ 11 марта 2011

Я пытаюсь получить абсолютные URL-адреса для изображений с моего новостного сайта, посвященного коллажам, но пока безуспешно.Я работаю с этого сайта http://www.dcu.ie/news/index.shtml. Как видно из источника, первое изображение имеет абсолютный URL, а остальные имеют только относительные URL.Я пробовал примеры из документации Jsoups, но не могу заставить его работать.Это отображает первое изображение, а затем пустые поля для остальных.Буду признателен за любую возможную помощь. Спасибо

public class NewsActivity extends Activity {
    WebView mWebView;
    String test2 = "<html><body>";
    Document docs;
    public void main(String... args) 
        {
        try 
        {
        docs = Jsoup.connect("http://www.dcu.ie/news/index.shtml").get();
    } 
        catch (IOException e) 
        {
        e.printStackTrace();
    }
        Elements imgs = docs.select("img[src$=.jpg]");
        for (Element img : imgs) 
        {
            String url = img.toString();
            test2 = test2 + " " + url + " ";
        }
        public void onCreate(Bundle savedInstanceState) {
        main();

        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mWebView = (WebView) findViewById(R.id.webview);
        mWebView.setWebViewClient(new NewsClient());
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.getSettings().setDomStorageEnabled(true);
        mWebView.loadData(test2, "text/html", "utf-8");
    }
}

1 Ответ

1 голос
/ 13 марта 2011

Вам нужно Element#absUrl(), чтобы извлечь абсолютный URL вместо Element#toString(), чтобы получить текстовое представление всего HTML-элемента.

Elements imgs = docs.select("img[src$=.jpg]");
for (Element img : imgs) {
    String url = img.absUrl("src");
    String newImg = "<img src=\"" + url + "\"/>";
    // ...
}
...