使用java开源项目Jsoup抓取远程图片
2018-07-20 来源:open-open
package com.open; import java.io.*; import java.net.URL; import java.util.logging.Level; import java.util.logging.Logger; import java.io.*; import java.util.logging.Level; import java.util.logging.Logger; import org.jsoup.Jsoup; import org.jsoup.nodes.Attributes; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import java.io.IOException; import java.net.URL; public class DownloadImages { //The url of the website. This is just an example private static final String webSiteURL = "http://www.open-open.com"; //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(); } }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
最新资讯
热门推荐