0

jsoupでhtml解析を使用してすべての画像を取得したい。私は以下のコードを使用します;

Elements images = doc.select("img[src~=(?i)\\.(jpe?g)]");
        for (Element image : images) {

            //System.out.println("\nsrc : " + image.attr("src"));
            arrImageItem.add(image.attr("src"));

        }

このメソッドをすべての画像で解析しますが、このURLを解析したい

http://tvrehberi.hurriyet.com.tr/images/742/403742.jpg

このURLの始まりを解析したい

http://tvrehberi.hurriyet.com.tr/images .... .jpg

このように解析する方法は?

4

2 に答える 2

0

あなたの質問は少し不明確ですが、これはおそらくあなたが求めるものをあなたに与えるでしょう、それで私は確信が持てません。

public static void main(String args[]){

    Document doc = null;
    String url = "http://tvrehberi.hurriyet.com.tr";
    try {
        doc = Jsoup.connect(url).get();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    for (Element e : doc.select("img[src~=(?i)\\.(jpe?g)]")) {
        if(e.attr("src").startsWith("http://tvrehberi.hurriyet.com.tr/images")){
            System.out.println(e.attr("src"));
        }
    }
}

したがって、これはあまり「クリーンな」ソリューションではないかもしれませんが、ifステートメントは、サーバー上の/images/ディレクトリからの画像URLのみを出力するようにします。

于 2013-02-07T20:48:21.447 に答える
0

私が正しく理解していれば、特定のポイントまでのURLパスを取得し、残りを切り取りたいと思います。あなたも毎回それをしなければなりませんか?例で1つのサイトのURLのみを使用している場合は、"http://tvrehberi.hurriyet.com.tr/images"変更されないため、定数として保存できます。一方、多くの異なるサイトからURLを取得する場合は、ここで説明するようにURLを解析できます。
とにかく、URLを解析する目的を共有していれば、私たちは確かにあなたをもっと助けることができます。

于 2013-02-08T13:19:18.210 に答える