【问题标题】:how to get image using html parsing with jsoup如何使用带有jsoup的html解析来获取图像
【发布时间】:2013-02-07 20:28:37
【问题描述】:

我想使用 html 解析和 jsoup 获取所有图像。 我使用下面的代码;

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

如何得到这样的解析?

【问题讨论】:

  • 我不太明白你的问题是什么。有没有可能,您只获得像 some/where/image.jpg 这样的相对 URL 而想要绝对 URL?
  • 我知道这是一个老问题,但你解决了吗?你能帮帮我吗?
  • 是的。你可以在下面看到答案。这是正确的答案
  • @SukruK 我非常需要帮助来解析带有图像的网页,但我不能单独完成。你能帮帮我吗?请通过 dellai.davide@gmail.com 与我联系谢谢!

标签: java android html-parsing jsoup


【解决方案1】:

这可能会给你你所要求的,虽然你的问题有点不清楚,所以我不能确定。

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。

【讨论】:

【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2019-12-23
    • 2014-02-06
    • 1970-01-01
    • 2011-11-19
    • 2023-03-31
    • 2018-11-19
    • 1970-01-01
    • 2012-09-14
    • 2012-11-06
    相关资源
    最近更新 更多