从WebPage程序获取所有图像| Java的

Phi*_*hil 6 java image extract

目前我需要一个给出URL的程序,返回网页上所有图像的列表.

即:

logo.png gallery1.jpg test.gif

在我尝试编写代码之前是否有可用的开源软件?

语言应该是java.谢谢Philip

Bal*_*usC 12

只需使用一个简单的HTML解析器,如jTidy,然后按标签名称获取所有元素 img,然后收集src每个元素List<String>或者可能的属性List<URI>.

您可以获取InputStreamURL使用URL#openStream(),然后将其提供给您想要使用任何HTML解析器.这是一个启动示例:

InputStream input = new URL("http://www.stackoverflow.com").openStream();
Document document = new Tidy().parseDOM(input, null);
NodeList imgs = document.getElementsByTagName("img");
List<String> srcs = new ArrayList<String>();

for (int i = 0; i < imgs.getLength(); i++) {
    srcs.add(imgs.item(i).getAttributes().getNamedItem("src").getNodeValue());
}

for (String src: srcs) {
    System.out.println(src);
}
Run Code Online (Sandbox Code Playgroud)

但我必须承认,Bozho建议的HtmlUnit确实看起来更好.


Boz*_*zho 10

HtmlUnitHtmlPage.getElementsByTagName("img"),可能适合你.

(阅读简短的入门指南,了解如何获取正确的HtmlPage对象)