2

コラージュニュースのウェブサイトから画像の絶対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");
    }
}
4

1 に答える 1

1

HTML 要素全体のテキスト表現を取得するElement#absUrl()代わりに、絶対 URL を抽出する必要があります。Element#toString()

Elements imgs = docs.select("img[src$=.jpg]");
for (Element img : imgs) {
    String url = img.absUrl("src");
    String newImg = "<img src=\"" + url + "\"/>";
    // ...
}
于 2011-03-13T16:00:25.440 に答える