如何使用 Java 从 html 代码中获取图像 URL [重复]

Posted

技术标签:

【中文标题】如何使用 Java 从 html 代码中获取图像 URL [重复]【英文标题】:How to get the image URL from html code using Java [duplicate] 【发布时间】:2017-03-21 20:03:47 【问题描述】:

给出下面的示例 html。如何获取图片链接http://lis.deped.gov.ph/uis/assets/rev/2630813/images/deped-logo.gif? Just in case the image link starts in//like//uis/assets/rev/2630813/images/deped-logo.gif`我只需要在它之前添加一个字符串。

如何使用正则表达式?我不想使用 http 库。

 <div class="navbar-header"><button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#deped-uis-nav-collapse"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button><span class="navbar-brand"><img class="logo" src="https://i.stack.imgur.com/P7HKA.gif"  style="height: 20px; margin-top: -2px"></span></div>

【问题讨论】:

取决于您是否有包含大量图像的大 html 代码。在这种情况下,请使用 XML 解析器。否则,您应该使用 regex -like src="//(.*?)") 也许正则表达式可以工作? 【参考方案1】:

您可以为此使用 JSoup..

参考下面的代码..您需要添加 JSoup 库才能使其工作。

    String html = "<html>your html code goes here</html>";

    Document doc = Jsoup.parse(html);
    Elements image = doc.getElementsByTag("img");

     for (Element el : image) 
       String src = el.absUrl("src");
       System.out.println("src attribute is : "+src);
     

【讨论】:

【参考方案2】:

不需要库,使用正则表达式,因为它是一个简单的操作,你的程序应该尽可能轻量级

类似:

src="//(.*?)"

然后,将 Java String replaceAll(String regex, String replacement) 与您重建的字符串一起使用。

【讨论】:

以上是关于如何使用 Java 从 html 代码中获取图像 URL [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 HTML 中获取加密的图像

Qt 和 Android - 从图库中的图像获取路径

我如何从打印机“扫描仪”获取图像 [关闭]

如何使用正则表达式从 html 字符串中获取图像 url

如何编写从物理扫描仪设备扫描图像的 java 代码? [关闭]

如何从 html 图像中获取 base64 编码数据