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

我想解析这个网址的开头

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 路径并切断其余部分。你甚至每次都必须这样做吗?如果您在示例中仅使用来自一个站点的 URL,则可以将其存储"http://tvrehberi.hurriyet.com.tr/images"为常量,因为它永远不会改变。另一方面,如果您从许多不同的站点获取 URL,则可以按照此处所述解析您的 URL 。
无论如何,如果您分享解析 URL 的目的,我们当然可以为您提供更多帮助。

于 2013-02-08T13:19:18.210 回答