0
如何從使用JSoup的URL中提取圖像類型?我正在解析一個html,它可以發送圖像url(使用asbUrl())。不過,我需要測試它的類型。現在它使一切變成一個.png,這對大多數類型顯然不起作用。有任何想法嗎?使用JSoup從HTML中提取圖像類型
如何從使用JSoup的URL中提取圖像類型?我正在解析一個html,它可以發送圖像url(使用asbUrl())。不過,我需要測試它的類型。現在它使一切變成一個.png,這對大多數類型顯然不起作用。有任何想法嗎?使用JSoup從HTML中提取圖像類型
首先將圖像保存在文件中。 這裏是一些代碼,可以幫助你做到這一點:
public class DownloadImages {
//The url of the website. This is just an example
private static final String webSiteURL = "http://www.supercars.net/gallery/119513/2841/5.html";
//The path of the folder that you want to save the images to
private static final String folderPath = "<FOLDER PATH>";
public static void main(String[] args) {
try {
//Connect to the website and get the html
Document doc = Jsoup.connect(webSiteURL).get();
//Get all elements with img tag ,
Elements img = doc.getElementsByTag("img");
for (Element el : img) {
//for each element get the srs url
String src = el.absUrl("src");
System.out.println("Image Found!");
System.out.println("src attribute is : "+src);
getImages(src);
}
} catch (IOException ex) {
System.err.println("There was an error");
Logger.getLogger(DownloadImages.class.getName()).log(Level.SEVERE, null, ex);
}
}
private static void getImages(String src) throws IOException {
String folder = null;
//Exctract the name of the image from the src attribute
int indexname = src.lastIndexOf("/");
if (indexname == src.length()) {
src = src.substring(1, indexname);
}
indexname = src.lastIndexOf("/");
String name = src.substring(indexname, src.length());
System.out.println(name);
//Open a URL Stream
URL url = new URL(src);
InputStream in = url.openStream();
OutputStream out = new BufferedOutputStream(new FileOutputStream(folderPath+ name));
for (int b; (b = in.read()) != -1;) {
out.write(b);
}
out.close();
in.close();
}
當你的圖像保存在磁盤上使用您可以findout分機這樣的:
String extension = FilenameUtils.getExtension("/path/to/file/image.png");
完成時,刪除文件也使用Java。
我不確定如何直接從URL採取延長
您的意思是使用el.attr(「SRC」),而不是absUrl? – Aion