温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用Java如何爬虫抓取图片并保存

发布时间:2021-04-09 15:45:03 来源:亿速云 阅读:230 作者:Leah 栏目:编程语言

这期内容当中小编将会给大家带来有关使用Java如何爬虫抓取图片并保存,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

import java.io.BufferedReader; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; /*  * 网络爬虫取数据  *  * */ public class JianDan {   public static String GetUrl(String inUrl){     StringBuilder sb = new StringBuilder();     try {       URL url =new URL(inUrl);       BufferedReader reader =new BufferedReader(new InputStreamReader(url.openStream()));       String temp="";       while((temp=reader.readLine())!=null){         //System.out.println(temp);         sb.append(temp);       }     } catch (MalformedURLException e) {       // TODO 自动生成的 catch 块       e.printStackTrace();     } catch (IOException e) {       // TODO 自动生成的 catch 块       e.printStackTrace();     }     return sb.toString();   }   public static List<String> GetMatcher(String str,String url){     List<String> result = new ArrayList<String>();     Pattern p =Pattern.compile(url);//获取网页地址     Matcher m =p.matcher(str);     while(m.find()){       //System.out.println(m.group(1));       result.add(m.group(1));     }     return result;   }   public static void main(String args[]){     String str=GetUrl("http://www.163.com");     List<String> ouput =GetMatcher(str,"src=\"([\\w\\s./:]+?)\"");     for(String temp:ouput){       //System.out.println(ouput.get(0));       System.out.println(temp);     }     String aurl=ouput.get(0);      // 构造URL     URL url;     try {       url = new URL(aurl);        // 打开URL连接       URLConnection con = (URLConnection)url.openConnection();        // 得到URL的输入流       InputStream input = con.getInputStream();       // 设置数据缓冲       byte[] bs = new byte[1024 * 2];       // 读取到的数据长度       int len;       // 输出的文件流保存图片至本地       OutputStream os = new FileOutputStream("a.png");       while ((len = input.read(bs)) != -1) {       os.write(bs, 0, len);       }       os.close();       input.close();     } catch (MalformedURLException e) {       // TODO 自动生成的 catch 块       e.printStackTrace();     } catch (IOException e) {       // TODO 自动生成的 catch 块       e.printStackTrace();     }   } }

运行输出:

使用Java如何爬虫抓取图片并保存

上述就是小编为大家分享的使用Java如何爬虫抓取图片并保存了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI