jsoup简单爬虫页面

本文介绍了一种利用Jsoup库从网页中抓取图片的方法。通过解析网页源代码,选择特定格式的图片链接,并下载到本地。示例代码展示了如何连接目标网址,筛选图片资源并保存。
//需要的jar包是jsoup-1.10.3.jar
//将下面的运行即可
public class JsoupDemo2 {

    public static void main(String[] args) throws IOException {
        
        String baseURL = "http:";
        Set<String> imgs = new HashSet<>(); // 储存爬取到的图片地址


            Document doc = Jsoup.connect(baseURL).get();
            // 选择png|jpg|jpeg图片,,,其实还可以选择gif,只不过要处理下
            Elements elements = doc.select("img[src~=(?i)\\.(png|jpe?g)]");
            for (Element e : elements) {
                // 替换开头为//为http://
                imgs.add(e.attr("src").replaceFirst("^//", "http://"));
            }
            
        for (String img : imgs) {
            System.out.println(img);
            try  
            {  
                URL url = new URL(img);
                URLConnection conn = url.openConnection();
                InputStream is = conn.getInputStream();
                 byte[] bs = new byte[1024];
                    // 读取到的数据长度
                    int len;
                    // 输出的文件流
                    FileOutputStream os = new FileOutputStream("F:\\jsoup\\"+new Random().nextInt(10000)+".jpg");
                    // 开始读取
                    while ((len = is.read(bs)) != -1) {
                      os.write(bs, 0, len);
                    }
                    // 完毕,关闭所有链接
                    os.close();
                    is.close();
                }catch(Exception e) {
                    e.printStackTrace();
                    }
                }
        
        

    }

}

 

转载于:https://www.cnblogs.com/liushisaonian/p/7110700.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值