热门标签

,

Vieu四代商业主题

高扩展、安全、稳定、响应式布局多功能模板。

¥69 现在购买

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系!

摘要:此java程序可以批量下载保存一个网站的图片

今天分享一个因自己需要,而写的一个java小程序,可以自定义抓取并下载一个网站的图片资源,当然一定得是返回一个图片地址。
注意!注意!注意!注意!注意!

重要的事情说55555遍,切记不要频繁使用,有的站点都是会对某个IP进行流量限制等,你访问的次数一多,就不会给你返回数据。此时程序也会报错

使用时,新建包名为saveimg,新建类名DownloadImg ,相信这点还是会的!
此代码有一定的风险性,仅作为技术交流,因此加密一段代码,请回复刷新后查看

package saveimg;
import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
/**
 *
 * @author 1059767677@qq.com
 * @version 2019年3月21日下午1:14:27
 */
public class DownloadImg {
    static List imgUrlList = new ArrayList();
    public static void main(String[] args) throws Exception {
        DownloadImg dmg = new DownloadImg();
        String location = dmg.getImgUrl();
        //设置下载的次数
        for (int i = 0; i < 20; i++) {
            if (checkImgUrl(location, imgUrlList)) {
                imgUrlList.add(location);
                System.out.println("第" + i + "张:" + location);
                // 保存到指定地址,命名规则为数字递增
                dmg.saveImg(location, "E:\\img\\" + i + ".jpg");
            } else {
                continue;
            }
            location = dmg.getImgUrl();
        }
        //System.out.println("imgUrlList.num====" + imgUrlList.size());
    }
    private String getImgUrl() throws Exception {
        // 设置要访问的图片地址,这个地址是类似于接口,如果一个地址只有一张图片,那么也不用这么麻烦了对不对
        String url = "http://api.laoguoba.com/random/api.php?id=5";
        URL serverUrl = new URL(url);
        HttpURLConnection conn = (HttpURLConnection) serverUrl.openConnection();
        conn.setRequestMethod("GET");
        // 必须设置false,否则会自动redirect到Location的地址
        conn.setInstanceFollowRedirects(false);
        conn.addRequestProperty("Accept-Charset", "UTF-8;");
        conn.connect();
        String location = conn.getHeaderField("Location");
        return location;
    }
    /**
     *
     * @param ImgUrl       图片路径
     * @param imgUrlList_t 集合
     * @return
     */
    private static Boolean checkImgUrl(String ImgUrl, List<String> imgUrlList_t) {
        if (imgUrlList_t.isEmpty()) {
            return true;
        } else {
            for (String temp : imgUrlList_t) {
                return !(ImgUrl.equals(temp));
            }
        }
        return false;
    }
抱歉,隐藏内容 回复 后刷新可见
    }
}

标签:

未经允许不得转载:作者:锅巴网络, 转载或复制请以 超链接形式 并注明出处 锅巴资源
原文地址:《java程序爬虫抓取下载不重复图片》 发布于2019-03-21

分享到:
赞(3) 打赏

评论 4

7 + 6 =
  1. #1

    向大佬学习

    胡青铜11个月前 (03-21)回复
  2. #2

    写的很好,很喜欢

    文娱帝国11个月前 (03-30)回复
  3. #3

    :hanx: :hanx: 棒棒的

    护肤百科网9个月前 (05-17)回复
java程序爬虫抓取下载不重复图片

长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.5主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册