用JAVA爬取指定網址上得圖片

1.先寫一個工具類HttpUtils.java:html

public class HttpUtils {java

     public static String get(String url) {app

        try{
            URL getUrl=new URL(url);
            HttpURLConnection connection=(HttpURLConnection)getUrl.openConnection();
            connection.setRequestMethod("GET");
            connection.setRequestProperty("Accept","*/**");
            connection.setRequestProperty("User-Agent","Mozilla/4.0(compatible;MSIE 8.0;wINDOWS nt 5.1;Trident/4.0;CIBA)");
            connection.setRequestProperty("Accept-Language","zh-cn");
            connection.connect();
            BufferedReader reader=new BufferedReader(new InputStreamReader(connection.getInputStream(),"utf-8"));
            String line;
            StringBuffer result=new StringBuffer();
            while((line=reader.readLine())!=null){
                result.append(line);
            }
            reader.close();
            return result.toString();
            
        }catch(Exception e){
            e.printStackTrace();
            
        }
        return null;dom

    }
    
    
}ide

2.而後寫一個主類App.java:工具

public class App {url

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        JFrame frame=new JFrame();
        frame.setResizable(false);
        frame.setSize(425, 400);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLayout(null);
        frame.setLocationRelativeTo(null);
        JTextField jTextField=new JTextField();
        jTextField.setBounds(100,44,200,30);
        frame.add(jTextField);
        JButton jButton=new JButton("提取");
        jButton.setBounds(140,144,100,30);
        frame.add(jButton);
        frame.setVisible(true);
        jButton.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e){
                String url=jTextField.getText();
                if(url==null || url.equals("")){
                    JOptionPane.showMessageDialog(null, "請填寫抓取地址");
                    return;        
                }
                String html=HttpUtils.get(url);
                Document doc=Jsoup.parse(html);
                Elements imgs=doc.getElementsByTag("img");
                for(Element img : imgs){
                    String imgSrc=img.attr("src");
                    if(imgSrc.startsWith("//")){
                        imgSrc="http:"+imgSrc;
                        
                    }
                    try{
                        Files.copy(new URL(imgSrc).openStream(), Paths.get("e://Java爬取例程/img/"+UUID.randomUUID()+".png"));
                    }catch(MalformedURLException el){
                        el.printStackTrace();
                    }catch(IOException el){
                        el.printStackTrace();
                    }
                }
                JOptionPane.showMessageDialog(null,"抓取完成");
            }
        });
    }.net

}orm

3.而後建立以下目錄:htm

e://Java爬取例程/img/

4.運行程序App.java

5.獲得爬

相關文章
相關標籤/搜索