java爬取指定网站的图片_用JAVA爬取指定网址上得图片

本教程展示了如何利用Java实现从指定网址抓取图片并保存到本地。通过HttpUtils工具类进行HTTP GET请求获取HTML内容,接着使用Jsoup解析HTML,提取<img>标签的src属性,最后将图片下载到指定目录。
摘要由CSDN通过智能技术生成

1.先写一个工具类HttpUtils.java:

public class HttpUtils {

public static String get(String url) {

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;

}

}

2.然后写一个主类App.java:

public class App {

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,"抓取完成");

}

});

}

}

3.然后创建如下目录:

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

4.运行程序App.java

5.得到爬

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值