• 大小: 22KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: 其他
  • 标签: 爬虫  

资源简介

利用jsoup抓取网站图片并下载,保存到本地文件夹。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

资源截图

代码片段和文件信息

package getPicture;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

/**
 *  下载图片Demo
 *  2017-2-10
 *  LingDu
 */
public class GetPicture {

    /**
     * 5、下载图片
     * 到nipic网站下载图片
     * 传入图片下载地址即可下载到images目录下
     */
    public static void downloadPic(String myUrl) {
        if (!myUrl.equals(““)) {
            try {
                URL url = new URL(myUrl);
                BufferedInputStream bis = new BufferedInputStream(url.openConnection().getInputStream());
                byte myArray[] = new byte[1024*1024];
                int len = 0;
                String fileName = getNameFromUrl(myUrl);
                //System.out.println(fileName);
                BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(“images/“ + fileName));
                while((len = bis.read(myArray)) != -1){
                    bos.write(myArray 0 len); 
                }
                bos.flush();
                bos.close();
                bis.close();
                System.out.println(“图片:“ + fileName +“ ------>下载成功!“);
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }


    /**
     * 4、将图片下载地址进行切割,得到文件名
     * 根据传入的url地址,获取文件的名称
     * @param url
     * @return name
     */
    public static String getNameFromUrl(String url) {
        //找到最后一个 “/“ 的位置
        int beginIndex = url.lastIndexOf(“/“);
        //截取 “/“ 后面的内容
        String name = url.substring(beginIndex + 1);
        return name;
    }



    /**
     * 3、通过子页面链接(图片网页)获取到图片下载地址
     * “http://www.nipic.com/show/16519633.html“
     * @return downloadPicUrl
     */
    public static List  getPicDownUrlFromAllPicPage(String url) {
        //保存图片的下载地址
        List list = new ArrayList();
        try {
            //通过传入一个url打开一个链接并且获取内容,将内容存到文件中
            Document doc = Jsoup.connect(url).get();
            //如果文档不为空    &&    页面中没有出现  “唔,未找到任何页面!!!” 则认为该页面是个正常页面
            if (doc != null && !Jsoup.connect(url).get().html().contains(“唔,未找到任何页面!!!“)) {
                //获取到网页的唯一的id元素
                Element element = doc.getElementById(“J_worksImg“);
                //判断元素不为空 && src里面的内容不为空
                if (element != null && !element.attr(“src“).equals(““)) {
                    //将图片地址添加到集合中
                    list.add(element.attr(“src“));
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        //http://pic120.nipic.com/file/2017011

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-04-25 17:41  getPicture\
     目录           0  2018-04-25 16:01  getPicture\build\
     文件          60  2018-04-25 16:01  getPicture\build\built-jar.properties
     目录           0  2018-04-25 17:04  getPicture\build\classes\
     文件           0  2018-04-25 17:04  getPicture\build\classes\.netbeans_automatic_build
     文件           0  2018-04-25 17:04  getPicture\build\classes\.netbeans_update_resources
     目录           0  2018-04-25 19:06  getPicture\build\classes\getpicture\
     文件        5559  2018-04-25 19:06  getPicture\build\classes\getpicture\GetPicture.class
     文件          52  2018-04-25 17:04  getPicture\build\classes\getpicture\GetPicture.rs
     目录           0  2018-04-28 22:41  getPicture\build\empty\
     目录           0  2018-04-25 16:01  getPicture\build\generated-sources\
     目录           0  2018-04-28 22:41  getPicture\build\generated-sources\ap-source-output\
     文件        3615  2018-04-25 15:57  getPicture\build.xml
     文件          85  2018-04-25 15:57  getPicture\manifest.mf
     目录           0  2018-04-25 15:57  getPicture\nbproject\
     文件       79885  2018-04-25 15:57  getPicture\nbproject\build-impl.xml
     文件         475  2018-04-25 15:57  getPicture\nbproject\genfiles.properties
     目录           0  2018-04-25 19:06  getPicture\nbproject\private\
     文件         111  2018-04-25 15:57  getPicture\nbproject\private\private.properties
     文件         440  2018-04-27 22:17  getPicture\nbproject\private\private.xml
     文件        2577  2018-04-25 16:02  getPicture\nbproject\project.properties
     文件         518  2018-04-25 15:57  getPicture\nbproject\project.xml
     目录           0  2018-04-25 15:57  getPicture\src\
     目录           0  2018-04-25 17:40  getPicture\src\getpicture\
     文件        6886  2018-04-25 19:06  getPicture\src\getpicture\GetPicture.java
     目录           0  2018-04-28 22:41  getPicture\src\getpicture\images\
     目录           0  2018-04-28 22:41  getPicture\test\

评论

共有 条评论